导入数据时,标准类别不存在时新增

This commit is contained in:
zhaokaiyao@91isoft.com
2021-09-13 09:06:47 +08:00
parent fe072412d9
commit 200adfcc65
@@ -2,6 +2,7 @@ package com.adc.da.slrs.ImportExcelDatas.service.impl;
import com.adc.da.att.service.IAttFileEOService; import com.adc.da.att.service.IAttFileEOService;
import com.adc.da.att.vo.AttFileVo; import com.adc.da.att.vo.AttFileVo;
import com.adc.da.http.Result;
import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao; import com.adc.da.slrs.ImportExcelDatas.dao.ImportExcelDao;
import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto; import com.adc.da.slrs.ImportExcelDatas.entity.ImportDto;
import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService; import com.adc.da.slrs.ImportExcelDatas.service.ImportExcelService;
@@ -9,6 +10,10 @@ import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService; import com.adc.da.slrs.sarBussionessStand.service.ISarBussionessStandService;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService;
import com.adc.da.sys.dao.DicTypeEODao;
import com.adc.da.sys.entity.DicTypeEO;
import com.adc.da.sys.entity.DictionaryEO;
import com.adc.da.sys.service.impl.DicTypeEOServiceImpl;
import com.adc.da.util.UUIDUtils; import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.InitStandAttrUtil; import com.adc.da.utils.util.InitStandAttrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -269,11 +274,16 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
@Autowired @Autowired
private ISarStandardsInfoService sarStandardsInfoService; private ISarStandardsInfoService sarStandardsInfoService;
@Autowired
private DicTypeEOServiceImpl dicTypeEOService;
@Autowired @Autowired
private ISarBussionessStandService sarBussionessStandService; private ISarBussionessStandService sarBussionessStandService;
@Override @Override
public List<ImportDto> storageExclData(Map<String, List<ImportDto>> importListMap) { public List<ImportDto> storageExclData(Map<String, List<ImportDto>> importListMap) {
error = importListMap.get("error"); error = importListMap.get("error");
/** /**
* 初始化国内外标准属性字段 * 初始化国内外标准属性字段
@@ -292,8 +302,8 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
String standID = UUIDUtils.randomUUID20(); String standID = UUIDUtils.randomUUID20();
//使用初始化的属性字段映射 获得key值,value为"" //使用初始化的属性字段映射 获得key值,value为""
Map<String, String> mapFilter = standAttrMap; Map<String, String> mapField = standAttrMap;
SarStandardsInfo ForeignEO = parseImportDtoToStandardsInfo(item,mapFilter, standID); SarStandardsInfo ForeignEO = parseImportDtoToStandardsInfo(item,mapField, standID);
if (ForeignEO != null) { if (ForeignEO != null) {
ForeignEO.setValidFlag("0"); ForeignEO.setValidFlag("0");
@@ -347,8 +357,8 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
importListMap.get("GNBZ").forEach(item -> { importListMap.get("GNBZ").forEach(item -> {
String standID = UUIDUtils.randomUUID20(); String standID = UUIDUtils.randomUUID20();
//使用初始化的属性字段映射 获得key值,value为"" //使用初始化的属性字段映射 获得key值,value为""
Map<String, String> mapStandFiled = standAttrMap; Map<String, String> mapStandField = standAttrMap;
SarStandardsInfo InlandEO = parseImportDtoToStandardsInfo(item, mapStandFiled,standID); SarStandardsInfo InlandEO = parseImportDtoToStandardsInfo(item, mapStandField,standID);
if (InlandEO != null) { if (InlandEO != null) {
@@ -450,11 +460,11 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
/** /**
* 整理为标准信息实体 * 整理为标准信息实体
* @param importDto * @param importDto
* @param filedMap 属性字段 * @param fieldMap 属性字段
* @param standId * @param standId
* @return * @return
*/ */
public SarStandardsInfo parseImportDtoToStandardsInfo(ImportDto importDto,Map<String,String> filedMap, String standId) { public SarStandardsInfo parseImportDtoToStandardsInfo(ImportDto importDto,Map<String,String> fieldMap, String standId) {
HashMap<String, String> analysis = analysisStandId(importDto); HashMap<String, String> analysis = analysisStandId(importDto);
@@ -488,8 +498,8 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
* 标准属性字段 * 标准属性字段
*/ */
filedMap.put("DTBJH", importDto.getReplaceId()); fieldMap.put("DTBJH", importDto.getReplaceId());
filedMap.put("SSRQ", importDto.getImplementedTime().substring(0, 19)); fieldMap.put("SSRQ", importDto.getImplementedTime().substring(0, 19));
/** /**
@@ -512,9 +522,9 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
AttFileVo fileInfo = attFileEOService.saveFileInfo(file); AttFileVo fileInfo = attFileEOService.saveFileInfo(file);
if (importDto.getImplementedTime() != null) { if (importDto.getImplementedTime() != null) {
filedMap.put("FBGJBD", fileInfo.getAttId()); fieldMap.put("FBGJBD", fileInfo.getAttId());
} else { } else {
filedMap.put("GLWJ", fileInfo.getAttId()); fieldMap.put("GLWJ", fileInfo.getAttId());
} }
} else { } else {
@@ -531,7 +541,7 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
} }
// attrInfoMap.put("") // attrInfoMap.put("")
Gson gson = new Gson(); Gson gson = new Gson();
String attrInfoJson = gson.toJson(filedMap); String attrInfoJson = gson.toJson(fieldMap);
sarStandardsInfoEO.setSarStandAttrEOStr(attrInfoJson);//新增修改时属性表信息 sarStandardsInfoEO.setSarStandAttrEOStr(attrInfoJson);//新增修改时属性表信息
@@ -546,7 +556,7 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
* @param standId * @param standId
* @return * @return
*/ */
public SarBussionessStand parseImportDtoToSarBussionessStand(ImportDto importDto,Map<String,String> mapFiled, String standId) { public SarBussionessStand parseImportDtoToSarBussionessStand(ImportDto importDto,Map<String,String> fieldMap, String standId) {
HashMap<String, String> analysis = analysisStandId(importDto); HashMap<String, String> analysis = analysisStandId(importDto);
@@ -592,10 +602,10 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
if (importDto.getImplementedTime()!=null && importDto.getImplementedTime()!=""){ if (importDto.getImplementedTime()!=null && importDto.getImplementedTime()!=""){
mapFiled.put("FBGBUSS",fileInfo.getAttId()); fieldMap.put("FBGBUSS",fileInfo.getAttId());
}else { }else {
mapFiled.put("GLWJBUSS",fileInfo.getAttId()); fieldMap.put("GLWJBUSS",fileInfo.getAttId());
} }
@@ -614,7 +624,7 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
} }
String attrInfoJson = new Gson().toJson(mapFiled); String attrInfoJson = new Gson().toJson(fieldMap);
sarBussionessStand.setSarStandAttrEOStr(attrInfoJson);//新增修改时属性表信息 sarBussionessStand.setSarStandAttrEOStr(attrInfoJson);//新增修改时属性表信息
return sarBussionessStand; return sarBussionessStand;
} }
@@ -623,7 +633,11 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
} }
/**
* 解析标准号,标准类别不存在则新增
* @param importDto
* @return
*/
public HashMap<String, String> analysisStandId(ImportDto importDto) { public HashMap<String, String> analysisStandId(ImportDto importDto) {
HashMap<String, String> result = new HashMap<>(); HashMap<String, String> result = new HashMap<>();
if (importDto.getStandId() == null) { if (importDto.getStandId() == null) {
@@ -645,6 +659,7 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
String year = ""; String year = "";
String[] split = importDto.getStandId().split("[\\u2014\\u002d\\s]");//以空格或'-'或'—'分割 String[] split = importDto.getStandId().split("[\\u2014\\u002d\\s]");//以空格或'-'或'—'分割
// 多种格式(╯‵□′)╯︵┻━┻ Q-FL T015-2021 Q/ FL T015-2021 Q/FL T015-2021 // 多种格式(╯‵□′)╯︵┻━┻ Q-FL T015-2021 Q/ FL T015-2021 Q/FL T015-2021
int length = split.length; int length = split.length;
number = split[length - 2]; number = split[length - 2];
@@ -656,10 +671,36 @@ public class ImportExcelServiceImpl extends ServiceImpl<ImportExcelDao, ImportDt
result.put("sort", sort); result.put("sort", sort);
result.put("number", number); result.put("number", number);
result.put("year", year); result.put("year", year);
//标准类别不存在,新增标准类别
List<DicTypeEO> isExist = dicTypeEOService.getTypeIdByDicIdAndTypeName("JKSADFH564S", null, sort, null);
if (isExist == null || isExist.isEmpty() || isExist.size()==0){
DicTypeEO dicTypeVO = new DicTypeEO();
dicTypeVO.setId(null);
dicTypeVO.setDicId("JKSADFH564S");
dicTypeVO.setDicTypeCode(sort);
dicTypeVO.setDicTypeName(sort);
dicTypeVO.setShowIndex(1);
Integer dicTypeEO = dicTypeEOService.saveDictype(dicTypeVO);
if (dicTypeEO>0){
importDto.setErrorStr("标准类别不存在,已新增");
}else {
importDto.setErrorStr("标准类别不存在,新增失败");
}
error.add(importDto);
}
return result; return result;
} }
} }
} }