From 1615c6851b507867f9090f8cafcb1a32d1dad6bc Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 06 九月 2024 12:09:57 +0800 Subject: [PATCH] 表单表格功能添加 --- Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PRMItemDO.java | 15 + Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java | 123 +++++++++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java | 18 ++ Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/RoleRightDO.java | 6 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java | 10 + Source/plt-web/plt-web-parent/plt-web/src/main/resources/application-dev.yml | 4 Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java | 14 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java | 32 +++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/tt.xml | 58 ++++++ Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java | 14 + Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/UIAuthorDTO.java | 73 ++++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 133 +++++++++++++- 12 files changed, 478 insertions(+), 22 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java index 73670f7..11387e0 100644 --- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PRMItemDTO.java @@ -141,6 +141,11 @@ * 鏋氫妇鍊� */ private List<String> itemValueList = null; + /*** + * 鏋氫妇鍊奸泦鍚� + */ + private List<KeyValue> itemKeyValueList=new ArrayList<>(); + /** *涓�绾у弬鐓� */ @@ -695,6 +700,14 @@ // } + public List<KeyValue> getItemKeyValueList() { + return itemKeyValueList; + } + + public void setItemKeyValueList(List<KeyValue> itemKeyValueList) { + this.itemKeyValueList = itemKeyValueList; + } + @Override public String toString() { return "PRMItemDTO{" + @@ -729,6 +742,7 @@ ", itemScript='" + itemScript + '\'' + ", itemTips='" + itemTips + '\'' + ", itemValueList=" + itemValueList + + ", itemKeyValueList=" + itemKeyValueList + ", itemListTable='" + itemListTable + '\'' + ", itemListTxt='" + itemListTxt + '\'' + ", itemListVal='" + itemListVal + '\'' + diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java new file mode 100644 index 0000000..4e3b571 --- /dev/null +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightDTO.java @@ -0,0 +1,123 @@ +package com.vci.dto; + +import java.io.Serializable; +import java.util.Date; + +/** + * UI鏉冮檺 + * @author xiej + * @date 2024-09-05 + */ +public class RoleRightDTO implements Serializable { + + + private static final long serialVersionUID = 2956142041726150499L; + + /** + * ID + */ + private String id = ""; + /** + *瑙掕壊ID + */ + private String roleId = ""; + /** + * 妯″潡ID + */ + private String funcId = ""; + /** + * 鏉冮檺鍊� + */ + private long rightValue = -1; + /** + * 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2 + */ + private short rightType = -1; + + /**鏂板鏁版嵁鍒涘缓鑰咃紝淇敼鑰咃紝鍒涘缓鏃堕棿锛屼慨鏀规椂闂达紝鎺堟潈鑰�***/ + private String createUser = ""; + private Date createTime = new Date(); + private String licensor = ""; + private String modifyUser = ""; + private Date modifyTime = new Date(); + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getRoleId() { + return roleId; + } + + public void setRoleId(String roleId) { + this.roleId = roleId; + } + + public String getFuncId() { + return funcId; + } + + public void setFuncId(String funcId) { + this.funcId = funcId; + } + + public long getRightValue() { + return rightValue; + } + + public void setRightValue(long rightValue) { + this.rightValue = rightValue; + } + + public short getRightType() { + return rightType; + } + + public void setRightType(short rightType) { + this.rightType = rightType; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getLicensor() { + return licensor; + } + + public void setLicensor(String licensor) { + this.licensor = licensor; + } + + public String getModifyUser() { + return modifyUser; + } + + public void setModifyUser(String modifyUser) { + this.modifyUser = modifyUser; + } + + public Date getModifyTime() { + return modifyTime; + } + + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } +} diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/UIAuthorDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/UIAuthorDTO.java new file mode 100644 index 0000000..6dfa82d --- /dev/null +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/UIAuthorDTO.java @@ -0,0 +1,73 @@ +package com.vci.dto; + +import com.vci.starter.web.pagemodel.Tree; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +/** + * 鎺堟潈瀵硅薄 + * @author xiej + * @date 2024-09-05 + */ +public class UIAuthorDTO implements Serializable { + private static final long serialVersionUID = -1996329568646378902L; + /** + *瑙掕壊ID + */ + private String roleId; + /** + *涓氬姟绫诲瀷 + */ + private String type; + /** + *涓婁笅鏂� + */ + private String context; + /** + * 鎺堟潈鐨勮妭鐐� + */ + List<Tree> selectTreeList; + + public String getRoleId() { + return roleId; + } + + public void setRoleId(String roleId) { + this.roleId = roleId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getContext() { + return context; + } + + public void setContext(String context) { + this.context = context; + } + + public List<Tree> getSelectTreeList() { + return selectTreeList; + } + + public void setSelectTreeList(List<Tree> selectTreeList) { + this.selectTreeList = selectTreeList; + } + + @Override + public String toString() { + return "UIAuthorDTO{" + + "roleId='" + roleId + '\'' + + ", type='" + type + '\'' + + ", context='" + context + '\'' + + ", selectTreeList=" + selectTreeList + + '}'; + } +} 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 c758bb8..24ffb05 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 @@ -127,7 +127,10 @@ * 鏋氫妇鍊� */ private List<String> itemValueList = null; - + /*** + * 鏋氫妇鍊奸泦鍚� + */ + private List<KeyValue> itemKeyValueList=new ArrayList<>(); /** *涓�绾у弬鐓� */ @@ -664,6 +667,15 @@ public void setItemDateFormat(String itemDateFormat) { this.itemDateFormat = itemDateFormat; } + + public List<KeyValue> getItemKeyValueList() { + return itemKeyValueList; + } + + public void setItemKeyValueList(List<KeyValue> itemKeyValueList) { + this.itemKeyValueList = itemKeyValueList; + } + @Override public String toString() { return "PRMItemDO{" + @@ -693,6 +705,7 @@ ", itemScript='" + itemScript + '\'' + ", itemTips='" + itemTips + '\'' + ", itemValueList=" + itemValueList + + ", itemKeyValueList=" + itemKeyValueList + ", itemListTable='" + itemListTable + '\'' + ", itemListTxt='" + itemListTxt + '\'' + ", itemListVal='" + itemListVal + '\'' + diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/RoleRightDO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/RoleRightDO.java index 6c1fb38..a2af5d9 100644 --- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/RoleRightDO.java +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/RoleRightDO.java @@ -8,9 +8,9 @@ import java.util.Date; /** - * 鐘舵�佹睜 - * @author weidy - * @date 2022-2-15 + * UI鏉冮檺 + * @author xiej + * @date 2024-09-05 */ @VciBtmType(name = "UIAuthor",text = "UI鏉冮檺",tableName = "PLROLERIGHT",lifeCycle = FrameWorkLcStatusConstant.EMTYPE_LIFE_CYCLE) @Transient diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java index 667ea91..8632263 100644 --- a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java +++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PRMItemVO.java @@ -144,7 +144,10 @@ * 鏋氫妇鍊� */ private List<String> itemValueList = null; - + /*** + * 鏋氫妇鍊奸泦鍚� + */ + private List<KeyValue> itemKeyValueList=new ArrayList<>(); /** *涓�绾у弬鐓� @@ -633,6 +636,14 @@ this.itemSearchFieldList = itemSearchFieldList; } + public List<KeyValue> getItemKeyValueList() { + return itemKeyValueList; + } + + public void setItemKeyValueList(List<KeyValue> itemKeyValueList) { + this.itemKeyValueList = itemKeyValueList; + } + @Override public String toString() { return "PRMItemVO{" + @@ -667,6 +678,7 @@ ", itemScript='" + itemScript + '\'' + ", itemTips='" + itemTips + '\'' + ", itemValueList=" + itemValueList + + ", itemKeyValueList=" + itemKeyValueList + ", itemListTable='" + itemListTable + '\'' + ", itemListTxt='" + itemListTxt + '\'' + ", itemListVal='" + itemListVal + '\'' + diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java index ad4c627..c4f3896 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/UIManagerController.java @@ -3,6 +3,8 @@ import com.vci.corba.common.PLException; import com.vci.corba.portal.data.PLUILayout; import com.vci.dto.OsBtmTypeDTO; +import com.vci.dto.RoleRightDTO; +import com.vci.dto.UIAuthorDTO; import com.vci.pagemodel.PLUILayoutCloneVO; import com.vci.starter.web.annotation.log.VciBusinessLog; import com.vci.starter.web.pagemodel.BaseQueryObject; @@ -169,4 +171,20 @@ } } + /*** + * @param selectTreeList 鍕鹃�夌殑闇�瑕佷繚瀛樼殑鏁版嵁瀵硅薄 + * @return + */ + @PostMapping( "/authorizedUI") + @VciBusinessLog(operateName = "UI鎺堟潈") + public BaseResult authorizedUI(UIAuthorDTO uiAuthorDTO){ + try { + return uiManagerService.authorizedUI(uiAuthorDTO)?BaseResult.success("鎺堟潈鎴愬姛!"):BaseResult.fail("鎺堟潈澶辫触锛�"); + }catch (Throwable e) { + e.printStackTrace(); + String exceptionMessage = "UI鎺堟潈鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java index 0001abd..f81e881 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/UIManagerServiceI.java @@ -2,6 +2,8 @@ import com.vci.corba.common.PLException; import com.vci.corba.portal.data.PLUILayout; +import com.vci.dto.RoleRightDTO; +import com.vci.dto.UIAuthorDTO; import com.vci.pagemodel.PLUILayoutCloneVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; @@ -70,4 +72,12 @@ * @throws VciBaseException */ List<Tree> getUIAuthor(BaseQueryObject baseQueryObject)throws Exception; + + /*** + * UI鎺堟潈 + * @param uiAuthorDTO + * @return + * @throws Exception + */ + public boolean authorizedUI(UIAuthorDTO uiAuthorDTO)throws Exception; } 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 5db621e..36e1356 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 @@ -988,6 +988,15 @@ prmItemDO.setItemHttpPathField(prmItemDTO.getItemHttpPathField()); if(viType==PortalVIType.Table.getIntVal()) {//濡傛灉鏄〃鏍� initTableConfigDTOO2DOData(prmItemDO,prmItemDTO); + }else{ + List<String> itemValueList=new ArrayList<>(); + List<KeyValue> keyValueList=prmItemDTO.getItemKeyValueList(); + Optional.ofNullable(keyValueList).orElseGet(()->new ArrayList<>()).stream().forEach(keyValue -> { + String value= keyValue.getValue()+"{"+keyValue.getKey()+"}"; + itemValueList.add(value); + }); + prmItemDO.setItemValueList(itemValueList); + } return prmItemDO; } @@ -1052,8 +1061,20 @@ prmItemVO.setItemIsHttpSave(prmItemDO.getItemIsHttpSave()); prmItemVO.setItemHttpVolumnPath(prmItemDO.getItemHttpVolumnPath()); prmItemVO.setItemHttpPathField(prmItemDO.getItemHttpPathField()); + if(viType==PortalVIType.Table.getIntVal()) {//濡傛灉鏄〃鏍� initTableConfigDOO2VOData(prmItemVO,prmItemDO); + }else{ + List<String> enumList= prmItemDO.getItemValueList(); + List<KeyValue>itemKeyValueList=new ArrayList<>(); + Optional.ofNullable(enumList).orElseGet(()->new ArrayList<>()).stream().forEach(enumValue->{ + List<String> keyValueList= VciBaseUtil.str2List(VciBaseUtil.removeComma(enumValue,"}"),"\\{"); + KeyValue keyValue=new KeyValue(); + keyValue.setKey(keyValueList.get(1)); + keyValue.setValue(keyValueList.get(0)); + itemKeyValueList.add(keyValue); + }); + prmItemVO.setItemKeyValueList(itemKeyValueList); } return prmItemVO; } @@ -1120,6 +1141,17 @@ prmItemDTO.setItemHttpPathField(prmItemDO.getItemHttpPathField()); if(viType==PortalVIType.Table.getIntVal()) {//濡傛灉鏄〃鏍� initTableConfigDOO2VOData(prmItemDTO,prmItemDO); + }else{ + List<String> enumList= prmItemDO.getItemValueList(); + List<KeyValue>itemKeyValueList=new ArrayList<>(); + Optional.ofNullable(enumList).orElseGet(()->new ArrayList<>()).stream().forEach(enumValue->{ + List<String> keyValueList= VciBaseUtil.str2List(VciBaseUtil.removeComma(enumValue,"}"),"\\{"); + KeyValue keyValue=new KeyValue(); + keyValue.setKey(keyValueList.get(1)); + keyValue.setValue(keyValueList.get(0)); + itemKeyValueList.add(keyValue); + }); + prmItemDTO.setItemKeyValueList(itemKeyValueList); } return prmItemDTO; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java index 98d2f58..4dc9c1c 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java @@ -8,15 +8,14 @@ import com.vci.corba.omd.btm.BizType; import com.vci.corba.portal.PortalService; import com.vci.corba.portal.data.*; +import com.vci.dto.RoleRightDTO; +import com.vci.dto.UIAuthorDTO; import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI; import com.vci.pagemodel.OsBtmTypeVO; import com.vci.pagemodel.PLUILayoutCloneVO; import com.vci.pagemodel.RoleRightVO; import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.pagemodel.BaseQueryObject; -import com.vci.starter.web.pagemodel.DataGrid; -import com.vci.starter.web.pagemodel.SessionInfo; -import com.vci.starter.web.pagemodel.Tree; +import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.util.VciDateUtil; import com.vci.starter.web.util.WebThreadLocalUtil; @@ -111,16 +110,31 @@ /** * ton閫氳繃涓氬姟绫诲瀷鍜屽悕绉版煡璇� * @param btemName - * @param code + * @param context * @return * @throws PLException */ - public List<PLUILayout> getUIContextDataByBtName(String btemName,String code) throws PLException { + public List<PLUILayout> getUIContextDataByBtName(String btemName,String context) throws PLException { + VciBaseUtil.alertNotNull(btemName,"涓氬姟绫诲瀷"); List<PLUILayout> pluiLayoutList=new ArrayList<>(); - PLUILayout[] pluiLayouts= platformClientUtil.getUIService().getPLUILayoutEntityByTypeAndCode(btemName,code); - if(pluiLayouts!=null&&pluiLayouts.length>0){ - pluiLayoutList= Stream.of(pluiLayouts).collect(Collectors.toList()); + List<String> contextList= VciBaseUtil.str2List(context); + if(StringUtils.isNotBlank(context)){ + contextList=VciBaseUtil.str2List(context); + }else{ + contextList.add(""); } + contextList.stream().forEach(code->{ + PLUILayout[] pluiLayouts= new PLUILayout[0]; + try { + pluiLayouts = platformClientUtil.getUIService().getPLUILayoutEntityByTypeAndCode(btemName,code); + } catch (PLException e) { + e.printStackTrace(); + } + if(pluiLayouts!=null&&pluiLayouts.length>0) { + pluiLayoutList.addAll(Arrays.stream(pluiLayouts).collect(Collectors.toList())); + } + }); + return pluiLayoutList; } @@ -319,17 +333,93 @@ bizTypeTree.setParentId(rootNode.getOid()); bizTypeTree.setParentName(rootNode.getText()); bizTypeTree.setShowCheckbox(true); + bizTypeTree.setParentBtmName(bizTypes[i].name); childList.add(bizTypeTree); - List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context); - List<Tree> btmChildList=new ArrayList<>(); - btmChildList.add(bizTypeTree); - setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); + if(roleRightVOMap.containsKey(bizTypes[i].oid)){ + List<PLUILayout>contextList=getUIContextDataByBtName(bizTypes[i].name,context); + List<Tree> btmChildList=new ArrayList<>(); + btmChildList.add(bizTypeTree); + setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); + } } rootNode.setChildren(childList); treeList.add(rootNode); return treeList; } + @Override + public boolean authorizedUI(UIAuthorDTO uiAuthorDTO) throws Exception { + boolean res=false; + if(uiAuthorDTO==null||CollectionUtil.isEmpty(uiAuthorDTO.getSelectTreeList())){ + throw new VciBaseException("璇烽�夋嫨鑺傜偣杩涜鎺堟潈!"); + } + BaseQueryObject treeQueryObject=new BaseQueryObject(); + Map<String,String> conditionMap = new HashMap<>(); + conditionMap.put("roleId",uiAuthorDTO.getRoleId()); + conditionMap.put("type",uiAuthorDTO.getType()); + conditionMap.put("context",uiAuthorDTO.getContext()); + conditionMap.put("showCheckBox","true"); + treeQueryObject.setConditionMap(conditionMap); + List<Tree> treeList=this.getUIAuthor(treeQueryObject); + HashMap<String,Tree> allTreeMap=new HashMap<>(); + if(!CollectionUtil.isEmpty(treeList)){ + convertTreeDOO2Map(treeList,allTreeMap); + List<RoleRightDTO> roleRightDTOList=new ArrayList<>(); + List<Tree> selectTreeList= uiAuthorDTO.getSelectTreeList(); + getRoleRightDTOS(uiAuthorDTO.getRoleId(),selectTreeList,allTreeMap,roleRightDTOList); + } + return res; + } + + private void getRoleRightDTOS(String roleOid,List<Tree> selectTreeList,HashMap<String,Tree> allTreeMap, List<RoleRightDTO> roleRightDTOList){ + selectTreeList.stream().forEach(tree -> { + RoleRightDTO roleRightDTO=new RoleRightDTO(); + String id=ObjectUtility.getNewObjectID36(); + Object data= tree.getData(); + + if (data instanceof BizType) {//涓氬姟绫诲瀷 + BizType bizType=(BizType)data; + roleRightDTO.setId(id);//涓婚敭 + roleRightDTO.setCreateUser(null);//鍒涘缓鑰� + roleRightDTO.setCreateTime(null);//鍒涘缓鏃堕棿 + roleRightDTO.setModifyUser(null);//淇敼鑰� + roleRightDTO.setModifyTime(null);//淇敼鏃堕棿 + roleRightDTO.setRoleId(roleOid);//瑙掕壊ID + roleRightDTO.setRightValue(1);// 鏉冮檺鍊� + roleRightDTO.setRightType((short) -1);//鏉冮檺绫诲瀷 鏉冮檺绫诲瀷锛岃秴绾х鐞嗗憳缁欑鐞嗗憳鎺堟潈涓�1锛岀鐞嗗憳缁欐櫘閫氱敤鎴锋巿鏉冧负2 + roleRightDTO.setFuncId(null); + roleRightDTO.setLicensor(null); + }else if (data instanceof PLUILayout){//UI + + }else if (data instanceof PLTabPage) {//UI涓婁笅鏂� + + + }else if (data instanceof PLPageDefination) {// + + + }else if (data instanceof PLTabButton) {//鎸夐挳 + + } + }); + + + + } + + /** + * + * @param treeList 鏍戣妭鐐� + * @param allTreeMap锛屾墍鏈夌殑鑺傜偣 + */ + private void convertTreeDOO2Map(List<Tree> treeList,Map<String,Tree> allTreeMap){ + Optional.ofNullable(treeList).orElseGet(()->new ArrayList<Tree>()).stream().forEach(tree -> { + List<Tree> childTreeList= tree.getChildren(); + allTreeMap.put(tree.getOid(),tree); + if(!CollectionUtil.isEmpty(childTreeList)){ + convertTreeDOO2Map(childTreeList,allTreeMap); + } + }); + } private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap,boolean isShowCheckBox){ Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<Tree>()).stream().forEach(pTree -> { Object funcObj= pTree.getData(); @@ -340,6 +430,7 @@ contextList.stream().forEach(context->{ Tree childTree=new Tree(context.plOId,context.plName+"("+context.plCode+")",context); childTree.setParentName(pTree.getText()); + childTree.setParentBtmName(pTree.getParentBtmName()); childTree.setParentId(pTree.getOid()); childTree.setLevel(pTree.getLevel()+1); childTree.setShowCheckbox(isShowCheckBox); @@ -364,6 +455,7 @@ Tree childTree=new Tree(plTabPage.plOId,plTabPage.plName,plTabPage); childTree.setParentName(pTree.getText()); childTree.setParentId(pTree.getOid()); + childTree.setParentBtmName(pTree.getParentBtmName()); childTree.setLevel(pTree.getLevel()+1); childTree.setShowCheckbox(isShowCheckBox); chiledTreeList.add(childTree); @@ -385,6 +477,7 @@ Tree childTree=new Tree(plPageDefination.plOId,plPageDefination.name,plPageDefination); childTree.setParentName(pTree.getText()); childTree.setParentId(pTree.getOid()); + childTree.setParentBtmName(pTree.getParentBtmName()); childTree.setLevel(pTree.getLevel()+1); childTree.setShowCheckbox(isShowCheckBox); chiledTreeList.add(childTree); @@ -409,6 +502,7 @@ Tree childTree=new Tree(plTabButton.plOId,plTabButton.plLabel,plTabButton); childTree.setParentName(pTree.getText()); childTree.setParentId(pTree.getOid()); + childTree.setParentBtmName(pTree.getParentBtmName()); childTree.setLevel(pTree.getLevel()+1); childTree.setShowCheckbox(isShowCheckBox); childTree.setLeaf(true); @@ -424,9 +518,18 @@ } }else if (funcObj instanceof PLTabButton) {//鎸夐挳 - String id = ((PLTabButton) funcObj).plTableOId; + PLTabButton plTabButton= (PLTabButton) funcObj; + String id =plTabButton.plTableOId; if(roleRightVOMap.containsKey(id)){ - pTree.setChecked(true); + RoleRightVO roleRightVO = roleRightVOMap.get(id); + Long rightValue = roleRightVO.getRightValue(); + int nodeValue = plTabButton.plSeq; + if (nodeValue >= 0 && nodeValue <= 63) { + long preValue = (rightValue >> nodeValue) & 1; + if (preValue == 1) { + pTree.setChecked(true); + } + } }else{ pTree.setChecked(false); } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/tt.xml b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/tt.xml new file mode 100644 index 0000000..77520d7 --- /dev/null +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/tt.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<JD_DATASET> + <JD_SHOWCOLS>3</JD_SHOWCOLS> + <JD_FORMQTNAME></JD_FORMQTNAME> + <JD_ITEM> + <JD_field></JD_field> + <JD_or></JD_or> + <JD_eq></JD_eq> + <JD_trim></JD_trim> + <JD_dbl>0</JD_dbl> + <JD_cut></JD_cut> + <JD_inObj>assignedpartform</JD_inObj> + <JD_addFilter>test闄勫姞鏌ヨ鏉′欢</JD_addFilter> + <JD_outType></JD_outType> + <JD_pageSize>10</JD_pageSize> + <JD_imgWH>60,</JD_imgWH> + <JD_outFields>workcontextoid.productnumber,isexpire,partoid.name</JD_outFields> + <JD_keyFields></JD_keyFields> + <JD_bat></JD_bat> + <JD_txf></JD_txf> + <JD_name></JD_name> + <JD_type></JD_type> + <JD_value></JD_value> + <JD_showExpression></JD_showExpression> + <JD_dateFormat></JD_dateFormat> + <JD_cols></JD_cols> + <JD_rows></JD_rows> + <JD_style></JD_style> + <JD_script></JD_script> + <JD_tips></JD_tips> + <JD_valuelist></JD_valuelist> + <JD_listTable></JD_listTable> + <JD_listTxt></JD_listTxt> + <JD_listVal></JD_listVal> + <JD_isEditable></JD_isEditable> + <JD_EditableProgram></JD_EditableProgram> + <JD_qtName></JD_qtName> + <JD_isRequired></JD_isRequired> + <JD_seniorQueryCols></JD_seniorQueryCols> + <JD_seniorQueryColsCounts></JD_seniorQueryColsCounts> + <JD_hrefFields></JD_hrefFields> + <JD_hrefConf></JD_hrefConf> + <JD_queryRefFields></JD_queryRefFields> + <JD_customClass></JD_customClass> + <JD_ctrlDisplyCol></JD_ctrlDisplyCol> + <JD_ctrlDisplyCondition></JD_ctrlDisplyCondition> + <JD_isHttpSave></JD_isHttpSave> + <JD_httpVolumnPath></JD_httpVolumnPath> + <JD_httpPathField></JD_httpPathField> + <JD_editCondition></JD_editCondition> + <JD_isNavigatorExpand>true</JD_isNavigatorExpand> + <JD_isShowFolder>true</JD_isShowFolder> + <JD_parentFolderName>father</JD_parentFolderName> + <JD_filterColWidth>250</JD_filterColWidth> + <JD_QuerySql></JD_QuerySql> + <JD_right></JD_right> + </JD_ITEM> +</JD_DATASET> \ No newline at end of file diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/resources/application-dev.yml b/Source/plt-web/plt-web-parent/plt-web/src/main/resources/application-dev.yml index 0ac1964..c541904 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/resources/application-dev.yml +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ private-token-key: vciweb20210212 ###tomcat鐩稿叧鐨勯厤缃� server: - port: 12000 + port: 12005 servlet: context-path: /web tomcat: @@ -42,7 +42,7 @@ host: localhost # ip鍦板潃 database: 2 # redis鏁版嵁搴� 0-15 port: 6379 # 绔彛鍙� - password: 123456 # 鏃犲瘑鐮佷笉濉� + password: foobared # 鏃犲瘑鐮佷笉濉� timeout: 30000s # 杩炴帴瓒呮椂鏃堕棿 锛堥粯璁�1澶╋級 lettuce: shutdown-timeout: 100ms # 鍏抽棴瓒呮椂鏃堕棿 榛樿 100ms -- Gitblit v1.9.3