优化企业标准导入增加对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 {
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){
valIdFlag = stand.getValidFlag();
if (valIdFlag == 0){
logger.info("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
}
}
@@ -2887,19 +2904,19 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
// sarBussionessStand.setStandCode(standCode);
// // 根据标准号判断数据是否已存在
// //2021年4月9日 此处检查当前是否存在standId
QueryWrapper<SarBussionessStand>queryWrapper = new QueryWrapper<>();
queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode())
.eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName());
List<SarBussionessStand> list = iSarBussionessStandService.list(queryWrapper);
Integer valIdFlag = 0;
for (SarBussionessStand stand :list){
if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){
valIdFlag = stand.getValidFlag();
if (valIdFlag == 0){
throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
}
}
}
// QueryWrapper<SarBussionessStand>queryWrapper = new QueryWrapper<>();
// queryWrapper.eq(sarBussionessStand.getStandCode() != null,"STAND_CODE",sarBussionessStand.getStandCode())
// .eq(sarBussionessStand.getStandName() != null,"STAND_NAME",sarBussionessStand.getStandName());
// List<SarBussionessStand> list = iSarBussionessStandService.list(queryWrapper);
// Integer valIdFlag = 0;
// for (SarBussionessStand stand :list){
// if ((list.size() ==1 && !list.get(0).getId().equals(stand.getId())) || list.size() >1){
// valIdFlag = stand.getValidFlag();
// if (valIdFlag == 0){
// throw new AdcDaBaseException("企标标准号"+ sarBussionessStand.getStandCode() +"或企标名称"+ sarBussionessStand.getStandName() +"已存在");
// }
// }
// }
//此处判断是否是带入的标准
if(StringUtils.isNotBlank(sarBussionessStand.getId())) {