| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * UI定义服务界面相关接口 |
| | | * UI定义管理服务界面相关接口 |
| | | * @author ludc |
| | | * @date 2024/8/28 17:05 |
| | | */ |
| | |
| | | public DataGrid getTabByContextIdAndType(String contextId, int areaType) throws PLException { |
| | | VciBaseUtil.alertNotNull(contextId,"上下文主键",areaType,"区域类型"); |
| | | PLTabPage[] plTabPages = platformClientUtil.getUIService().getTabPagesByContextIdAndType(contextId, (short) areaType); |
| | | List<PLTabPage> tabPageList = Arrays.stream(plTabPages).sorted(((o1, o2) -> Math.toIntExact(o1.plSeq - o2.plSeq))) |
| | | .collect(Collectors.toList()); |
| | | DataGrid dataGrid = new DataGrid(); |
| | | dataGrid.setTotal(plTabPages.length); |
| | | dataGrid.setData(Arrays.asList(plTabPages)); |
| | | dataGrid.setData(tabPageList); |
| | | return dataGrid; |
| | | } |
| | | |
| | |
| | | String type = StringUtils.isBlank(conditionMap.get("type")) ? "" : conditionMap.get("type"); |
| | | String context = StringUtils.isBlank(conditionMap.get("context")) ? "" : conditionMap.get("context"); |
| | | boolean showCheckBox = Boolean.parseBoolean(conditionMap.get("showCheckBox")); |
| | | Map<String,RoleRightVO> roleRightVOMap = new HashMap<>(); |
| | | Map<String, List<RoleRightVO>> roleRightVOMap = new HashMap<>(); |
| | | if(StringUtils.isNotBlank(roleId)){ |
| | | String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | RoleRightInfo[] rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); |
| | | List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos)); |
| | | roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue)); |
| | | roleRightVOMap = this.getRoleRightMap(roleId); |
| | | } |
| | | BizType[] bizTypes = osBtmServiceI.getBizTypes(type); |
| | | List<Tree> treeList=new ArrayList<>(); |
| | |
| | | rootNode.setExpanded(true); |
| | | List<Tree> childList=new ArrayList<>(); |
| | | |
| | | //long startTime = System.currentTimeMillis(); |
| | | uiDataFetcher = new UIDataFetcher(); |
| | | for (int i = 0; i < bizTypes.length; i++) { |
| | | Tree bizTypeTree = new Tree(bizTypes[i].oid,bizTypes[i].name,bizTypes[i]);//(btmItems[i].label+" ["+ btmItems[i].name+"]", btmItems[i]); |
| | |
| | | bizTypeTree.setParentId(rootNode.getOid()); |
| | | bizTypeTree.setParentName(rootNode.getText()); |
| | | bizTypeTree.setParentBtmName(bizTypes[i].name); |
| | | //long startTime1 = System.currentTimeMillis(); |
| | | List<PLUILayout> contextList = uiDataFetcher.getContext(bizTypes[i].name/*+context*/); |
| | | //long endTime1 = System.currentTimeMillis(); |
| | | //System.out.println("============================================获取UI定义数据引擎耗时:"+((endTime1-startTime1)/1000)+"s"); |
| | | |
| | | List<Tree> btmChildList = new ArrayList<>(); |
| | | btmChildList.add(bizTypeTree); |
| | | setChildNode(btmChildList,contextList,roleRightVOMap,showCheckBox); |
| | | childList.add(bizTypeTree); |
| | | } |
| | | //long endTime = System.currentTimeMillis(); |
| | | //System.out.println("============================================UI定义树计算完毕耗时:"+((endTime-startTime)/1000)+"s"); |
| | | rootNode.setChildren(childList); |
| | | treeList.add(rootNode); |
| | | return treeList; |
| | |
| | | |
| | | /** |
| | | * 根据角色主键获取已授权的信息 |
| | | * @param roleId |
| | | * @param roleId 如果roleId不传,就会获取当前登录的用户的名称查询权限 |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | /* @Override |
| | | public Map<String,RoleRightVO> getRightListByRoleId(String roleId) throws PLException { |
| | | VciBaseUtil.alertNotNull(roleId,"查询条件角色主键"); |
| | | String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | RoleRightInfo[] rightInfos= platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); |
| | | List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos)); |
| | | Map<String,RoleRightVO> roleRightVOMap = roleRightVOList.stream().collect(Collectors.toMap(RoleRightVO::getFuncId,roleRightVO ->roleRightVO,(oldValue,newOldValue)->oldValue)); |
| | | return roleRightVOMap; |
| | | }*/ |
| | | @Override |
| | | public Map<String, List<RoleRightVO>> getRoleRightMap(String roleId) throws PLException { |
| | | RoleRightInfo[] rightInfos = null; |
| | | String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | if(Func.isBlank(roleId)){ |
| | | rightInfos = platformClientUtil.getFrameworkService().getRoleRightByUserName(userName); |
| | | }else{ |
| | | rightInfos = platformClientUtil.getFrameworkService().getRoleRightList(roleId,userName); |
| | | } |
| | | List<RoleRightVO> roleRightVOList = roleRightDOO2VOS(Arrays.asList(rightInfos)); |
| | | //分组操作 |
| | | Map<String, List<RoleRightVO>> roleRightVOMap = roleRightVOList.stream().collect(Collectors.groupingBy(RoleRightVO::getFuncId, |
| | | Collectors.mapping(e ->e, Collectors.toList()))); |
| | | return roleRightVOMap; |
| | | } |
| | | |
| | | /*** |
| | | /** |
| | | * UI授权 |
| | | * @param uiAuthorDTO |
| | | * @return |
| | |
| | | * @param contextList |
| | | * @param isShowCheckBox |
| | | */ |
| | | private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String,RoleRightVO> roleRightVOMap, boolean isShowCheckBox){ |
| | | private void setChildNode(List<Tree> parentTree, List<PLUILayout>contextList,Map<String, List<RoleRightVO>> roleRightVOMap, boolean isShowCheckBox){ |
| | | Optional.ofNullable(parentTree).orElseGet(()->new ArrayList<>()).stream().forEach(pTree -> { |
| | | Object funcObj = pTree.getData(); |
| | | List<Tree> chiledTreeList = new ArrayList<>(); |
| | |
| | | PLTabButton plTabButton = (PLTabButton) funcObj; |
| | | String id = plTabButton.plTableOId; |
| | | if(roleRightVOMap.containsKey(id)){ |
| | | RoleRightVO roleRightVO = roleRightVOMap.get(id); |
| | | Long rightValue = roleRightVO.getRightValue(); |
| | | RoleRightVO roleRightVO = roleRightVOMap.get(id).get(0); |
| | | Long rightValue = roleRightVO.getRightValue(); |
| | | int nodeValue = plTabButton.plSeq; |
| | | if (nodeValue >= 0 && nodeValue <= 63) { |
| | | long preValue = (rightValue >> nodeValue) & 1; |
| | |
| | | d.setSearchTarger(searchTarger); |
| | | d.setShowType(btmType); |
| | | d.setTemplateId(txtVIName); |
| | | d.setOrientation("positive"); |
| | | d.setQueryTemplateName(txtQTName); |
| | | d.setExpandCols(expandCols); |
| | | d.setExpandMode(expandMode); |
| | |
| | | d.setShowType(btmType); |
| | | d.setLinkType(linkType); |
| | | d.setTemplateId(queryTemplateName); |
| | | d.setOrientation("positive"); |
| | | d.setRootContent(showExpressionRoot.trim()); |
| | | d.setShowAbs(showExpression.trim()); |
| | | d.setShowLinkAbs(refTreeSet.trim()); |