From 90c86c95de1d20a3c3a44cab3482388a8c221a5e Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 05 十二月 2024 10:32:59 +0800
Subject: [PATCH] UI数据查询调整

---
 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java                                    |    1 
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataBaseServiceI.java           |   79 +++++++++++++++
 Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java           |   24 ----
 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java                                         |    2 
 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java                                    |    2 
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java                   |   26 ++--
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java                     |   27 +++-
 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java                              |   18 ---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java                 |    6 
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataCommonServiceI.java         |   45 +-------
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java |   43 +++++++-
 11 files changed, 160 insertions(+), 113 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java
index c77b9c8..097ae64 100644
--- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMDTO.java
@@ -10,7 +10,7 @@
      */
     private String showCols = "3";
     /**
-     * 琛ㄥ崟鍚嶇О
+     * 鏌ヨ妯℃澘鍚嶇О
      */
     private String formQtName = "";
     private List<PRMItemDTO> prmItemList;
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java
index 5160b07..6f929fb 100644
--- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java
@@ -27,7 +27,7 @@
      */
     private String typeName;
     /**
-     * 瑙嗗浘鍚�
+     * 琛ㄥ崟鍚�
      */
     private String viName;
     /**
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java
index b96d895..4a41dd5 100644
--- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java
@@ -1,6 +1,5 @@
 package com.vci.model;
 
-import com.vci.bo.ItemSeniorQueryBO;
 import com.vci.pagemodel.KeyValue;
 
 import java.util.ArrayList;
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java
index c6a3d65..16a13e6 100644
--- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/query/UIDataGridQuery.java
@@ -2,7 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.vci.starter.web.pagemodel.BaseQueryObject;
-import com.vci.web.util.Func;
+import com.vci.starter.web.util.Lcm.Func;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -61,21 +61,7 @@
     }
 
     public void setSourceData(Map<String, Object> sourceData) {
-        // TODO: 2024/12/2 Ludc 鐣岄潰浼犺繃鏉ョ殑Map鐨剉alue鍙兘鏄竴涓狹ap锛屾墍浠ュ皾璇曡浆鎹�
-        Map<String, Object> convertMap = new HashMap<>();
-        sourceData.keySet().stream().forEach(key->{
-            Object obj = sourceData.get(key);
-            try {
-                if(Func.isNotEmpty(obj)){
-                    convertMap.put(key,JSON.parseObject(obj.toString(), HashMap.class));
-                }
-            }catch (Exception e){
-                //涓嶆姏鍑哄紓甯革紝濡傛灉杞殑鏃跺�欐姤閿欏氨浠h〃鏄疭tring:String绫诲瀷锛岀洿鎺ュ線Map閲岄潰鏀�
-                convertMap.put(key,obj);
-                //e.printStackTrace();
-            }
-        });
-        this.sourceData = convertMap;
+        this.sourceData = sourceData;
     }
 
     public List<Map<String, String>> getSelectData() {
diff --git a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
index b21f501..2601a7f 100644
--- a/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -934,30 +934,6 @@
 				}
 				//鏀逛负閫掑綊锛屽鐞嗘ā鏉垮妯℃澘鐨勯棶棰�
 				this.recurReplaceCiMap(qt,replaceLowMap);
-				/*Map<String, ConditionItem> ciMap = condition.getCIMap();
-				ciMap.forEach((ciId,ci)->{
-					if(ci.isLeaf()) {
-						LeafInfo lInfo = ci.getLeafInfo();
-						String value = lInfo.getValue().getOrdinaryValue();
-						if(StringUtils.isNotBlank(value)){
-							if(value.contains("#")){
-								//绯荤粺鍙橀噺.鏀寔涓�涓�
-								//lInfo.getValue().setOrdinaryValue(systemVarValueMap.getOrDefault(value.toUpperCase(),""));
-							}else if(value.contains("${")){
-								//鏈�${xxxx}鐨勬柟寮�
-								if(!CollectionUtils.isEmpty(replaceLowMap)) {
-									try {
-										lInfo.getValue().setOrdinaryValue(VciBaseUtil.replaceByFreeMarker(value, replaceLowMap));
-									}catch (Throwable e){
-										logger.error("鍙兘閰嶇疆鏈夐棶棰橈紝鍦ㄨ浆鎹reemarker琛ㄨ揪寮忕殑鏃跺�欙紝娌℃湁鎵惧埌瀵瑰簲鐨勫�硷紝鐩墠琛ㄨ揪寮忎负{}",new String[]{value},e);
-									}
-								}
-							}else if(replaceLowMap.containsKey(value.toLowerCase())){
-								lInfo.getValue().setOrdinaryValue(replaceLowMap.get(value.toLowerCase()));
-							}
-						}
-					}
-				});*/
 			}
 		}catch(PLException e){
 			logger.error(e.code,e);
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java
index d267657..82cbbfd 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java
@@ -15,7 +15,7 @@
 import com.vci.query.UIDataGridQuery;
 import com.vci.query.UIFormQuery;
 import com.vci.query.UITreeQuery;
-import com.vci.web.service.UIDataServiceI;
+import com.vci.web.service.uidataservice.UIDataCommonServiceI;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +40,7 @@
      * 鐣岄潰鐨勬暟鎹湇鍔�
      */
     @Autowired
-    private UIDataServiceI uiDataService;
+    private UIDataCommonServiceI uiDataService;
 
     /**
      * 鏃ュ織
@@ -53,10 +53,17 @@
      * @return 鍒楄〃鏁版嵁
      */
     @PostMapping("/dataGridQuery")
-    @VciUnCheckRight
+    //@VciUnCheckRight
     @VciBusinessLog(operateName = "鍒楄〃鏁版嵁鐨勬煡璇�",description = "${param.btmname}閲岀殑${param.tableDefineId}")
-    public DataGrid dataGrid(UIDataGridQuery dataGridQuery) throws PLException {
-        return uiDataService.getDataForGrid(dataGridQuery);
+    public BaseResult dataGrid(UIDataGridQuery dataGridQuery) throws Exception {
+        try {
+            return BaseResult.dataGrid(uiDataService.getDataForGrid(dataGridQuery));
+        }catch (Exception e){
+            e.printStackTrace();
+            String errorMsg = "琛ㄥ崟鏁版嵁鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+ VciBaseUtil.getExceptionMessage(e);
+            logger.error(errorMsg);
+            throw new VciBaseException(errorMsg);
+        }
     }
 
     /**
@@ -65,7 +72,7 @@
      * @return 琛ㄥ崟鐨勬暟鎹�
      */
     @PostMapping("/dataFormQuery")
-    @VciUnCheckRight
+    //@VciUnCheckRight
     @VciBusinessLog(operateName = "琛ㄥ崟鐨勬煡璇�",description = "${param.btmname}閲岀殑${param.formDefineId}")
     public BaseResult<UIFormDataVO> getDataForForm(UIFormQuery formQuery){
         try {
@@ -84,7 +91,7 @@
      * @return 鏍戠殑鏁版嵁
      */
     @PostMapping("/getDataForTree")
-    @VciUnCheckRight
+    //@VciUnCheckRight
     @VciBusinessLog(operateName = "鏍戠殑鏌ヨ",description = "${param.btmname}")
     public BaseResult getDataForTree(UITreeQuery treeQuery){
         try {
@@ -103,7 +110,7 @@
      * @return 鏍戠殑鏁版嵁
      */
     @PostMapping("/getDataByTemp")
-    @VciUnCheckRight
+    //@VciUnCheckRight
     @VciBusinessLog(operateName = "鏌ヨ")
     public BaseResult getDataByTemp(UITreeQuery treeQuery){
         try {
@@ -122,7 +129,7 @@
      * @return 鎵ц鐨勭粨鏋�
      */
     @PostMapping("/addSave")
-    @VciUnCheckRight
+    //@VciUnCheckRight
     @VciBusinessLog(operateName = "娣诲姞鏁版嵁",description = "${param.btmname}")
     public BaseResult<Map<String,Object>> addSave(@RequestBody FormDataDTO formDataDTO){
         try {
@@ -296,6 +303,7 @@
         re.setData(dataMapList);
         return re;
     }
+
     /**
      * 鍙樻洿鎵�鏈夎��
      * @param btmname 涓氬姟绫诲瀷
@@ -332,4 +340,5 @@
             return objectBaseResult;
         }
     }
+
 }
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
index d6ec36d..496d033 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
@@ -165,12 +165,12 @@
         if(PortalVIType.Table.getName()==viType){
             lableName=PortalVIType.Table.getLabel();
         }
-        PortalVIVO portalVIVO = new PortalVIVO();
+        PortalVIVO portalVIVO = null;
         PortalVI portalVI = platformClientUtil.getPortalService().getPortalVIById(id);
         if(portalVI==null||StringUtils.isBlank(portalVI.id)){
             throw new VciBaseException("鏍规嵁涓婚敭鏈煡璇㈠埌鏁版嵁");
         }
-        portalVIVO=portalVIDOO2VO(portalVI);
+        portalVIVO = portalVIDOO2VO(portalVI);
         return portalVIVO;
     }
 
@@ -892,7 +892,7 @@
 
     @Override
     public  PortalVIVO portalVIDOO2VO(PortalVI portalVI) {
-        PortalVIVO portalVIVO=new PortalVIVO();
+        PortalVIVO portalVIVO = new PortalVIVO();
         portalVIVO.setId(portalVI.id);
         portalVIVO.setTypeFlagText(PortalVITypeFlag.getByIntVal(portalVI.typeFlag).getLabel());
         portalVIVO.setTypeFlag(portalVI.typeFlag);
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 d07d472..af8bfa8 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
@@ -30,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;
@@ -414,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);
 	}
 
 	/**
@@ -1201,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) {
@@ -1213,8 +1216,7 @@
 			if(!CollectionUtils.isEmpty(componentVOList)){
 				return componentVOList.get(0);
 			}
-		}
-		return null;
+		}*/
 	}
 
 	/**
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataBaseServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataBaseServiceI.java
new file mode 100644
index 0000000..87c06ef
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataBaseServiceI.java
@@ -0,0 +1,79 @@
+package com.vci.web.service.uidataservice;
+
+import com.alibaba.fastjson.JSON;
+import com.vci.pagemodel.UIFormDataVO;
+import com.vci.query.UIDataGridQuery;
+import com.vci.query.UIFormQuery;
+import com.vci.query.UITreeQuery;
+import com.vci.starter.web.exception.VciBaseException;
+import com.vci.starter.web.pagemodel.BaseResult;
+import com.vci.starter.web.pagemodel.DataGrid;
+import com.vci.starter.web.pagemodel.UIDataTree;
+import com.vci.starter.web.util.Lcm.Func;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ui鏁版嵁鏌ヨ鍩虹鏈嶅姟锛堣鎺ュ彛瀹氫箟浜嗕竴浜涘叕鍏辩殑鏁版嵁鏌ヨ鏂规硶鍜屼竴浜涢粯璁ゆ柟娉曚互渚涚户鎵垮拰浣跨敤锛�
+ * @author ludc
+ * @date 2024/12/4 11:28
+ */
+public interface UIDataBaseServiceI {
+
+    /**
+     * 鍓嶇璇锋眰浼犺繃鏉ョ殑mao鐨剉alue浼氬嚭鐜癹son涓茬殑鎯呭喌锛岄渶瑕佽浆鎴恗ap瀵硅薄锛屾墍浠ヨ皟鐢ㄨ鏂规硶杩涜杞崲
+     * @param sourceData 婧恗ap瀵硅薄
+     */
+    default Map<String,Object> convertMapValueJson2Map(Map<String,Object> sourceData){
+        // TODO: 2024/12/2 Ludc 鐣岄潰浼犺繃鏉ョ殑Map鐨剉alue鍙兘鏄竴涓狹ap锛屾墍浠ュ皾璇曡浆鎹�
+        Map<String, Object> convertMap = new HashMap<>();
+        sourceData.keySet().stream().forEach(key->{
+            Object obj = sourceData.get(key);
+            try {
+                if(Func.isNotEmpty(obj)){
+                    convertMap.put(key, JSON.parseObject(obj.toString(), HashMap.class));
+                }
+            }catch (Exception e){
+                //涓嶆姏鍑哄紓甯革紝濡傛灉杞殑鏃跺�欐姤閿欏氨浠h〃鏄疭tring:String绫诲瀷锛岀洿鎺ュ線Map閲岄潰鏀�
+                convertMap.put(key,obj);
+                //e.printStackTrace();
+            }
+        });
+        return convertMap;
+    }
+
+    /**
+     * 鑾峰彇琛ㄦ牸鐨勬暟鎹�
+     * @param dataGridQuery 琛ㄦ牸鏌ヨ锛屽繀椤绘湁涓氬姟绫诲瀷鍚嶇О鍜� 琛ㄦ牸鐨勭紪鍙�
+     * @return DataGrid涓璬ata涓篗ap<String,String>鏍煎紡
+     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+     */
+    DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws Exception;
+
+    /**
+     * 鑾峰彇琛ㄥ崟鐨勬暟鎹�
+     * @param formQuery 琛ㄥ崟鐨勬煡璇㈡潯浠�
+     * @return 琛ㄥ崟鐨勬暟鎹�
+     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+     */
+    UIFormDataVO getDataForForm(UIFormQuery formQuery) throws Exception;
+
+    /**
+     * 鑾峰彇鏍戝舰鏁版嵁
+     * @param treeQuery 鏍戝舰鏌ヨ鏉′欢
+     * @return 鏍戝舰鏁版嵁
+     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+     */
+    List<UIDataTree> getDataForTree(UITreeQuery treeQuery) throws Exception;
+
+    /**
+     * 鑾峰彇鏍戝舰鏁版嵁(鏍规嵁鏌ヨ妯℃澘鏌ヨ瀵硅薄锛屼富瑕佺敤浜巃ction閰嶇疆鐨勬煡璇㈡ā鏉挎儏鍐典笅璋冪敤)
+     * @param treeQuery 鏍戝舰鏌ヨ鏉′欢
+     * @return 鏍戝舰鏁版嵁
+     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+     */
+    BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception;
+
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataCommonServiceI.java
similarity index 85%
rename from Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java
rename to Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataCommonServiceI.java
index c50a67e..96a203d 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIDataServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/UIDataCommonServiceI.java
@@ -1,4 +1,4 @@
-package com.vci.web.service;
+package com.vci.web.service.uidataservice;
 
 import com.vci.corba.common.PLException;
 import com.vci.corba.omd.data.BusinessObject;
@@ -8,10 +8,6 @@
 import com.vci.dto.*;
 import com.vci.pagemodel.OsBtmTypeVO;
 import com.vci.pagemodel.ReferConfigVO;
-import com.vci.pagemodel.UIFormDataVO;
-import com.vci.query.UIDataGridQuery;
-import com.vci.query.UIFormQuery;
-import com.vci.query.UITreeQuery;
 import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum;
 import com.vci.starter.web.exception.VciBaseException;
 import com.vci.starter.web.model.BaseModel;
@@ -22,43 +18,11 @@
 import java.util.Map;
 
 /**
- * 閫氳繃UI瀹氫箟鐨勬暟鎹搷浣滄湇鍔★紝鍖呮嫭澧炲垹鏀规煡 ,鍗囩増锛岃穬杩佺瓑
+ * 閫氳繃UI瀹氫箟鐨勬暟鎹搷浣滄湇鍔★紝鍖呮嫭澧炲垹鏀� ,鍗囩増锛岃穬杩佺瓑
  * @author weidy
  * @date 2021-2-16
  */
-public interface UIDataServiceI {
-
-    /**
-     * 鑾峰彇琛ㄦ牸鐨勬暟鎹�
-     * @param dataGridQuery 琛ㄦ牸鏌ヨ锛屽繀椤绘湁涓氬姟绫诲瀷鍚嶇О鍜� 琛ㄦ牸鐨勭紪鍙�
-     * @return DataGrid涓璬ata涓篗ap<String,String>鏍煎紡
-     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws VciBaseException, PLException;
-
-    /**
-     * 鑾峰彇琛ㄥ崟鐨勬暟鎹�
-     * @param formQuery 琛ㄥ崟鐨勬煡璇㈡潯浠�
-     * @return 琛ㄥ崟鐨勬暟鎹�
-     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException, PLException;
-
-    /**
-     * 鑾峰彇鏍戝舰鏁版嵁
-     * @param treeQuery 鏍戝舰鏌ヨ鏉′欢
-     * @return 鏍戝舰鏁版嵁
-     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    List<UIDataTree> getDataForTree(UITreeQuery treeQuery) throws Exception;
-
-    /**
-     * 鑾峰彇鏍戝舰鏁版嵁(鏍规嵁鏌ヨ妯℃澘鏌ヨ瀵硅薄)
-     * @param treeQuery 鏍戝舰鏌ヨ鏉′欢
-     * @return 鏍戝舰鏁版嵁
-     * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
-     */
-    BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception;
+public interface UIDataCommonServiceI extends UIDataBaseServiceI{
 
     /**
      * 璋冪敤鍓嶇疆浜嬩欢
@@ -266,6 +230,7 @@
      * @return 鎵ц鐨勭粨鏋�
      */
     BaseResult deleteBusinessObject(String btmname, String oid, int type) throws PLException;
+
     /**
      * 鍙樻洿鎵�鏈夎��
      * @param btmname 涓氬姟绫诲瀷
@@ -273,6 +238,7 @@
      * @return 鎵ц鐨勭粨鏋�
      */
     BaseResult changeBusinessObjectOwner(String btmname, String oid) throws PLException;
+
     /**
      * 鐘舵�佽穬杩�
      * @param btmname 涓氬姟绫诲瀷
@@ -281,4 +247,5 @@
      * @return 鎵ц鐨勭粨鏋�
      */
     BaseResult transferBusinessObject(String btmname, String oid, String toStatus, String releaseStatus) throws PLException;
+
 }
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java
similarity index 97%
rename from Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
rename to Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java
index 1ce66c2..6c38eee 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/uidataservice/impl/UIDataCommonServiceImpl.java
@@ -1,4 +1,4 @@
-package com.vci.web.service.impl;
+package com.vci.web.service.uidataservice.impl;
 
 import com.vci.client.common.oq.OQTool;
 import com.vci.common.qt.object.QueryTemplate;
@@ -38,6 +38,10 @@
 import com.vci.web.enumpck.UIFieldTypeEnum;
 import com.vci.web.enumpck.UITreeLoadTypeEnum;
 import com.vci.web.service.*;
+import com.vci.web.service.impl.WebBoServiceImpl;
+import com.vci.web.service.impl.WebLoServiceImpl;
+import com.vci.web.service.uidataservice.UIDataBaseServiceI;
+import com.vci.web.service.uidataservice.UIDataCommonServiceI;
 import com.vci.web.util.PlatformClientUtil;
 import com.vci.web.util.WebUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -55,12 +59,12 @@
 
 
 /**
- * UI涓婄殑鏁版嵁鏌ヨ
- * @author weidy
- * @date 2021/3/3
+ * UI涓婄殑鏁版嵁鏌ヨ(閫氱敤鏌ヨ鏈嶅姟)
+ * @author Ludc
+ * @date 2024/12/04
  */
 @Service
-public class UIDataServiceImpl implements UIDataServiceI {
+public class UIDataCommonServiceImpl implements UIDataCommonServiceI {
 
     /**
      * 骞冲彴鐨勮皟鐢ㄥ鎴风
@@ -147,9 +151,13 @@
     @Override
     public DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws VciBaseException, PLException {
         VciBaseUtil.alertNotNull(dataGridQuery,"鏌ヨ瀵硅薄",dataGridQuery.getBtmname(),"涓氬姟绫诲瀷",dataGridQuery.getTableDefineId());
+        // TODO: 2024/12/4 Ludc 鍓嶇浼犺繃鏉ョ殑sourceData鍙傛暟鐨剉laue鍙兘鏄痡son杩欏効鍋氫竴涓嬪鐞�
+        if(Func.isNotEmpty(dataGridQuery.getSourceData())){
+            dataGridQuery.setSourceData(this.convertMapValueJson2Map(dataGridQuery.getSourceData()));
+        }
         //鍏堝垽鏂煡璇㈡ā鏉�
         UITableDefineVO tableDefineVO = uiEngineService.getComponentByOid(dataGridQuery.getComponentOid(),null).getTableDefineVO();
-        String queryTemplate = !CollectionUtils.isEmpty(dataGridQuery.getSourceData())? (String) dataGridQuery.getSourceData().getOrDefault("querytemplate",tableDefineVO.getQueryTemplateName()) :tableDefineVO.getQueryTemplateName();
+        String queryTemplate = Func.isNotEmpty(dataGridQuery.getSourceData())? (String) dataGridQuery.getSourceData().getOrDefault("querytemplate",tableDefineVO.getQueryTemplateName()) :tableDefineVO.getQueryTemplateName();
         if(StringUtils.isBlank(queryTemplate)){
             //璇存槑娌℃湁璁剧疆鏌ヨ妯℃澘锛岄渶瑕佺湅鐪嬪湪杩欎釜琛ㄦ牸鎵�鍦ㄧ殑缁勪欢鏈夋病鏈夎缃�
             tableDefineVO = uiEngineService.getTableById(dataGridQuery.getBtmname(), dataGridQuery.getTableDefineId());
@@ -226,6 +234,10 @@
     @Override
     public UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException, PLException {
         VciBaseUtil.alertNotNull(formQuery,"琛ㄥ崟鐨勬煡璇㈠璞�",formQuery.getBtmname(),"涓氬姟绫诲瀷鐨勪俊鎭�",formQuery.getOid(),"涓氬姟鏁版嵁鐨勪富閿�",formQuery.getFormDefineId(),"琛ㄥ崟鐨勫畾涔夌紪鍙�");
+        // TODO: 2024/12/4 Ludc 鍓嶇浼犺繃鏉ョ殑sourceData鍙傛暟鐨剉laue鍙兘鏄痡son杩欏効鍋氫竴涓嬪鐞�
+        if(Func.isNotEmpty(formQuery.getSourceData())){
+            formQuery.setSourceData(this.convertMapValueJson2Map(formQuery.getSourceData()));
+        }
         UIFormDefineVO formDefineVO = uiEngineService.getFormById(formQuery.getBtmname(),formQuery.getFormDefineId());
         String queryTemplate = !CollectionUtils.isEmpty(formQuery.getSourceData())? (String) formQuery.getSourceData().getOrDefault("querytemplate",formDefineVO.getQueryTemplateName()) :formDefineVO.getQueryTemplateName();
         Set<String> queryFieldList = formDefineVO.getItems().stream().filter(s->!UIFieldTypeEnum.CUSTOM.getValue().equalsIgnoreCase(s.getType())).map(UIFormItemVO::getField).collect(Collectors.toSet());
@@ -326,7 +338,6 @@
 
     /**
      * 灏佽replaceMap
-
      * @param sourceDataMap 鏉ユ簮鏁版嵁
      * @return 鏇挎崲鍚庣殑鍊�
      */
@@ -357,6 +368,10 @@
     @Override
     public List<UIDataTree> getDataForTree(UITreeQuery treeQuery) throws Exception {
         VciBaseUtil.alertNotNull(treeQuery,"琛ㄥ崟鐨勬煡璇㈠璞�",treeQuery.getBtmname(),"涓氬姟绫诲瀷鐨勪俊鎭�",treeQuery.getComponentOid(),"鏍戞墍鍦ㄧ殑缁勪欢鐨勪富閿�");
+        // TODO: 2024/12/4 Ludc 鍓嶇浼犺繃鏉ョ殑sourceData鍙傛暟鐨剉laue鍙兘鏄痡son杩欏効鍋氫竴涓嬪鐞�
+        if(Func.isNotEmpty(treeQuery.getSourceData())){
+            treeQuery.setSourceData(this.convertMapValueJson2Map(treeQuery.getSourceData()));
+        }
         Map<String, OsAttributeVO> attributeVOMap = attrService.selectAllAttributeMap();
         UIComponentVO componentVO = uiEngineService.getComponentByOid(treeQuery.getComponentOid(),attributeVOMap);
         if(componentVO == null || StringUtils.isBlank(componentVO.getOid())){
@@ -570,6 +585,10 @@
     @Override
     public BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception {
         VciBaseUtil.alertNotNull(treeQuery,"琛ㄥ崟鐨勬煡璇㈠璞�",treeQuery.getComponentOid(),"褰撳墠缁勪欢鐨勪富閿�");
+        // TODO: 2024/12/4 Ludc 鍓嶇浼犺繃鏉ョ殑sourceData鍙傛暟鐨剉laue鍙兘鏄痡son杩欏効鍋氫竴涓嬪鐞�
+        if(Func.isNotEmpty(treeQuery.getSourceData())){
+            treeQuery.setSourceData(this.convertMapValueJson2Map(treeQuery.getSourceData()));
+        }
         //1銆佸厛鏌ヨ椤甸潰瀹氫箟缁勪欢
         Map<String, OsAttributeVO> attributeVOMap = attrService.selectAllAttributeMap();
         UIComponentVO componentVO = uiEngineService.getComponentByOid(treeQuery.getComponentOid(),attributeVOMap);
@@ -755,6 +774,16 @@
             Map<String, Object> returnMap = new HashMap<>();
             returnMap.put((String) cloMap.get("linktypename"),cloMap);
             returnMap.put((String) cbo2Map.get("btmname"),cbo2Map);
+            // TODO: 2024/12/4 Ludc 灏嗕竴浜涢噸瑕佺殑鍚庣画鍙兘闇�瑕佺敤鍒扮殑灞炴�ф斁鍏ョ涓�灞侻ap
+            String fOid = (String)cbo2Map.get("f_oid");
+            if(Func.isNotBlank(fOid)){
+                returnMap.put("f_oid",fOid);
+            }else{
+                if(Func.isNotEmpty(cbo2Map.get("oid"))){
+                    returnMap.put("oid",cbo2Map.get("oid").toString());
+                }
+            }
+
             tree.setAttributes(returnMap);
             tree.setIndex(i[0] + "");
             i[0]++;

--
Gitblit v1.9.3