From b37c85e07919d6bb740ac85b4c398040d01de5e5 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期五, 13 十月 2023 11:33:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 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