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

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeMdmInfaceImpl.java |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 65 insertions(+), 6 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 3e2905a..040630c 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,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ForkJoinPool;
@@ -175,7 +177,7 @@
 		List<ResultMdMapping> resultMdMappingList=new ArrayList<>();
 		String message="";
 		AtomicBoolean success = new AtomicBoolean(true);
-		List<Map<String,String>> masterDataList = new ArrayList<>();
+		List<Map<String,Object>> masterDataList = new ArrayList<>();
 		AtomicReference<ClassifyConfig> currentClassifyConfig = new AtomicReference<>(new ClassifyConfig());
 		try {
 			if (mdmParamData == null) {
@@ -215,12 +217,14 @@
 				});
 				masterDataList.stream().forEach(masterData -> {
 						masterData.forEach((field, vaule) -> {
+							String newValue="";
 							if (fieldClassifyConfigMap.containsKey(field)) {
-								vaule=StringUtils.isBlank(vaule) ? "" : vaule;
+								//vaule=StringUtils.isBlank(vaule) ? "" : vaule;
+								newValue=objectToStr(vaule);
 								List<ClassifyConfig> classifyConfigs = fieldClassifyConfigMap.get(field);
 								Map<String, ClassifyConfig> classifyConfigMap = classifyConfigs.stream().filter(classify -> classify != null && StringUtils.isNotBlank(classify.getSourceClassifyCode())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getSourceClassifyCode(), t -> t));
-								if (classifyConfigMap.containsKey(vaule)) {
-									currentClassifyConfig.set(classifyConfigMap.get(vaule));
+								if (classifyConfigMap.containsKey(newValue)) {
+									currentClassifyConfig.set(classifyConfigMap.get(newValue));
 								}
 							}
 						});
@@ -284,8 +288,9 @@
 					/***
 					 * 鏍规嵁閰嶇疆鏂囦欢鑾峰彇鏋氫妇鍊�
 					 */
+					String newValue=objectToStr(vaule);
 					if(fields.contains(field)){//濡傛灉鏄灇涓撅紝鍒欓渶瑕佽浆鎹㈡灇涓惧��
-						String enumFiled = masterData.get(field);
+						String enumFiled = newValue;
 						EnumerableData enumerableData = JSONObject.toJavaObject(JSONObject.parseObject(enumFiled), EnumerableData.class);
 						String enumCode = enumerableData.getCode();
 						//String enumCodeValue=enumerableData.getName();
@@ -296,7 +301,7 @@
 					}else {
 						ProppertyVO proppertyVO = new ProppertyVO();
 						proppertyVO.setKey(field);
-						proppertyVO.setValue(vaule);
+						proppertyVO.setValue(newValue);
 						proppertyVOList.add(proppertyVO);
 					}
 
@@ -824,4 +829,58 @@
 		dockingLogeService.save(dockingLoge);
 		log.info("闆嗘垚鎺ㄩ�佹暟鎹�,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData);
 	}
+
+	/***
+	 * 灞炴�х被鍨嬭浆鎹�
+	 * @param vaule
+	 * @return
+	 */
+	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();
+		}
+		return newValue;
+	}
+
+	private String date2Str(Date date, String format) {
+		if (null == date) {
+			return null;
+		} else {
+			if (format == null || format.trim().length() == 0) {
+				format = "yyyy-MM-dd HH:mm:ss.SSS";
+			}
+
+			SimpleDateFormat sdf = new SimpleDateFormat(format);
+			return sdf.format(date);
+		}
+	}
+
+	private  String timestamp2Str(Timestamp time) {
+		Date date = null;
+		if (null == time) {
+			return null;
+		} else {
+			if (null != time) {
+				date = new Date(time.getTime());
+			}
+
+			return date2Str(date, "yyyy-MM-dd HH:mm:ss.SSS");
+		}
+	}
 }

--
Gitblit v1.9.3