From e50b37ea73d82149cd52646464389bf6010b1d22 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 12 十二月 2023 10:49:19 +0800
Subject: [PATCH] map对象大小写导致code返回为空问题

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index f709207..7c8b17a 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -55,6 +55,7 @@
 import com.vci.ubcs.system.vo.RoleVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
@@ -68,6 +69,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -326,7 +329,8 @@
 					log.info("end锛氭ā鏉挎煡璇㈠畬姣�");
 					ApplyDatasVO applyDatasVO = classVO.getObjects();
 					DataObjectVO dataObjectVO = new DataObjectVO();
-					List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+					List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
+						((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
 					).collect(Collectors.toList());
 					this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO);
 					log.info("end锛氭暟鎹粍缁囧畬姣�");
@@ -390,6 +394,11 @@
 			resultStr= transferResultXMl(xmlResultSystemVO,dataType);
 		}catch (Throwable e){
 			e.printStackTrace();
+			StringWriter sw = new StringWriter();
+			PrintWriter pw = new PrintWriter(sw);
+			e.printStackTrace(pw);//灏嗗嚭閿欑殑鏍堜俊鎭緭鍑哄埌printWriter涓�
+			pw.flush();
+			sw.flush();
 			msg="鐢宠缂栫爜澶辫触:"+e.getMessage();
           /*  XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO();
             XMLResultSystemVO.setErrorid(errorid);
@@ -482,7 +491,8 @@
 					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
 				}
 
-				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
+					((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
 				).collect(Collectors.toList());
 
 				List<PersonMasterData> personMasterDataList= personData.getMasterData();
@@ -558,6 +568,7 @@
 				sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0])));
 				sb.append(")");
 				List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
+
 				List<ClientBusinessObject> cboList=	ChangeMapTOClientBusinessObjects(dataMapList);
 				ApplyDatasVO applyDatasVO=new ApplyDatasVO();
 				ApplyDatasVO editDatasVO=new ApplyDatasVO();
@@ -759,7 +770,8 @@
 					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
 				}
 
-				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
+					((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
 				).collect(Collectors.toList());
 				List<Map> dataList=new ArrayList<>();
 				List<String> codeList=new ArrayList<>();
@@ -1074,7 +1086,8 @@
 					ApplyDatasVO applyDatasVO = classVO.getObjects();
 					DataObjectVO dataObjectVO = new DataObjectVO();
 					//灏嗛粯璁ょ殑灞炴�у叏閮ㄦ浛鎹㈡帀
-					List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+					List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
+						((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
 					).collect(Collectors.toList());
 					this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO);
 					log.info("end锛氭暟鎹瀯寤哄畬姣�");
@@ -2078,7 +2091,8 @@
 			log.info("end锛氭ā鏉挎煡璇㈠畬姣�");
 			ApplyBZDatasVO applyBZDatasVO = classfyBZVO.getObjects();
 				DataObjectVO dataObjectVO = new DataObjectVO();
-			List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+			List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
+				((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
 			).collect(Collectors.toList());
 			List<ApplyBZDataVO> applyBZDataVOList=	applyBZDatasVO.getObject();
 			if(applyBZDataVOList.size()>1){
@@ -2293,9 +2307,11 @@
 
 	private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){
 		List<ClientBusinessObject> clientBusinessObjectList=new ArrayList<>();
+		DefaultAttrAssimtUtil.mapToLowerCase(oldDataMap,true);
+		final BladeUser user = AuthUtil.getUser();
 		oldDataMap.stream().forEach(dataMap->{
 			ClientBusinessObject clientBusinessObject=new ClientBusinessObject();
-			DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject);
+			DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject,false,user);
 			for (String key:dataMap.keySet()){
 				Object value= dataMap.getOrDefault(key,"");
 				clientBusinessObject.setAttributeValue(key.toLowerCase(Locale.ROOT),value==null?"":value.toString());
@@ -2533,6 +2549,11 @@
 		//鏍规嵁鍒嗙被妯℃澘缁勭粐鏁版嵁
 		final int[] index = {0};
 		try {
+			//闄ゅ幓榛樿鐨勫睘鎬�.杩樻湁鍙湁鍏锋湁鍒嗙被娉ㄥ叆鐨勬墠杩囨护鍑烘潵
+			codeClassifyTemplateAttrVOList = codeClassifyTemplateAttrVOList.stream().filter(
+				s ->!DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
+					((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
+			).collect(Collectors.toList());
 			codeClassifyTemplateAttrVOList.stream().forEach(codeClassifyTemplateAttrVO -> {
 				String attrName = codeClassifyTemplateAttrVO.getName();
 				String field = codeClassifyTemplateAttrVO.getId();

--
Gitblit v1.9.3