From a0431deb4d557cd50d304df885a275edf1390f56 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期四, 16 一月 2025 17:34:32 +0800
Subject: [PATCH] 1、修改属性报错修护。 2、修改用户信息增加个人信息处修改判断处理。

---
 Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java |   78 ++++++++++++++++++--------------------
 1 files changed, 37 insertions(+), 41 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java
index c0f557d..367f7e0 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/util/WebUtil.java
@@ -33,7 +33,6 @@
 import org.springframework.util.CollectionUtils;
 
 import javax.servlet.http.HttpServletRequest;
-import java.beans.IntrospectionException;
 import java.beans.PropertyDescriptor;
 import java.lang.reflect.*;
 import java.math.BigDecimal;
@@ -147,9 +146,23 @@
 	 * @param beanClass Bean鐨勭被
 	 * @return 浠庡垪琛ㄩ噷鑾峰彇绗竴涓璞�
 	 */
-	public static <T> T getFirstObjectFromJson(String jsonString,Class<T> beanClass){
+	public static <T> T getFirstObjectFromJsonArray(String jsonString,Class<T> beanClass){
 		if(!isNull(jsonString)) {
 			return JSONObject.parseArray(jsonString, beanClass).get(0);
+		} else {
+			return null;
+		}
+	}
+
+	/**
+	 * 浠巎son瀛楃涓蹭腑鑾峰彇绗竴涓璞�
+	 * @param jsonString json鐨勫瓧绗︿覆
+	 * @param beanClass Bean鐨勭被
+	 * @return 浠庡垪琛ㄩ噷鑾峰彇绗竴涓璞�
+	 */
+	public static <T> List<T> getObjectListFromJsonArray(String jsonString,Class<T> beanClass){
+		if(!isNull(jsonString)) {
+			return JSONObject.parseArray(jsonString, beanClass);
 		} else {
 			return null;
 		}
@@ -624,7 +637,7 @@
 			}
 		}
 		//濡傛灉鐗堟湰鏈搴忓彿鐨勫睘鎬э紝闇�瑕佷粠灞炴�х殑鏄犲皠涓紝鑾峰彇涓氬姟绫诲瀷涓殑瀛楁鍚嶇О
-		clientBoAttrName = VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.getOrDefault(clientBoAttrName.toLowerCase(Locale.ROOT),clientBoAttrName);
+		clientBoAttrName = VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.getOrDefault(clientBoAttrName.toLowerCase(Locale.ROOT),clientBoAttrName);
 		return clientBoAttrName;
     }
     
@@ -750,12 +763,12 @@
      * @return 鏂规硶
      */
     public static Method getSetmethod(Class c,String fieldName){
-    	if(c!=null&&isNotNull(fieldName)){
+    	if(c != null && isNotNull(fieldName)){
     		try {
     			PropertyDescriptor pd = new PropertyDescriptor(fieldName, c);
 				return pd.getWriteMethod();
-			} catch (SecurityException e) {
-			} catch (IntrospectionException e) {
+			} catch (Exception e) {
+				//TODO 涓嶅仛澶勭悊
 			}
     	}
     	return null;
@@ -815,6 +828,7 @@
      * @param value 灞炴�у��
      */
     public static void setValueForFieldFromCbo(String fieldName,Object obj,String value){
+		System.out.println("fieldName锛�"+fieldName+"锛寁alue锛�"+value);
 		try{
 			Field field = getFieldForObject(fieldName,obj);
 			if(field != null){
@@ -1164,38 +1178,21 @@
 			List<Field> boFields = getAllFieldForObj(bo.getClass());
 			if(!CollectionUtils.isEmpty(boFields)){
 				for(Field field : boFields){
-					//璇存槑杩欎釜灏辨槸鍦˙O瀵硅薄涓婄殑
-					Object value = getValueFromField(field.getName(), bo);
-					if(value != null){
-						//BusinessObject鍜孊aseModel涓紝浠ヤ笅鐨勫睘鎬э紝涓嶇浉鍚岋紝闇�瑕佸崟鐙鐞�
-						switch (field.getName().toLowerCase()){
-							case "revoid":
-								setValueForFieldFromCbo("revisionOid", obj, getStringValueFromObject(value));
-								break;
-							case "btname":
-								setValueForFieldFromCbo("btmName", obj, getStringValueFromObject(value));
-								break;
-							case "islastr":
-								setValueForFieldFromCbo("lastr", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0");
-								break;
-							case "isfirstr":
-								setValueForFieldFromCbo("firstr", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0");
-								break;
-							case "islastv":
-								setValueForFieldFromCbo("lastv", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0");
-								break;
-							case "isfirstv":
-								setValueForFieldFromCbo("firstv", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0");
-								break;
-							case "modifytime":
-								setValueForFieldFromCbo("lastmodifytime", obj, getStringValueFromObject(value));
-								break;
-							case "fromversion":
-								setValueForFieldFromCbo("copyFromVersion", obj, getStringValueFromObject(value));
-								break;
-							default:
-								setValueForFieldFromCbo(fieldAttrMap.get(field.getName().toLowerCase()), obj, getStringValueFromObject(value));
-								break;
+					if(VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.containsValue(field.getName().toLowerCase())){
+						//璇存槑杩欎釜灏辨槸鍦˙O瀵硅薄涓婄殑
+						Object value = getValueFromField(field.getName(), bo);
+						if(value != null){
+							//BusinessObject鍜孊aseModel涓紝鏄惁绗竴鐗堟湰鐗堟鐨勫睘鎬э紝闇�瑕佸崟鐙鐞�
+							String fieldValue;
+							if(VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.containsValue(field.getName().toLowerCase())){
+								fieldValue = getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0";
+							}else{
+								fieldValue = getStringValueFromObject(value);
+							}
+							String fieldName = fieldAttrMap.get(field.getName().toLowerCase());
+							if(StringUtils.isNotBlank(fieldName)){
+								setValueForFieldFromCbo(fieldName, obj, fieldValue);
+							}
 						}
 					}
 				}
@@ -1579,8 +1576,7 @@
 	 * @return true涓洪粯璁�
 	 */
 	public static boolean isDefaultField(String fieldNames){
-		if(VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(fieldNames) || VciQueryWrapperForDO.LIFECYCLE_MANAGE_FIELD_MAP.containsKey(fieldNames)
-		|| VciQueryWrapperForDO.REVISION_MANAGE_FIELD_MAP.containsKey(fieldNames) || VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.containsValue(fieldNames)) {
+		if(VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.containsKey(fieldNames)) {
     		return true;
     	}
     	return false;
@@ -1639,7 +1635,7 @@
 	 * @return base寮傚父瀵硅薄
 	 */
 	public static VciBaseException getVciBaseException(PLException e){
-		return new VciBaseException(e.code, new java.lang.String[]{e.getMessage()});
+		return new VciBaseException(e.code, new String[]{e.getMessage()});
 	}
 
 	/**

--
Gitblit v1.9.3