From 4494a005613728c9dc22d018bca42ef5d3ebcf69 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期二, 14 一月 2025 20:41:47 +0800
Subject: [PATCH] 产品型号集成,类型转换,人员组织加日志,申请接口引用码段值校验

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeMdmInfaceImpl.java |   52 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeMdmInfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeMdmInfaceImpl.java
index 040630c..07cee1e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeMdmInfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeMdmInfaceImpl.java
@@ -56,6 +56,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
+import java.math.BigDecimal;
 import java.sql.Timestamp;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -326,7 +327,15 @@
 					String fixedField=fixedFieldMap.getOrDefault("dr","");
 					dr = masterData.getOrDefault(fixedField, "").toString();
 				}
-				object.setCode(masterData.getOrDefault(currentClassifyConfig.get().getSourceCodeKey(),"").toString());//缂栫爜
+				List<String> sourceCodeKeyList=VciBaseUtil.str2List(currentClassifyConfig.get().getSourceCodeKey());
+				//object.setCode(masterData.getOrDefault(currentClassifyConfig.get().getSourceCodeKey(),"").toString());//缂栫爜
+				if(!CollectionUtils.isEmpty(sourceCodeKeyList)) {
+					sourceCodeKeyList.stream().forEach(codekey -> {
+						if (StringUtils.isNotBlank(masterData.getOrDefault(currentClassifyConfig.get().getSourceCodeKey(), "").toString())) {
+							object.setCode(masterData.getOrDefault(currentClassifyConfig.get().getSourceCodeKey(), "").toString());//缂栫爜
+						}
+					});
+				}
 				object.setProp(proppertyVOList);
 
 				if (dr.equals(1)) {
@@ -341,6 +350,9 @@
 				codeList.add(object.getCode());
 
 			});
+			if(CollectionUtils.isEmpty(codeList)){
+				throw  new Throwable("妫�鏌ラ厤缃枃浠�:銆恠ourceCodeKey銆戯紝鍞竴鏍囪瘑瀛楁鏄惁姝g‘");
+			}
 			String targetCodeKey=currentClassifyConfig.get().getTargetCodeKey();
 			StringBuffer sb = new StringBuffer();
 			sb.append(" select * from ");
@@ -835,25 +847,33 @@
 	 * @param vaule
 	 * @return
 	 */
-	private String objectToStr(Object vaule){
+	private  String objectToStr(Object vaule) {
 		String newValue="";
 		if(vaule ==null||"".equals(vaule)||vaule==""){
 			return "";
 		}
-		if(vaule instanceof Integer){
-			Integer intValue=(Integer)vaule;
-			newValue=String.valueOf(intValue);
-		}else if (vaule instanceof Boolean){
-			boolean boolValue=(Boolean) vaule;
-			newValue=Boolean.toString(boolValue);
-		}else if(vaule instanceof Timestamp){
-			Timestamp timestampValue=(Timestamp)vaule;
-			newValue=timestamp2Str(timestampValue);
-		}else if(vaule instanceof Date){
-			Date dataValue=(Date) vaule;
-			newValue = date2Str(dataValue,"yyyy-MM-dd HH:mm:ss");
-		}else {
-			return vaule.toString();
+		try {
+			if (vaule instanceof Integer) {
+				Integer intValue = (Integer) vaule;
+				newValue = String.valueOf(intValue);
+			} else if (vaule instanceof Boolean) {
+				boolean boolValue = (Boolean) vaule;
+				newValue = Boolean.toString(boolValue);
+			} else if (vaule instanceof Timestamp) {
+				Timestamp timestampValue = (Timestamp) vaule;
+				newValue = timestamp2Str(timestampValue);
+			} else if (vaule instanceof Date) {
+				Date dataValue = (Date) vaule;
+				newValue = date2Str(dataValue, "yyyy-MM-dd HH:mm:ss");
+			}else if (vaule instanceof BigDecimal){
+				BigDecimal bigDecimal=(BigDecimal)vaule;
+				newValue =  bigDecimal.toString();
+			} else {
+				return vaule.toString();
+			}
+		}catch (Throwable e){
+			//	log.error("灞炴�х被鍨嬭浆鎹㈤敊璇�",e);
+			e.printStackTrace();
 		}
 		return newValue;
 	}

--
Gitblit v1.9.3