From df18b23b4569828d6be32fb64c80492241e1fc46 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 16 十月 2023 20:31:43 +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, 21 insertions(+), 5 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 33c8e01..3f5e3d1 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;
@@ -274,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宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+					}
 					codeAllCodeService.saveBatch(addCodeDOs);
 				}
 				mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
@@ -353,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宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
 			}
 			codeAllCodeService.saveBatch(allCodeDOList);
 //			iCodeWupinService.saveBatch(dataCBOList);
@@ -739,12 +752,14 @@
 	private String killFillChar(String s, String fillString,boolean left){
 		Integer index = 0;
 		String value = s;
+
 		if(left){
 			for (int i = 0; i < s.length(); i++) {
 				char c = s.charAt(i);
-				if((new String(new char[]{c})).equalsIgnoreCase(fillString)){
-					index = i;
+				if(!(new String(new char[]{c})).equalsIgnoreCase(fillString)){
+					break;
 				}
+				index = i;
 			}
 			if(index >0){
 				value = value.substring(index);
@@ -753,9 +768,10 @@
 			//浠庡彸寰�宸︽壘
 			for (int i = s.length()-1; i >=0; i++) {
 				char c = s.charAt(i);
-				if((new String(new char[]{c})).equalsIgnoreCase(fillString)){
-					index = i;
+				if(!(new String(new char[]{c})).equalsIgnoreCase(fillString)){
+					break;
 				}
+				index = i;
 			}
 			if(index >0){
 				value = value.substring(0,index);

--
Gitblit v1.9.3