From 9d92bb1d5698690bfd06fb93c668d9ae73300426 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 13 十二月 2024 13:05:09 +0800
Subject: [PATCH] 添加按钮权限查询接口。 修改UI页面定义的属性字段。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java |   62 +++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 20 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
index f2b6086..27f98b1 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java
@@ -10,12 +10,16 @@
 import com.vci.pagemodel.*;
 import com.vci.starter.web.annotation.log.VciUnLog;
 import com.vci.starter.web.exception.VciBaseException;
-import com.vci.starter.web.util.*;
+import com.vci.starter.web.util.BeanUtilForVCI;
+import com.vci.starter.web.util.LangBaseUtil;
+import com.vci.starter.web.util.VciBaseUtil;
+import com.vci.starter.web.util.VciDateUtil;
 import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
 import com.vci.web.enumpck.UIComponentDisplayTypeEnum;
 import com.vci.web.enumpck.UIComponentTypeEnum;
 import com.vci.web.enumpck.UIFieldTypeEnum;
 import com.vci.web.enumpck.UILayoutAreaTypeEnum;
+import com.vci.web.other.AllActionThreadLocal;
 import com.vci.web.service.OsAttributeServiceI;
 import com.vci.web.service.OsBtmServiceI;
 import com.vci.web.service.UIEngineServiceI;
@@ -26,6 +30,7 @@
 import com.vci.web.xmlmodel.UIComponentDetailXO;
 import com.vci.web.xmlmodel.UIComponentItemXO;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hdf.extractor.SEP;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -410,16 +415,13 @@
 		if(StringUtils.isBlank(btmId) || StringUtils.isBlank(id)){
 			return null;
 		}
-		if(!QUERY_BY_CACHE){
-			PortalVI portalVI = null;
-			try {
-				portalVI = platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
-			} catch (PLException vciError) {
-				throw WebUtil.getVciBaseException(vciError);
-			}
-			return formDO2VO(portalVI);
+		PortalVI portalVI = null;
+		try {
+			portalVI = platformClientUtil.getUIService().getPortalVIByTypeNameAndVIName(btmId, id);
+		} catch (PLException vciError) {
+			throw WebUtil.getVciBaseException(vciError);
 		}
-		return self.selectAllFormMap().getOrDefault(btmId.toLowerCase()+SEP+id.toLowerCase(),null);
+		return formDO2VO(portalVI);
 	}
 
 	/**
@@ -659,7 +661,7 @@
 						&& !UIFieldTypeEnum.CUSTOM.getValue().equalsIgnoreCase(s.getFieldType())).forEach(fieldVO->{
 					//鍒楄〃閲岄潰涓嶆斁edit锛岃�屾煡璇㈤噷闈㈤渶瑕佹斁edit
 					UITableFieldVO queryFieldVO = new UITableFieldVO();
-					BeanUtil.convert(fieldVO,queryFieldVO);
+					BeanUtilForVCI.convert(fieldVO,queryFieldVO);
 					canQueryFields.add(queryFieldVO);
 				});
 				tableDefineVO.setSeniorQueryColumns(canQueryFields);
@@ -927,7 +929,7 @@
 						List<UIComponentVO> southCompVO = componentVOs.stream().filter(s->!s.getOid().equals(firstCompVO.getOid())).collect(Collectors.toList());
 
 						UILayoutVO centerVO = new UILayoutVO();
-						BeanUtil.convert(layoutVO,centerVO);
+						BeanUtilForVCI.convert(layoutVO,centerVO);
 						centerVO.setOid(centerVO.getOid() + "_center");
 						centerVO.setLayoutAreaType(UILayoutAreaTypeEnum.CENTER.getValue());
 						centerVO.setOrderNum(0);
@@ -945,7 +947,7 @@
 						//鍏朵綑鐨勪綔涓簊outh
 						if(!CollectionUtils.isEmpty(southCompVO)) {
 							UILayoutVO southVO = new UILayoutVO();
-							BeanUtil.convert(layoutVO, southVO);
+							BeanUtilForVCI.convert(layoutVO, southVO);
 							southVO.setOid(centerVO.getOid() + "_south");
 							southVO.setLayoutAreaType(UILayoutAreaTypeEnum.SOUTH.getValue());
 							southVO.setOrderNum(0);
@@ -1080,6 +1082,11 @@
 		Map<String, OsAttributeVO> attributeVOMap;
 		if(pages != null && pages.size() > 0){
 			attributeVOMap = attrService.selectAllAttributeMap();
+			Map<String, UIActionVO> actionVOMap = AllActionThreadLocal.get();
+			if(actionVOMap == null || actionVOMap.isEmpty()){
+				actionVOMap = selectAllActionMap();
+				AllActionThreadLocal.set(actionVOMap);
+			}
 		}else{
 			attributeVOMap = null;
 		}
@@ -1097,6 +1104,7 @@
 				}
 			});
 		}
+		AllActionThreadLocal.remove();
 		return contentVOS;
 	}
 
@@ -1191,7 +1199,12 @@
 		if(StringUtils.isBlank(componentOid)){
 			return null;
 		}
-		if(!QUERY_BY_CACHE){
+		try {
+			return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
+		} catch (PLException vciError) {
+			throw WebUtil.getVciBaseException(vciError);
+		}
+		/*if(!QUERY_BY_CACHE){
 			try {
 				return uiComponentDO2VO(platformClientUtil.getUIService().getPLPageDefinationById(componentOid),true,attributeVOMap);
 			} catch (PLException vciError) {
@@ -1203,8 +1216,7 @@
 			if(!CollectionUtils.isEmpty(componentVOList)){
 				return componentVOList.get(0);
 			}
-		}
-		return null;
+		}*/
 	}
 
 	/**
@@ -1234,6 +1246,7 @@
 			componentVO.setName(page.name);
 			componentVO.setDescription(page.desc);
 			componentVO.setOrderNum((int) page.seq);
+
 			UIComponentDefineXO componentDefineXO = null;
 			try {
 				componentDefineXO = readInfoFromXML(page.plDefination, UIComponentDefineXO.class);
@@ -1241,6 +1254,8 @@
 				logger.error("璇诲彇xml鍑洪敊",e);
 				return  null;
 			}
+			//鑷畾涔夋煡璇㈡柟寮�
+			componentVO.setBsDataModel(componentDefineXO.getBsDataModel());
 			//涔嬪墠鐨勭被鍨嬬殑鍊兼槸1锛�2锛�3绛夌湅鐫�涓嶇洿瑙�
 			UIComponentTypeEnum componentTypeEnum = null;
 			if("1".equals(componentDefineXO.getTemplateType())){
@@ -1309,7 +1324,7 @@
 				if(tableDefineVO != null) {
 
 					UITreeTableDefineVO treeTableDefineVO = new UITreeTableDefineVO();
-					BeanUtil.convert(tableDefineVO, treeTableDefineVO);
+					BeanUtilForVCI.convert(tableDefineVO, treeTableDefineVO);
 					if(isLink){
 						treeTableDefineVO.setTreeCurrentField("t_oid");
 						treeTableDefineVO.setTreeParentField("f_oid");
@@ -1364,7 +1379,8 @@
 				treeDefineVO.setBtmType(componentDefineXO.getShowType());
 				treeDefineVO.setLinkType(componentDefineXO.getLinkType());
 				treeDefineVO.setLoadType("1".equalsIgnoreCase(componentDefineXO.getExpandMode())?"node":"all");
-				treeDefineVO.setOrientation("positive".equalsIgnoreCase(componentDefineXO.getOrientation())?false:true);
+				//TODO:杩欎釜灞炴�х幇鍦ㄧ敱閾炬帴绫诲瀷鏌ヨ鎺у埗锛屼笉鐢遍〉闈㈠畾涔夋帶鍒朵簡
+				//treeDefineVO.setOrientation("positive".equalsIgnoreCase(componentDefineXO.getOrientation())?false:true);
 				treeDefineVO.setShowImage("1".equalsIgnoreCase(componentDefineXO.getIsShowImage())?true:false);
 				treeDefineVO.setRootContent(componentDefineXO.getRootContent());
 				treeDefineVO.setFieldSep(StringUtils.isBlank(componentDefineXO.getSeparator())?",":componentDefineXO.getSeparator());
@@ -1456,9 +1472,15 @@
 	public List<UIButtonDefineVO> buttonDO2VOs(Collection<com.vci.corba.portal.data.PLTabButton> buttons){
 		List<UIButtonDefineVO> buttonDefineVOS = new ArrayList<>();
 		if(buttons != null && buttons.size() > 0){
-			Map<String, UIActionVO> actionVOMap = self.selectAllActionMap();
+//			Map<String, UIActionVO> actionVOMap = self.selectAllActionMap();
+			Map<String, UIActionVO> actionVOMap = null;
+			actionVOMap = AllActionThreadLocal.get();
+			if(actionVOMap == null ){
+				actionVOMap = self.selectAllActionMap();
+			}
+			Map<String, UIActionVO> finalActionVOMap = actionVOMap;
 			Optional.ofNullable(buttons).orElseGet(()->new ArrayList<>()).stream().forEach(button->{
-				buttonDefineVOS.add(buttonDO2VO(button, actionVOMap));
+				buttonDefineVOS.add(buttonDO2VO(button, finalActionVOMap));
 			});
 		}
 

--
Gitblit v1.9.3