优化企业标准导入增加对Excel文档重复编号和名称的校验

This commit is contained in:
SUNJIABIN
2023-04-05 14:20:41 +08:00
parent 1bbc5df6c7
commit 1273b380f2
@@ -2775,6 +2775,22 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
} }
} }
} }
//校验Excel中企标编号和企标名称同时存在重复
Map<String,SarBussStandAttrInfoExecl> map = new HashMap<>();
int count = 2;
for (String str : jsonList) {
count++;
SarBussStandAttrInfoExecl se = com.alibaba.fastjson.JSONObject.parseObject(str,SarBussStandAttrInfoExecl.class);
if(ObjectUtils.isNotEmpty(se)){
String key = se.getStandCode()+se.getStandName();
if(map.containsKey(key)){
logger.info("导入失败,第" + count +" 行需要导入的企标标号或企标名称重复");
return Result.error("导入失败,第" + count + " 行需要导入的企标标号或企标名称重复");
}else{
map.put(key,se);
}
}
}
//入库 //入库
try { try {
for (String infoJson : jsonList) { for (String infoJson : jsonList) {
@@ -2818,6 +2834,7 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){
valIdFlag = stand.getValidFlag(); valIdFlag = stand.getValidFlag();
if (valIdFlag == 0){ if (valIdFlag == 0){
logger.info("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
} }
} }
@@ -2887,19 +2904,19 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
// sarBussionessStand.setStandCode(standCode); // sarBussionessStand.setStandCode(standCode);
// // 根据标准号判断数据是否已存在 // // 根据标准号判断数据是否已存在
// //2021年4月9日 此处检查当前是否存在standId // //2021年4月9日 此处检查当前是否存在standId
QueryWrapper<SarBussionessStand>queryWrapper = new QueryWrapper<>(); // QueryWrapper<SarBussionessStand>queryWrapper = new QueryWrapper<>();
queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode()) // queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode())
.eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName()); // .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName());
List<SarBussionessStand> list = iSarBussionessStandService.list(queryWrapper); // List<SarBussionessStand> list = iSarBussionessStandService.list(queryWrapper);
Integer valIdFlag = 0; // Integer valIdFlag = 0;
for (SarBussionessStand stand :list){ // for (SarBussionessStand stand :list){
if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){ // if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){
valIdFlag = stand.getValidFlag(); // valIdFlag = stand.getValidFlag();
if (valIdFlag == 0){ // if (valIdFlag == 0){
throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在"); // throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
} // }
} // }
} // }
//此处判断是否是带入的标准 //此处判断是否是带入的标准
if(StringUtils.isNotBlank(sarBussionessStand.getId())) { if(StringUtils.isNotBlank(sarBussionessStand.getId())) {