From 5f20929a05501c5e5709f78fed9c7a890093a65f Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 13 十月 2023 18:04:51 +0800
Subject: [PATCH] 相似项查重规则-整合代码
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
index cf29925..feb0602 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java
@@ -30,6 +30,7 @@
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.starter.web.util.VciDateUtil;
import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.log.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -150,13 +151,14 @@
OsCodeFillTypeEnum.LEFT.getValue().equalsIgnoreCase(secVO.getCodeFillType()))));
}
Map<String, Double> thisUnitMaxMap = maxSerialMap.getOrDefault(serialUnitString, new HashMap<>());
+ Double maxValue=serialDb;
if(thisUnitMaxMap.containsKey(secOid)){
- Double maxValue= thisUnitMaxMap.getOrDefault(secOid,new Double(-1));
- if(maxValue>serialDb){
- serialDb=maxValue;
+ maxValue= thisUnitMaxMap.getOrDefault(secOid,new Double(-1));
+ if(maxValue<serialDb){
+ maxValue=serialDb;
}
}
- thisUnitMaxMap.put(secOid,serialDb);
+ thisUnitMaxMap.put(secOid,maxValue);
maxSerialMap.put(serialUnitString,thisUnitMaxMap);
serialUnFileStringList.add(String.valueOf(serialDb));
});
@@ -170,7 +172,8 @@
allCodeDO.setCreateCodeBtm(cbo.getBtmname());
allCodeDO.setCreateCodeOid(cbo.getOid());
allCodeDO.setSerialUnit(serialUnitString);
- allCodeDO.setUnFillSerial(serialUnFileStringList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE)));
+ String unFillSerial =serialUnFileStringList.size()==1?serialUnFileStringList.get(0)+ SERIAL_VALUE_SPACE:serialUnFileStringList.stream().collect(Collectors.joining(SERIAL_VALUE_SPACE));
+ allCodeDO.setUnFillSerial(unFillSerial);
allCodeDO.setLcStatus(cbo.getLcStatus());
allCodeDOList.add(allCodeDO);
});
@@ -272,6 +275,12 @@
if( distinctCodeAllCOdes.size() != addCodeDOs.size() ){
throw new VciBaseException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
}
+ QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+ wrapper.eq("CREATECODEBTM",addCodeDOs.get(0).getCreateCodeBtm());
+ wrapper.in("ID",addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+ if(codeAllCodeService.count(wrapper)>0){
+ throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍璇风‘璁わ紒锛�");
+ }
codeAllCodeService.saveBatch(addCodeDOs);
}
mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
@@ -351,7 +360,13 @@
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(CodeAllCode::getId))),
ArrayList::new));
if( distinctCodeAllCOdes.size() != allCodeDOList.size() ){
- throw new VciBaseException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
+ throw new ServiceException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
+ }
+ QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+ wrapper.eq("CREATECODEBTM",allCodeDOList.get(0).getCreateCodeBtm());
+ wrapper.in("ID",allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+ if(codeAllCodeService.count(wrapper)>0){
+ throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍璇风‘璁わ紒锛�");
}
codeAllCodeService.saveBatch(allCodeDOList);
// iCodeWupinService.saveBatch(dataCBOList);
--
Gitblit v1.9.3