From a311e004cb184faa161c8ac35725cac72e0f92f3 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 17 十月 2023 15:41: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/UniversalInterfaceImpl.java    |   20 ++--
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java       |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java |   44 ++++++++
 Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/data/data.xml                           |  195 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 247 insertions(+), 14 deletions(-)

diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java
index a9b9de8..515b6b9 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java
@@ -5,8 +5,6 @@
 
 import org.apache.commons.beanutils.ConvertUtils;
 import org.apache.commons.beanutils.PropertyUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.poi.ss.formula.functions.T;
 import java.lang.reflect.Field;
 import java.lang.reflect.Type;
 import java.text.ParseException;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/data/data.xml b/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/data/data.xml
new file mode 100644
index 0000000..f19dd8c
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/data/data.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mdm modelcode="wl" time="2023-10-15 10:14:48" uuid="20231015101448" state="3">
+    <codeinfo>
+        <typecode>180101</typecode>
+        <wlid>44822D85-C496-37FB-1734-24AE2CD17628</wlid>
+        <wlcode>B0203104500</wlcode>
+        <desc>铻烘爴|GB/T 5789-1986|M10脳80|8.8|閽A鎴朆鍨媩姘у寲|Ct.O</desc>
+        <fields>
+            <field>
+                <name>浼佷笟缂栫爜</name>
+                <value>B0203104500</value>
+            </field>
+            <field>
+                <name>鎵�灞炲垎绫荤紪鐮�</name>
+                <value>180101</value>
+            </field>
+            <field>
+                <name>闀挎弿杩�</name>
+                <value>铻烘爴|GB/T 5789-1986|M10脳80|8.8|閽A鎴朆鍨媩姘у寲|Ct.O</value>
+            </field>
+            <field>
+                <name>鐭弿杩�</name>
+                <value></value>
+            </field>
+            <field>
+                <name>闆嗗洟鍒嗙被浠g爜</name>
+                <value>34151102</value>
+            </field>
+            <field>
+                <name>闆嗗洟鍒嗙被鍚嶇О</name>
+                <value>铻烘爴</value>
+            </field>
+            <field>
+                <name>鎵�灞炲崟浣�</name>
+                <value>涓浗鍖楁柟杞﹁締鐮旂┒鎵�</value>
+            </field>
+            <field>
+                <name>鐗╄祫鍚嶇О</name>
+                <value>鍏娉曞叞闈㈣灪鏍�-鍔犲ぇ绯诲垪-B绾�</value>
+            </field>
+            <field>
+                <name>鐗╄祫绠�绉�</name>
+                <value>铻烘爴</value>
+            </field>
+            <field>
+                <name>鐗╄祫鍒悕</name>
+                <value></value>
+            </field>
+            <field>
+                <name>鐗规畩瑕佹眰</name>
+                <value>Ct.O</value>
+            </field>
+            <field>
+                <name>鐢宠璇存槑</name>
+                <value>TT--Ct.O-B0203104500</value>
+            </field>
+            <field>
+                <name>璁¢噺鍗曚綅</name>
+                <value>浠�(浠�)</value>
+            </field>
+            <field>
+                <name>瀵嗙骇</name>
+                <value>闈炴秹瀵�(闈炴秹瀵�)</value>
+            </field>
+            <field>
+                <name>鏉愯川</name>
+                <value>閽�</value>
+            </field>
+            <field>
+                <name>瑙勬牸</name>
+                <value>M10脳80</value>
+            </field>
+            <field>
+                <name>鐗屽彿</name>
+                <value></value>
+            </field>
+            <field>
+                <name>鎬ц兘绛夌骇</name>
+                <value>8.8</value>
+            </field>
+            <field>
+                <name>琛ㄩ潰澶勭悊</name>
+                <value>姘у寲</value>
+            </field>
+            <field>
+                <name>浜у搧绛夌骇</name>
+                <value>A鎴朆鍨�</value>
+            </field>
+            <field>
+                <name>闆嗗洟鐮�</name>
+                <value>200181516</value>
+            </field>
+            <field>
+                <name>浜у搧鏍囧噯鍙�</name>
+                <value>GB/T 5789-1986</value>
+            </field>
+        </fields>
+    </codeinfo>
+    <codeinfo>
+        <typecode>180101</typecode>
+        <wlid>59988666-C390-0BEF-B415-84FAAE76DF7F</wlid>
+        <wlcode>B0203104202</wlcode>
+        <desc>铻烘爴|GB/T 5789-1986|M10脳60|12.9|閽A|姘у寲|Ct.O</desc>
+        <fields>
+            <field>
+                <name>浼佷笟缂栫爜</name>
+                <value>B0203104202</value>
+            </field>
+            <field>
+                <name>鎵�灞炲垎绫荤紪鐮�</name>
+                <value>180101</value>
+            </field>
+            <field>
+                <name>闀挎弿杩�</name>
+                <value>铻烘爴|GB/T 5789-1986|M10脳60|12.9|閽A|姘у寲|Ct.O</value>
+            </field>
+            <field>
+                <name>鐭弿杩�</name>
+                <value></value>
+            </field>
+            <field>
+                <name>闆嗗洟鍒嗙被浠g爜</name>
+                <value>34151102</value>
+            </field>
+            <field>
+                <name>闆嗗洟鍒嗙被鍚嶇О</name>
+                <value>铻烘爴</value>
+            </field>
+            <field>
+                <name>鎵�灞炲崟浣�</name>
+                <value>涓浗鍖楁柟杞﹁締鐮旂┒鎵�</value>
+            </field>
+            <field>
+                <name>鐗╄祫鍚嶇О</name>
+                <value>鍏娉曞叞闈㈣灪鏍�-鍔犲ぇ绯诲垪-B绾�</value>
+            </field>
+            <field>
+                <name>鐗╄祫绠�绉�</name>
+                <value>铻烘爴</value>
+            </field>
+            <field>
+                <name>鐗╄祫鍒悕</name>
+                <value></value>
+            </field>
+            <field>
+                <name>鐗规畩瑕佹眰</name>
+                <value>Ct.O</value>
+            </field>
+            <field>
+                <name>鐢宠璇存槑</name>
+                <value>TT--Ct.O-B0203104202</value>
+            </field>
+            <field>
+                <name>璁¢噺鍗曚綅</name>
+                <value>浠�(浠�)</value>
+            </field>
+            <field>
+                <name>瀵嗙骇</name>
+                <value>闈炴秹瀵�(闈炴秹瀵�)</value>
+            </field>
+            <field>
+                <name>鏉愯川</name>
+                <value>閽�</value>
+            </field>
+            <field>
+                <name>瑙勬牸</name>
+                <value>M10脳60</value>
+            </field>
+            <field>
+                <name>鐗屽彿</name>
+                <value></value>
+            </field>
+            <field>
+                <name>鎬ц兘绛夌骇</name>
+                <value>12.9</value>
+            </field>
+            <field>
+                <name>琛ㄩ潰澶勭悊</name>
+                <value>姘у寲</value>
+            </field>
+            <field>
+                <name>浜у搧绛夌骇</name>
+                <value>A</value>
+            </field>
+            <field>
+                <name>闆嗗洟鐮�</name>
+                <value>200181515</value>
+            </field>
+            <field>
+                <name>浜у搧鏍囧噯鍙�</name>
+                <value>GB/T 5789-1986</value>
+            </field>
+        </fields>
+    </codeinfo>
+</mdm>
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 3f5e3d1..f4dbaa3 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
@@ -31,6 +31,7 @@
 import com.vci.ubcs.starter.web.util.VciDateUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -278,8 +279,27 @@
 					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){
+					List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper);
+					List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList());
+					if(codeAllCodes.size()>takeBack.size()){
 						throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ addCodeDOs.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
+					}
+					for (CodeAllCode codeAllCode : takeBack) {
+						codeAllCode.setLcStatus("Released");
+						codeAllCode.setTs(new Date());
+						codeAllCode.setLastModifyTime(new Date());
+						codeAllCode.setLastModifier(AuthUtil.getUserId().toString());
+						Iterator<CodeAllCode> iterator = addCodeDOs.iterator();
+						while (iterator.hasNext()){
+							CodeAllCode next = iterator.next();
+							if(codeAllCode.getId().equals(next.getId())){
+								codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
+								iterator.remove();
+							}
+						}
+					}
+					if(takeBack.size()>0){
+						codeAllCodeService.updateBatchById(takeBack);
 					}
 					codeAllCodeService.saveBatch(addCodeDOs);
 				}
@@ -365,9 +385,29 @@
 			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){
+			List<CodeAllCode> codeAllCodes = codeAllCodeService.selectByWrapper(wrapper);
+			List<CodeAllCode> takeBack = codeAllCodes.stream().filter(e -> e.getLcStatus().equals("TakeBack")).collect(Collectors.toList());
+			if(codeAllCodes.size()>takeBack.size()){
 				throw new ServiceException("鐢熸垚缂栫爜鏁版嵁ID宸叉湁鍘嗗彶璁板綍,璇风‘璁ゅ涓嬬敓鎴愮殑ID鏁版嵁锛�"+ allCodeDOList.stream().map(CodeAllCode::getId).collect(Collectors.toList()));
 			}
+
+			for (CodeAllCode codeAllCode : takeBack) {
+				codeAllCode.setLcStatus("Released");
+				codeAllCode.setTs(new Date());
+				codeAllCode.setLastModifyTime(new Date());
+				codeAllCode.setLastModifier(AuthUtil.getUserId().toString());
+				Iterator<CodeAllCode> iterator = allCodeDOList.iterator();
+				while (iterator.hasNext()){
+					CodeAllCode next = iterator.next();
+					if(codeAllCode.getId().equals(next.getId())){
+						codeAllCode.setCreateCodeOid(next.getCreateCodeOid());
+						iterator.remove();
+					}
+				}
+			}
+			if(takeBack.size()>0){
+				codeAllCodeService.updateBatchById(takeBack);
+			}
 			codeAllCodeService.saveBatch(allCodeDOList);
 //			iCodeWupinService.saveBatch(dataCBOList);
 			mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList);
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 3d89c27..6b9ab8e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -1661,9 +1661,9 @@
 											if (!CollectionUtils.isEmpty(ListMap)) {
 												ListMap.stream().forEach(map -> {
 													num[0]++;
-													String id = map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString();
-													String value = map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString();
-													String text = map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString();
+													String id =Func.isNull(map.getOrDefault("OID".toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString();
+													String value = Func.isNull(map.getOrDefault(valueField.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString();
+													String text =Func.isNull(map.getOrDefault(textField.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString();
 													String description = map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString();
 													CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, text, "", description);
 													codeSectionValueVOList.add(sectionValueVO);
@@ -1750,11 +1750,11 @@
 											if (!CollectionUtils.isEmpty(ListMap)) {
 												ListMap.stream().forEach(map -> {
 													num[0]++;
-													String id = map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString();
-													String value = map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString();
-													String text = map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString();
-													String description = map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString();
-													String pid = map.getOrDefault(parentFieldName.toUpperCase(Locale.ROOT), "").toString();
+													String id =Func.isNull(map.getOrDefault("OID".toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString();
+													String value =Func.isNull(map.getOrDefault(valueField.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString();
+													String text =Func.isNull(map.getOrDefault(textField.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString();
+													String description =Func.isNull(map.getOrDefault("description".toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString();
+													String pid =Func.isNull(map.getOrDefault(parentFieldName.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(parentFieldName.toUpperCase(Locale.ROOT), "").toString();
 													CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, text, pid, description);
 													codeSectionValueVOList.add(sectionValueVO);
 												});
@@ -2135,7 +2135,7 @@
 				if (!CollectionUtils.isEmpty(codeClassifyList)) {
 					codeClassifyList.stream().forEach(codeClassify -> {
 						CodeClassifyVO codeClassifyVO=  classifyService.getTopClassifyVO(codeClassify.getOid());
-						if(codeClassifyVO.getId().equals(libray)){
+						if(codeClassifyVO.getId().toLowerCase(Locale.ROOT).equals(libray.toLowerCase(Locale.ROOT))){
 							newCodeClassify[0] =codeClassify;
 						}
 					});
@@ -2177,7 +2177,7 @@
 				if (!CollectionUtils.isEmpty(codeClassifyList)) {
 					codeClassifyList.stream().forEach(codeClassify -> {
 						CodeClassifyVO codeClassifyVO=  classifyService.getTopClassifyVO(codeClassify.getOid());
-						if(codeClassifyVO.getId().equals(libray)){
+						if(codeClassifyVO.getId().toLowerCase(Locale.ROOT).equals(libray.toLowerCase(Locale.ROOT))){
 							newCodeClassify[0] =codeClassify;
 						}
 					});

--
Gitblit v1.9.3