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 | 26 +++++++++++++++++---------
1 files changed, 17 insertions(+), 9 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 0e4b705..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
@@ -151,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));
});
@@ -171,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);
});
@@ -273,12 +275,15 @@
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);
- if(mdmEngineService.selectIdsCounts(dataCBOList.get(0).getBtmname(),dataCBOList.stream().map(BaseModel::getId).collect(Collectors.toList()))>0){
- throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍璇风‘璁わ紒锛�");
- }
}
return codeList;
}else {
@@ -357,7 +362,10 @@
if( distinctCodeAllCOdes.size() != allCodeDOList.size() ){
throw new ServiceException("缂栫爜鏁版嵁閲嶅锛屾棤娉曚繚瀛橈紝璇锋敞鎰忥紒");
}
- if(mdmEngineService.selectIdsCounts(dataCBOList.get(0).getBtmname(),dataCBOList.stream().map(BaseModel::getId).collect(Collectors.toList()))>0){
+ 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);
--
Gitblit v1.9.3