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