From 8c2bc4c9cfac26210dd9018482586112469c44c8 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 11 九月 2023 17:54:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
index a598e4f..4c9563c 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -19,6 +19,7 @@
 import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ResourceUtils;
 
@@ -1301,6 +1302,9 @@
 		Field[] declaredFields = type.getDeclaredFields();
 		Map<String, String> fieldMap = new HashMap();
 		String existField = "";
+		if(existFild == null){
+			existFild = new HashSet<>();
+		}
 		for (Field declaredField : declaredFields) {
 			declaredField.setAccessible(true);
 
@@ -1318,7 +1322,7 @@
 				}
 			}
 		}
-
+		Map mapData = new HashMap<>();
 		for (int i = 0, n = propertyDescriptors.length; i <n ; i++) {
 			PropertyDescriptor descriptor = propertyDescriptors[i];
 			String propertyName = descriptor.getName();
@@ -1330,24 +1334,27 @@
 
 				if (result != null) {
 					if ("data".equals(propertyName)){
-						if(existFild == null){
-							returnMap.putAll((Map) result);
-						}else{
-							Map resulMap = (Map) result;
-							for (Object o : resulMap.keySet()) {
-								if(existFild.contains(o)){
-									returnMap.put(o,resulMap.get(o));
-								}
-							}
-						}
+						mapData = (Map) result;
 					}else if(existFild.contains((fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName).toLowerCase())){
-						returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, result);
+						returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName).toLowerCase():propertyName.toLowerCase(), result);
 					}
 				} else if(existFild.contains((fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName).toLowerCase())){
-					returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, "");
+					returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName).toLowerCase():propertyName.toLowerCase(), "");
 				}
 			}
 		}
+		//浣滅敤涓昏鐢ㄤ簬宸睲AP涓殑鏁版嵁涓哄噯锛宐ean閲岄潰閬囧埌瀛楁鐩稿悓涓攎ap閲岄潰鏁版嵁涓虹┖锛屽垯浣跨敤bean閲岄潰鐨勫��,
+//		Map resulMapChild = (Map) mapData;
+		for (Object o : mapData.keySet()) {
+			if(existFild == null || existFild.contains(String.valueOf(o).toLowerCase())){
+				if((Func.isNotBlank(String.valueOf(returnMap.get(String.valueOf(o).toLowerCase())))
+					&& returnMap.get(String.valueOf(o).toLowerCase()) !=null)
+					&& Func.isBlank(String.valueOf(mapData.get(o)))){
+					continue;
+				}
+				returnMap.put(String.valueOf(o).toLowerCase(),mapData.get(o));
+			}
+		}
 		return returnMap;
 	}
 

--
Gitblit v1.9.3