From 99dda6d4254e062f386976e0d66c8379020d3944 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 九月 2024 16:34:18 +0800
Subject: [PATCH] 查询模板导出导入
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIManagerServiceImpl.java | 133 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 118 insertions(+), 15 deletions(-)
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);
}
--
Gitblit v1.10.0