From 9e20b9fb77a41cb5b4a6eb6213fc51cab1f0bb91 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 23 八月 2024 18:00:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 353 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 262 insertions(+), 91 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java index 751c7ec..8cde4ca 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java @@ -1,23 +1,37 @@ package com.vci.frameworkcore.compatibility.impl; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.vci.client.common.providers.ServiceProvider; +import com.alibaba.fastjson.JSONReader; +import com.vci.client.ClientSession; +import com.vci.common.exception.VciException; +import com.vci.common.locale.LocaleDisplay; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.FuncOperationInfo; import com.vci.corba.framework.data.FunctionInfo; +import com.vci.corba.framework.data.OperateInfo; +import com.vci.corba.framework.data.RoleRightInfo; +import com.vci.corba.omd.data.BusinessObject; import com.vci.corba.portal.data.PLUILayout; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum; -import com.vci.frameworkcore.model.SmFunctionForPlatform1; -import com.vci.frameworkcore.model.SmRoleForPlatform1; -import com.vci.frameworkcore.pagemodel.MenuVO; -import com.vci.frameworkcore.pagemodel.SmFunctionVO; +import com.vci.model.SmFunctionForPlatform1; +import com.vci.model.SmRoleForPlatform1; +import com.vci.pagemodel.MenuVO; +import com.vci.pagemodel.SmFunctionVO; +import com.vci.omd.utils.ObjectTool; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; +import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; -import com.vci.web.pageModel.UIContentVO; +import com.vci.pagemodel.UIContentVO; +import com.vci.web.properties.JsonConfigReader; import com.vci.web.service.UIEngineServiceI; import com.vci.web.service.WebBoServiceI; +import com.vci.web.util.Func; +import com.vci.web.util.PlatformClientUtil; +import com.vci.web.util.RightControlUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -46,9 +60,17 @@ /** * 鑿滃崟鐨勬牴鑺傜偣涓婚敭锛岃繖涓槸骞冲彴瀹氫箟鐨� */ - private final String ROOT_MENU_Id = "modelManagmentNode"; + private final String ROOT_MENU_ID = "modelManagmentNode"; + /** + * 绠$悊鍔熻兘妯″潡鑿滃崟鏍硅妭鐐� + */ + private final String SYSTEMMANAGMENTNODE = "systemManagmentNode"; + /** + * 鎿嶄綔绫诲瀷绠$悊鑿滃崟鏍硅妭鐐� + */ + private final String OPERATENODE = "operateNode"; /** * 浣跨敤鐢ㄦ埛鏌ヨ @@ -70,6 +92,12 @@ @Autowired private UIEngineServiceI uiEngineServiceI; + + @Autowired + private PlatformClientUtil platformClientUtil; + + @Autowired + RightControlUtil rightControlUtil; /** * 鏌ヨ鎵�鏈夌殑鍔熻兘 @@ -149,7 +177,7 @@ private SmFunctionVO functionForPlatform1ToFunctionVO(SmFunctionForPlatform1 functionForPlatform1){ SmFunctionVO functionVO = new SmFunctionVO(); functionVO.setOid(functionForPlatform1.getPloid()); - functionVO.setId(String.valueOf(functionForPlatform1.getPlmoduleno())); + //functionVO.setId(String.valueOf(functionForPlatform1.getPlmoduleno())); functionVO.setName(functionForPlatform1.getPlname()); functionVO.setLogName(functionForPlatform1.getPlaliasname()); if(StringUtils.isNotBlank(functionForPlatform1.getPlresourceb())){ @@ -189,38 +217,11 @@ functionVO.setDescription(functionForPlatform1.getPldesc()); } } - + functionVO.setBtmname("function"); //鑰佺殑鏁版嵁閲屽垱寤轰汉锛屾渶鍚庝慨鏀逛汉绛夐兘娌℃湁 return functionVO; } - -// /** -// * 鑾峰彇褰撳墠瑙掕壊鐨勮彍鍗� -// * -// * @param treeQueryObject 灞炴�ф煡璇㈠璞� -// * @param resourceControlTypeEnum 瑙掕壊鎺у埗鍖哄煙锛屼篃鏄姛鑳芥帶鍒剁殑鍖哄煙 -// * @return 鑿滃崟锛屽寘鍚笂涓嬬骇 -// */ -// @Override -// public List<Tree> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) { -// SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException(); -// if(sessionInfo == null || CollectionUtils.isEmpty(sessionInfo.getFunctionOids())){ -// return new ArrayList<Tree>(); -// } -// if(resourceControlTypeEnum == null){ -// resourceControlTypeEnum = ResourceControlTypeEnum.BS; -// } -// Map<String, SmFunctionVO> functionVOMap = selectAllFunctionMap(); -// List<SmFunctionVO> functionVOList = new ArrayList<>(); -// for(String oid : sessionInfo.getFunctionOids()) { -// SmFunctionVO functionVO = functionVOMap.get(oid); -// if(functionVO !=null && resourceControlTypeEnum.getValue().equals(functionVO.getResourceControlType()) && functionVO.isDisplayFlag()) { -// functionVOList.add(functionVO); -// } -// } -// return dos2Trees(functionVOList.stream().sorted(Comparator.comparing(s -> s.getOrderNum())).collect(Collectors.toList()),treeQueryObject == null?null:treeQueryObject.getParentOid()); -// } /** * 鑾峰彇褰撳墠瑙掕壊鐨勮彍鍗� @@ -232,45 +233,51 @@ @Override public List<MenuVO> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws PLException { SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException(); -// if(sessionInfo == null || CollectionUtils.isEmpty(sessionInfo.getFunctionOids())){ -// return new ArrayList<Tree>(); -// } - if(resourceControlTypeEnum == null){ - resourceControlTypeEnum = ResourceControlTypeEnum.BS; + String parentId; + boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId()); + if (adminOrDeveloperOrRoot) { + //绯荤粺鑿滃崟 + parentId = SYSTEMMANAGMENTNODE; + } else if (rightControlUtil.isThreeAdminCurUser()) { + //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� + parentId = SYSTEMMANAGMENTNODE; + } else { + //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗� + parentId = ROOT_MENU_ID; } -// PortalServicePrx uiService = ServiceProvider.getUIService(); -// FrameworkServicePrx frameService = ServiceProvider.getFrameService(); - FunctionInfo[] menus = ServiceProvider.getFrameService().getModuleListByParentId("modelManagmentNode", true); -// FunctionInfo[] menus = ServiceProvider.getFrameService().("modelManagmentNode", true); + RoleRightInfo[] userRoleRights = rightControlUtil.getRoleRightByUserName(sessionInfo.getUserId()); + Map<String, List<FunctionInfo>> map = rightControlUtil.getAllChildrenFunctionsByUserName( + parentId, sessionInfo.getUserId(), userRoleRights); -// PLAction[] allPLAction = uiService.getAllPLAction(); List<MenuVO> functionVOList = new ArrayList<>(); -// Map<String, SmFunctionVO> functionVOMap = selectAllFunctionMap(); - for (FunctionInfo menu : menus) { + if(Func.isEmpty(map.get(parentId))) { + return functionVOList; + } + for (FunctionInfo menu : map.get(parentId)) { if(!menu.isValid){ continue; } MenuVO functionVO = new MenuVO(); functionVO.setId(menu.id); functionVO.setSource(menu.image); - if(StringUtils.isBlank(menu.resourceB)){ - continue; - } + //if(StringUtils.isBlank(menu.resourceB)){ + // continue; + //} functionVO.setPath(menu.resourceB); -// if(menu.resourceB.contains("type=") || menu.resourceB.contains("context=")){ -// String[] split = menu.resourceB.split("\\?")[0].split("="); -// functionVO.setPath((split.length>1 && split[1].equals("test") ? "/custom-ui/" :"/base/UIContentViewer") + menu.resourceB.substring(3)); -// }else{ -// functionVO.setPath("/views/" + menu.id); -//// functionVO.setPath("/" + menu.resourceB + menu.aliasName); -// } functionVO.setParentId(menu.parentId); functionVO.setCode(menu.aliasName); functionVO.setAlias(menu.aliasName); functionVO.setName(menu.name); functionVO.getMeta().put("keepAlive",false); functionVO.setSort((int) menu.seq); - functionVO.setChildren(findChildFunctionVO(menu.id)); + try { + functionVO.setChildren(findChildFunctionVO(menu.id, map)); + } catch (PLException e) { + e.printStackTrace(); + String errorMsg = "鑿滃崟鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(errorMsg); + throw new VciBaseException(errorMsg); + } if(functionVO.getChildren().size() > 0){ functionVO.setHasChildren(true); }else { @@ -278,13 +285,191 @@ } functionVOList.add(functionVO); } -// return dos2Trees(functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()),treeQueryObject == null?null:treeQueryObject.getParentOid()); + //濡傛灉鏄紑鍙戞垨鑰呮祴璇曠敤鎴凤紝闇�鍝熻幏鍙栫郴缁熸ā鍧楅厤缃彍鍗� + if(adminOrDeveloperOrRoot){ + //鑾峰彇棣栭〉绯荤粺妯″潡閰嶇疆鑿滃崟 + MenuVO menuVO = JsonConfigReader.getSysModuleConf().getSysModuleNode(); + if(Func.isNotEmpty(menuVO)){ + functionVOList.add(menuVO); + } + } return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); } - public List<MenuVO> findChildFunctionVO(String parentOid) throws PLException { - FunctionInfo[] menus = ServiceProvider.getFrameService().getModuleListByParentId(parentOid, true); + /** + * 閫氳繃妯″潡ID鑾峰彇瀛愮骇鍒楄〃 + * @param parentId + * @param modeType 妯″潡绫诲瀷 + * @param isAll 鏄惁鍖呮嫭鏃犳晥鐨勬ā鍧楋紝true鍒欏寘鎷� + * @return + * @throws VciBaseException + */ + @Override + public List<MenuVO> getSysModelTreeMenuByPID(String parentId,String modeType,boolean isAll) throws VciBaseException{ + List<MenuVO> menuVOList = new ArrayList<>(); + if(Func.isBlank(parentId)){ + return menuVOList; + } + boolean isFunctionObject = Func.isNotBlank(modeType) && modeType.equalsIgnoreCase("FunctionObject"); + if(parentId.equals("systemManagmentNode") || parentId.equals("modelManagmentNode") || isFunctionObject){ + int childType = this.checkChildObject(parentId); + if(isFunctionObject){ + try { + /**鍒ゆ柇璇ユā鍧椾笅瀛愬璞℃槸妯″潡杩樻槸鎿嶄綔锛�0琛ㄧず鏃犲瓙鑺傜偣锛�1琛ㄧず鏄ā鍧楋紝2琛ㄧず鏄搷浣�**/ + if(childType == 2){ + try{ + FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(parentId, "", false); + for(int i = 0;i < infos.length ;i++){ + FuncOperationInfo info = infos[i]; + MenuVO menuVO = new MenuVO(); + menuVO.setChildType(childType); + menuVO.setId(info.id); + menuVO.setCode(info.funcId); + menuVO.setId(info.operId); + menuVO.setName(info.operName); + //menuVO.setOperIndentify(info.operIndentify); + menuVO.setAlias(info.operAlias); + menuVO.setRemark(info.operDesc); + menuVO.setSort((int) info.number); + menuVO.setModeType("FunctionObject"); + menuVO.setIsValid(info.isValid); + menuVO.setHasChildren(false); + menuVOList.add(menuVO); + } + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code), e.messages); + } + }else if(childType == 1){ + try{ + FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(parentId, isAll); + for(int i = 0;i < funcInfos.length; i++){ + FunctionInfo funcInfo = funcInfos[i]; + MenuVO menuVO = this.functionInfoToMenuVO(funcInfo); + menuVO.setChildType(childType); + menuVO.setModeType("FunctionObject"); + menuVOList.add(menuVO); + } + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),e.messages); + } + } + } catch (Exception e) { + e.printStackTrace(); + throw new VciBaseException("妯″潡鏌ヨ鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+VciBaseUtil.getExceptionMessage(e)); + } + }else{ + try{ + MenuVO parentNode; + //灏嗚繑鍥炵殑鑺傜偣澶栧眰濂椾笂褰撳墠鐖惰妭鐐� + if(parentId.equals("systemManagmentNode")){ + parentNode = JsonConfigReader.getSysModuleConf().getSystemManagmentNode(); + }else{ + parentNode = JsonConfigReader.getSysModuleConf().getModelManagmentNode(); + } + List<MenuVO> menuVOS = new ArrayList<>(); + //鏌ヨ鐨勪笁绾ц妭鐐� + FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(parentId, isAll); + for(int i = 0;i < funcInfos.length; i++){ + FunctionInfo funcInfo = funcInfos[i]; + MenuVO menuVO = this.functionInfoToMenuVO(funcInfo); + menuVO.setModeType("FunctionObject"); + menuVO.setChildType(childType); + menuVOS.add(menuVO); + } + parentNode.setChildren(menuVOS); + menuVOList.add(parentNode); + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),e.messages); + } + } + }else if(parentId.equals("sysOptionNode")){ + //鍔犺浇鎵�鏈夋搷浣� + try{ + //灏嗚繑鍥炵殑鑺傜偣澶栧眰濂椾笂褰撳墠鐖惰妭鐐� + MenuVO parentNode = JsonConfigReader.getSysModuleConf().getOperateNode(); + List<MenuVO> menuVOS = new ArrayList<>(); + OperateInfo[] operateInfos = platformClientUtil.getFrameworkService().getOperateTreeList(parentId); + for(int i = 0; i < operateInfos.length;i++ ){ + OperateInfo operateInfo = operateInfos[i]; + MenuVO menuVO = new MenuVO(); + menuVO.setId(operateInfo.id); + menuVO.setName(operateInfo.name); + menuVO.setCode(operateInfo.identify); + menuVO.setAlias(operateInfo.alias); + menuVO.setCategory(2); + menuVO.setChildType(0); + menuVO.setRemark(operateInfo.desc); + menuVO.getMeta().put("keepAlive",false); + menuVO.setSort((int) operateInfo.seq); + menuVO.setModeType("operateObject"); + menuVO.setHasChildren(false); + menuVOS.add(menuVO); + } + parentNode.setChildren(menuVOS); + menuVOList.add(parentNode); + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),new String[]{VciBaseUtil.getExceptionMessage(e)}); + } + } + return menuVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); + } + + /** + * functionInfo杞琕O瀵硅薄 + * @param funcInfo + * @return + */ + private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo){ + MenuVO menuVO = new MenuVO(); + menuVO.setId(funcInfo.id); + menuVO.setValid(funcInfo.isValid); + menuVO.setSource(funcInfo.image); + menuVO.setPathC(funcInfo.resourceC); + menuVO.setResourceDotNet(funcInfo.resourceDotNet); + menuVO.setResourceMobile(funcInfo.resourceMobile); + menuVO.setPath(funcInfo.resourceB); + menuVO.setParentId(funcInfo.parentId); + menuVO.setCode(funcInfo.aliasName); + menuVO.setAlias(funcInfo.aliasName); + menuVO.setName(funcInfo.name); + menuVO.getMeta().put("keepAlive",false); + menuVO.setSort((int) funcInfo.seq); + if(this.checkChildObject(menuVO.getId()) == 0){ + menuVO.setHasChildren(false); + }else{ + menuVO.setHasChildren(true); + } + return menuVO; + } + + /** + * 閫氳繃妯″潡ID妫�鏌ヨ妯″潡瀛愮骇瀵硅薄鏄ā鍧楄繕鏄搷浣� + * @param moduleId + * @return 0琛ㄧず娌℃湁妯″潡涔熸病鏈夋搷浣滐紝1琛ㄧず鏈夋ā鍧楋紝2琛ㄧず鏈夋搷浣� + * @throws VciException + */ + @Override + public int checkChildObject(String moduleId) throws VciBaseException { + long res = 0; + try{ + res = ClientSession.getFrameworkService().checkChildObject(moduleId); + }catch (PLException e) { + e.printStackTrace(); + throw new VciBaseException(String.valueOf(e.code),e.messages); + } + return (int)res; + } + + public List<MenuVO> findChildFunctionVO(String parentOid,Map<String, List<FunctionInfo>> map) throws PLException { + List<FunctionInfo> menus = map.get(parentOid); List<MenuVO> functionVOList = new ArrayList<>(); + if(menus == null){ + return functionVOList; + } for (FunctionInfo menu : menus) { if(!menu.isValid){ continue; @@ -292,24 +477,17 @@ MenuVO functionVO = new MenuVO(); functionVO.setId(menu.id); functionVO.setSource(menu.image); - if(StringUtils.isBlank(menu.resourceB) ){ - continue; - } - functionVO.setPath(menu.resourceB); -// if(menu.resourceB.contains("type=") || menu.resourceB.contains("context=")){ -// String[] split = menu.resourceB.split("\\?")[0].split("="); -// functionVO.setPath((split.length>1 && split[1].equals("test") ? "/custom-ui/" :"/base/UIContentViewer") + menu.resourceB.substring(3)); -// }else{ -// functionVO.setPath("/views/" + menu.id); -//// functionVO.setPath("/" + menu.resourceB + menu.aliasName); +// if(StringUtils.isBlank(menu.resourceB) ){ +// continue; // } + functionVO.setPath(menu.resourceB); functionVO.setCode(menu.aliasName); functionVO.setAlias(menu.aliasName); functionVO.setParentId(menu.parentId); functionVO.setName(menu.name); functionVO.getMeta().put("keepAlive",false); functionVO.setSort((int) menu.seq); - functionVO.setChildren(findChildFunctionVO(menu.id)); + functionVO.setChildren(findChildFunctionVO(menu.id,map)); if(functionVO.getChildren().size() > 0){ functionVO.setHasChildren(true); }else { @@ -319,18 +497,14 @@ } return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList()); } - @Override public UIContentVO getUIContentByBtmTypeAndId(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws PLException { SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException(); -// if(sessionInfo == null || CollectionUtils.isEmpty(sessionInfo.getFunctionOids())){ -// return new ArrayList<Tree>(); -// } if(resourceControlTypeEnum == null){ resourceControlTypeEnum = ResourceControlTypeEnum.BS; } - for (PLUILayout allPLUILayout : ServiceProvider.getUIService().getAllPLUILayouts()) { + for (PLUILayout allPLUILayout : platformClientUtil.getUIService().getAllPLUILayouts()) { if(treeQueryObject.getConditionMap().getOrDefault("type","").equals(allPLUILayout.plRelatedType) && treeQueryObject.getConditionMap().getOrDefault("context","").equals(allPLUILayout.plCode)){ return uiEngineServiceI.UIContentDO2VO(allPLUILayout,true); @@ -338,9 +512,6 @@ } return null; } - - - /** * 鑾峰彇鎵�鏈夌殑鍔熻兘鑿滃崟 @@ -353,7 +524,7 @@ public List<Tree> treeAllMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) { List<SmFunctionVO> functionVOList = self.selectAllFunction().stream().filter(s -> s.isDisplayFlag() && resourceControlTypeEnum.getValue().equalsIgnoreCase(s.getResourceControlType())).collect(Collectors.toList()); if(!treeQueryObject.isQueryAllLevel() && StringUtils.isNotBlank(treeQueryObject.getParentOid())){ - functionVOList = functionVOList.stream().filter(s->treeQueryObject.getParentOid().equalsIgnoreCase(s.getParentFunctionId())).collect(Collectors.toList()); + functionVOList = functionVOList.stream().filter(s->treeQueryObject.getParentOid().equalsIgnoreCase(s.getParentFunctionId())).collect(Collectors.toList()); } return dos2Trees(functionVOList.stream().sorted(Comparator.comparing(s -> s.getOrderNum())).collect(Collectors.toList()),treeQueryObject == null?null:treeQueryObject.getParentOid()); } @@ -370,7 +541,7 @@ List<Tree> childList = new ArrayList<>(); functionVOList.stream().forEach(s -> { Tree tree = DO2Tree(s); - if (tree.getParentId() == null || tree.getParentId().equals(rootId) || ROOT_MENU_Id.equalsIgnoreCase(tree.getParentId())) { + if (tree.getParentId() == null || tree.getParentId().equals(rootId) || ROOT_MENU_ID.equalsIgnoreCase(tree.getParentId())) { rootList.add(tree); } else { childList.add(tree); @@ -414,7 +585,7 @@ public List<Tree> treeFunctionByParent(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) { List<SmFunctionVO> functionVOList = self.selectAllFunction().stream().filter(s -> s.isDisplayFlag() && resourceControlTypeEnum.getValue().equalsIgnoreCase(s.getResourceControlType())).collect(Collectors.toList()); if(!treeQueryObject.isQueryAllLevel() && StringUtils.isNotBlank(treeQueryObject.getParentOid())){ - functionVOList = functionVOList.stream().filter(s->treeQueryObject.getParentOid().equalsIgnoreCase(s.getParentFunctionId())).collect(Collectors.toList()); + functionVOList = functionVOList.stream().filter(s->treeQueryObject.getParentOid().equalsIgnoreCase(s.getParentFunctionId())).collect(Collectors.toList()); } return dos2Trees(functionVOList,treeQueryObject == null?null:treeQueryObject.getParentOid()); } @@ -430,12 +601,12 @@ public List<Tree> treeCurrentFunctionByParent(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) { SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfo(); List<SmFunctionVO> functionVOList =self.selectAllFunction().stream().filter(s -> s.isDisplayFlag() - && resourceControlTypeEnum.getValue().equalsIgnoreCase(s.getResourceControlType()) + && resourceControlTypeEnum.getValue().equalsIgnoreCase(s.getResourceControlType()) && !CollectionUtils.isEmpty(sessionInfo.getFunctionOids()) && sessionInfo.getFunctionOids().contains(s.getOid()) ).collect(Collectors.toList()); if(!treeQueryObject.isQueryAllLevel() && StringUtils.isNotBlank(treeQueryObject.getParentOid())){ - functionVOList = functionVOList.stream().filter(s->treeQueryObject.getParentOid().equalsIgnoreCase(s.getParentFunctionId())).collect(Collectors.toList()); + functionVOList = functionVOList.stream().filter(s->treeQueryObject.getParentOid().equalsIgnoreCase(s.getParentFunctionId())).collect(Collectors.toList()); } return dos2Trees(functionVOList,treeQueryObject == null?null:treeQueryObject.getParentOid()); } @@ -511,7 +682,7 @@ conditionMap.put(key,value); }); conditionMap.put("ploid", notIn ? QueryOptionConstant.NOTIN : QueryOptionConstant.IN + "select plfuncoid from plroleright where plroleoid in (" + WebUtil.toInSql(roleOids.toArray(new String[0])) + ")"); - VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(conditionMap,SmRoleForPlatform1.class); + VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(conditionMap, SmRoleForPlatform1.class); List<SmFunctionForPlatform1> functionForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmFunctionForPlatform1.class); if(!CollectionUtils.isEmpty(functionForPlatform1s)){ functions.addAll(functionForPlatform1s); @@ -563,12 +734,12 @@ if(!CollectionUtils.isEmpty(functionVOS)){ functionVOList.addAll(functionVOS); String sql = "select plfuncoid,plroleoid from plroleright where plroleoid in (" + WebUtil.toInSql(roleOids.toArray(new String[0])) + ")"; - List<com.vci.client.bof.ClientBusinessObject> cbos = boService.queryBySql(sql, null); + List<BusinessObject> cbos = boService.queryBySql(sql, null); if(!CollectionUtils.isEmpty(cbos)){ cbos.stream().forEach(cbo->{ - String roleOid = cbo.getAttributeValue("plroleoid"); + String roleOid = ObjectTool.getBOAttributeValue(cbo,"plroleoid"); List<String> functionOids = roleFunctionOidMap.getOrDefault(roleOid,new ArrayList<>()); - functionOids.add(cbo.getAttributeValue("plfuncoid")); + functionOids.add(ObjectTool.getBOAttributeValue(cbo,"plfuncoid")); roleFunctionOidMap.put(roleOid,functionOids); }); } @@ -634,6 +805,7 @@ } return dataGrid(queryMap,pageHelper); } + /** * 鎵归噺鏍规嵁瑙掕壊鐨勪富閿幏鍙栧叧鑱旂殑鏉冮檺 * @@ -666,7 +838,6 @@ } return gridFunctionByRoleOid(roleOidCollection.stream().collect(Collectors.joining(",")), queryMap,pageHelper,resourceControlTypeEnum,false); } - /** * 娓呴櫎缂撳瓨 -- Gitblit v1.9.3