From ac4e090952cfa701d7d681ada7d7900e3ce45755 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 17 五月 2024 11:05:03 +0800
Subject: [PATCH] 集成申请,历史数据导入,关键属性查重多线程导致判重失误问题

---
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
index 83d0d13..9522cb8 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -9,9 +9,7 @@
 import org.springblade.core.tool.utils.Func;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 鏂板鏃堕粯璁ゅ�煎睘鎬ц祴鍊�
@@ -50,7 +48,6 @@
 				// 璁剧疆鎵�鏈夎��
 				baseModel.setOwner(AuthUtil.getUserId().toString());
 			}
-
 			baseModel.setVersionSeq(1);
 			baseModel.setVersionRule("0");
 			baseModel.setVersionValue("1");
@@ -90,20 +87,19 @@
 			baseModel.setFirstV("1");
 			baseModel.setLastR("1");
 			baseModel.setLastV("1");
-			baseModel.setRevisionSeq(1);
 			// TODO:鐩墠鍙湁缂栫爜瑙勫垯涓湁鐢ㄥ埌锛屽悗鏈熼渶瑕佸幓鎺夎繖娈典唬鐮佺殑璇濓紝灏辨妸浠栧姞鍦ㄧ紪鐮佽鍒欐柊澧炰腑鍘�
 			if(Func.isBlank(baseModel.getOwner())){
 				// 璁剧疆鎵�鏈夎��
 				baseModel.setOwner(Func.isNotEmpty(user) ? user.getUserId().toString():AuthUtil.getUserId().toString());
 			}
-
 			baseModel.setVersionSeq(1);
-			baseModel.setVersionRule("0");
 			baseModel.setVersionValue("1");
-			baseModel.setRevisionOid(VciBaseUtil.getPk());
-			baseModel.setLastModifier(account);
+			baseModel.setVersionRule("0");
+			baseModel.setRevisionSeq(1);
 			baseModel.setRevisionValue("1");
 			baseModel.setRevisionRule("1");
+			baseModel.setRevisionOid(VciBaseUtil.getPk());
+			baseModel.setLastModifier(account);
 			baseModel.setTenantId(Func.isNotEmpty(user) ? user.getTenantId():AuthUtil.getTenantId());
 		}catch (VciBaseException e){
 			e.printStackTrace();
@@ -121,8 +117,9 @@
 	public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException {
 		BaseModel baseModel = object;
 		try {
-			baseModel.setLastModifyTime(new Date());
-			baseModel.setTs(new Date());
+			Date date = new Date();
+			baseModel.setLastModifyTime(date);
+			baseModel.setTs(date);
 			// 鐢ㄦ埛id
 			// String userId = AuthUtil.getUserId().toString();
 			// 瑕佹眰鏀规垚璐﹀彿
@@ -221,7 +218,7 @@
 
 			baseModel.setRevisionOid(dataMap.getOrDefault(isCase?"REVISIONOID":"revisionoid",""));
 			baseModel.setRevisionValue(dataMap.getOrDefault(isCase?"REVISIONVALUE":"revisionvalue",""));
-			baseModel.setLastModifier(AuthUtil.getUser().getAccount());
+			baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount());
 			baseModel.setLcStatus(dataMap.getOrDefault(isCase?"LCSTATUS":"lcstatus",""));
 			baseModel.setName(dataMap.getOrDefault(isCase?"NAME":"name",""));
 			baseModel.setTenantId(dataMap.getOrDefault(isCase?"TENANT_ID":"tenant_id",""));
@@ -259,4 +256,22 @@
 		return date;
 	}
 
+	/**
+	 * map瀵硅薄杞崲涓哄皬鍐�
+	 * @param dataMapList
+	 * @param isLowerCase
+	 */
+	public static void mapToLowerCase(List<Map<String,String>> dataMapList, boolean isLowerCase){
+		// 閬嶅巻List涓殑姣忎釜Map
+		for (Map<String, String> map : dataMapList) {
+			Map<String, String> newMap = new HashMap<>();
+			// 閬嶅巻姣忎釜Map涓殑key锛屽苟灏嗗叾杞崲涓哄皬鍐�
+			for (String key : map.keySet()) {
+				newMap.put(isLowerCase ? key.toLowerCase():key.toLowerCase(Locale.ROOT), map.get(key));
+			}
+			// 鐢ㄦ柊鐨凪ap鏇挎崲鏃х殑Map
+			dataMapList.set(dataMapList.indexOf(map), newMap);
+		}
+	}
+
 }

--
Gitblit v1.9.3