From a471b20fe8075a663f32b3a2ee0cd70c1c63baf7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 21 十一月 2024 21:59:42 +0800
Subject: [PATCH] 业务类型查询:树查询修改,数据列表查询接口修改(处理模板套模板情况下freemarker表达式的替换处理)。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIEngineServiceImpl.java    |    3 +
 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/MenuVO.java                    |   10 +----
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebUIDataController.java      |    4 +-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java       |   45 +++++++++++++++++++++-
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java      |   10 +++--
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java    |    2 
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java |    1 
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java       |   21 +++++++---
 8 files changed, 70 insertions(+), 26 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/MenuVO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/MenuVO.java
index 35aa1ce..88da7f8 100644
--- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/MenuVO.java
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/MenuVO.java
@@ -175,20 +175,12 @@
 		this.functionType = functionType;
 	}
 
-	public void setValid(Boolean valid) {
-		isValid = valid;
-	}
-
 	public void setHavePermission(Integer havePermission) {
 		this.havePermission = havePermission;
 	}
 
 	public int getFunctionType() {
 		return functionType;
-	}
-
-	public Boolean getValid() {
-		return isValid;
 	}
 
 	public Integer getHavePermission() {
@@ -231,6 +223,8 @@
 		return isValid;
 	}
 
+
+
 	public void setChildType(Integer childType) {
 		this.childType = childType;
 	}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
index e33e49b..2c265ad 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
@@ -56,7 +56,7 @@
     @VciBusinessLog(operateName = "鑾峰彇灞炴�э紙鏍戝舰缁撴瀯锛�")
     public BaseResult<List<Tree>> getTreeAttributesByBtmName(TreeQueryObject treeQueryObject){
         try {
-            List<Tree>  trees=   attributeService.getTreeAttributesByBtmName(treeQueryObject);
+            List<Tree> trees = attributeService.getTreeAttributesByBtmName(treeQueryObject);
             return BaseResult.dataList(trees);
           //  return BaseResult.tree(trees);
         }catch (Throwable 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 316cb50..fcd2b12 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
@@ -86,9 +86,9 @@
     @PostMapping("/getDataForTree")
     @VciUnCheckRight
     @VciBusinessLog(operateName = "鏍戠殑鏌ヨ",description = "${param.btmname}")
-    public List<Tree> getDataForTree(UITreeQuery treeQuery){
+    public BaseResult getDataForTree(UITreeQuery treeQuery){
         try {
-            return uiDataService.getDataForTree(treeQuery);
+            return BaseResult.tree(uiDataService.getDataForTree(treeQuery));
         }catch (Exception e){
             e.printStackTrace();
             String errorMsg = "鏍戠殑鏁版嵁鏌ヨ鍑虹幇閿欒锛屽師鍥狅細"+ VciBaseUtil.getExceptionMessage(e);
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
index b4860b3..e9ee19a 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -229,7 +229,6 @@
 				pTree.setExpanded(true);
 			}
 		}
-
 	}
 
 	/**
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/impl/UIDataServiceImpl.java
index e07bba7..084c5b0 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/impl/UIDataServiceImpl.java
@@ -185,7 +185,7 @@
         queryFieldList.add("creator_name");
         queryFieldList.add("lastmodifier_name");
         //鎴戜滑鍦ㄥ悗鍙版煡璇笟鍔℃暟鎹�
-        Map<String, String> replaceMap = wrapperReplaceMap( dataGridQuery.getSourceData());
+        Map<String, String> replaceMap = wrapperReplaceMap(dataGridQuery.getSourceData());
 
         if(dataGridQuery.isLinkTypeFlag()){
             UILinkTypeDataQuery linkTypeDataQuery = new UILinkTypeDataQuery();
@@ -367,10 +367,11 @@
         if(treeQuery.getExtandParamsMap() != null){
             treeQuery.getConditionMap().putAll(treeQuery.getExtandParamsMap());
         }
-        String parentFieldName = treeQuery.getParentFieldName();
+       String parentFieldName = treeQuery.getParentFieldName();
         if(parentFieldName.contains(",")){
             parentFieldName = parentFieldName.split(",")[0];
         }
+        //TODO: 杩欏効涓哄暐瑕佸皢鏍硅妭鐐规樉绀鸿〃杈惧紡鏀惧埌鏌ヨ鏉′欢涓幓锛岃繖鏍峰氨浼氬鑷磋繖涓妭鐐硅褰撴垚鏌ヨ鏉′欢鍘绘煡璇�
         if(StringUtils.isNotBlank(parentFieldName)){
             if(StringUtils.isNotBlank(treeQuery.getParentOid())){
                 treeQuery.getConditionMap().put(parentFieldName,treeQuery.getParentOid());
@@ -410,7 +411,7 @@
                     if(StringUtils.isBlank(parentFieldNameAndValue) || !parentFieldNameAndValue.contains(",")){
                         throw new VciBaseException("閰嶇疆鐨勪俊鎭湁璇�傚湪娌℃湁鍦ㄨ彍鍗曟垨鑰呮潵婧愭暟鎹缃牴鑺傜偣鐨勬煡璇㈡ā鏉挎椂锛岃鍦ㄦ爲鐨勩�愬弬鐓ф爲銆戜笂璁剧疆涓婄骇瀛楁鐨勫悕绉板拰鏍硅妭鐐圭殑鏌ヨ鐨勫�笺�傛瘮濡倄xxx,yyy銆傚叾涓瓁xxx鏄笂绾у瓧娈佃嫳鏂囧悕绉�");
                     }
-                    parentFieldName= parentFieldNameAndValue.split(",")[0];
+                    parentFieldName = parentFieldNameAndValue.split(",")[0];
                     String rootQueryValue = parentFieldNameAndValue.split(",")[1];
                     treeQuery.getConditionMap().put(parentFieldName,rootQueryValue);
                     replaceMap.put(parentFieldName,rootQueryValue);
@@ -706,7 +707,8 @@
             Map<String,String> cbo2Map = boService.cbo2Map(cbo);
             if(!CollectionUtils.isEmpty(cbo2Map)){
                 cbo2Map.forEach((key,value)->{
-                    cloMap.put(parentFieldName + "." + key,value);
+                    //TODO: 杩欏効涓哄暐瑕佹嫾鎺ヤ笂parentFieldName锛屽鑷村悗闈reemarker琛ㄨ揪寮忔棤娉曟纭浛鎹�
+                    cloMap.put(/*parentFieldName + "." +*/ key,value);
                 });
             }
             tree.setOid(getValueByExpressForBOAndLO(cloMap,cbo2Map,valueField));
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 a91ac07..2d19927 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
@@ -1371,7 +1371,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());
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
index 12701d1..4fab207 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -26,6 +26,7 @@
 import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
 import com.vci.web.properties.WebProperties;
 import com.vci.web.service.*;
+import com.vci.web.util.Func;
 import com.vci.web.util.PlatformClientUtil;
 import com.vci.web.util.WebUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -942,7 +943,9 @@
 						replaceLowMap.put(key.toLowerCase(),value);
 					});
 				}
-				Map<String, ConditionItem> ciMap = condition.getCIMap();
+				//鏀逛负閫掑綊锛屽鐞嗘ā鏉垮妯℃澘鐨勯棶棰�
+				this.recurReplaceCiMap(qt,replaceLowMap);
+				/*Map<String, ConditionItem> ciMap = condition.getCIMap();
 				ciMap.forEach((ciId,ci)->{
 					if(ci.isLeaf()) {
 						LeafInfo lInfo = ci.getLeafInfo();
@@ -965,7 +968,7 @@
 							}
 						}
 					}
-				});
+				});*/
 			}
 		}catch(PLException e){
 			logger.error(e.code,e);
@@ -978,6 +981,44 @@
 	}
 
 	/**
+	 * 閫掑綊澶勭悊ciMap涓�兼浛鎹㈤棶棰�,澶勭悊妯℃澘濂楁ā鏉跨殑闂
+	 * @param qt
+	 * @param replaceLowMap
+	 */
+	private void recurReplaceCiMap(QueryTemplate qt, Map<String,String> replaceLowMap){
+		//璺冲嚭閫掑綊
+		if(Func.isEmpty(qt)){
+			return;
+		}
+		Map<String, ConditionItem> ciMap = qt.getCondition().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()));
+					}
+				}else {
+					recurReplaceCiMap(lInfo.getValue().getQueryTemplate(),replaceLowMap);
+				}
+			}
+		});
+	}
+
+	/**
 	 * 鏍规嵁鏌ヨ妯℃澘鏉ユ煡璇㈡暟鎹�
 	 * @param queryScheme 鏌ヨ鏂规
 	 * @param conditionMap 鏌ヨ鏉′欢
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java
index 5eab0de..59d7a9f 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java
@@ -75,18 +75,25 @@
 		LO_BASE_FIELD_MAP.put("oid","oid");
 		LO_BASE_FIELD_MAP.put("creator","creator");
 		LO_BASE_FIELD_MAP.put("createTime","createTime");
-		LO_BASE_FIELD_MAP.put("lastModifier","lastModifier");
-		LO_BASE_FIELD_MAP.put("lastModifyTime","lastModifyTime");
+		//LO_BASE_FIELD_MAP.put("lastModifier","lastModifier");
+		//LO_BASE_FIELD_MAP.put("lastModifyTime","lastModifyTime");
+		LO_BASE_FIELD_MAP.put("modifier","lastModifier");
+		LO_BASE_FIELD_MAP.put("modifyTime","lastModifyTime");
 		LO_BASE_FIELD_MAP.put("fromOid","f_oid");
-		LO_BASE_FIELD_MAP.put("fromRevisionOid","f_revisionoid");
+		//LO_BASE_FIELD_MAP.put("fromRevisionOid","f_revisionoid");
+		LO_BASE_FIELD_MAP.put("fromRevOid","f_revisionoid");
 		LO_BASE_FIELD_MAP.put("fromNameOid","f_nameoid");
-		LO_BASE_FIELD_MAP.put("fromBTMName","f_btwname");
-		LO_BASE_FIELD_MAP.put("toRevisionOid","t_revisionoid");
+		//LO_BASE_FIELD_MAP.put("fromBTMName","f_btwname");
+		LO_BASE_FIELD_MAP.put("fromBTName","f_btwname");
+		//LO_BASE_FIELD_MAP.put("toRevisionOid","t_revisionoid");
+		LO_BASE_FIELD_MAP.put("toRevOid","t_revisionoid");
 		LO_BASE_FIELD_MAP.put("toNameOid","t_nameoid");
-		LO_BASE_FIELD_MAP.put("toBTMName","t_btwname");
+		//LO_BASE_FIELD_MAP.put("toBTMName","t_btwname");
+		LO_BASE_FIELD_MAP.put("toBTName","t_btwname");
 		LO_BASE_FIELD_MAP.put("toOid","t_oid");
 		LO_BASE_FIELD_MAP.put("ts","ts");
-		LO_BASE_FIELD_MAP.put("linkTypeName","linkTypeName");
+		//LO_BASE_FIELD_MAP.put("linkTypeName","linkTypeName");
+		LO_BASE_FIELD_MAP.put("ltName","linkTypeName");
 	}
 
 

--
Gitblit v1.9.3