From a472fa1f44b9976ce7e2b502814b130ec72e0f29 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期三, 19 七月 2023 11:31:11 +0800
Subject: [PATCH] 1、主要解决在批量插入的时候通过业务类型去获取字段信息,对比字段没有的则不进行插入。

---
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 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 f43e99d..7bf46f2 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
@@ -1294,13 +1294,14 @@
 	 * @return Map瀵硅薄
 	 * @version 2016骞�3鏈�20鏃� 11:03:01
 	 */
-	public static Map convertBean2Map(Object bean) throws Exception {
+	public static Map convertBean2Map(Object bean,Set<String> existFild) throws Exception {
 		Class type = bean.getClass();
 		Map returnMap = new HashMap();
 		BeanInfo beanInfo = Introspector.getBeanInfo(type);
 		PropertyDescriptor[] propertyDescriptors = beanInfo
 			.getPropertyDescriptors();
 		Field[] declaredFields = type.getDeclaredFields();
+		Map<String, String> fieldMap = new HashMap();
 		String existField = "";
 		for (Field declaredField : declaredFields) {
 			declaredField.setAccessible(true);
@@ -1312,6 +1313,10 @@
 				Boolean fieldValue = tableField.exist();
 				if(fieldValue == false){
 					existField += declaredField.getName().toLowerCase()+",";
+				}
+				String value = tableField.value();
+				if(net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils.isNotBlank(value)){
+					fieldMap.put(declaredField.getName(), value);
 				}
 			}
 		}
@@ -1327,12 +1332,21 @@
 
 				if (result != null) {
 					if ("data".equals(propertyName)){
-						returnMap.putAll((Map) result);
+						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));
+								}
+							}
+						}
 					}else {
-						returnMap.put(propertyName, result);
+						returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, result);
 					}
 				} else {
-					returnMap.put(propertyName, "");
+					returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, "");
 				}
 			}
 		}

--
Gitblit v1.9.3