From 7d7b42822d9a11f8fa107fc3bbbbd518f0a7ef91 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期六, 09 十一月 2024 01:17:28 +0800
Subject: [PATCH] 1、修复系统功能模块-》管理功能模块修改是否有效功能修改无效问题。 2、Action管理,Action分类删除报错问题修改。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 14 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 a420aad..f0db871 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
@@ -12,6 +12,7 @@
 import com.vci.corba.framework.data.*;
 import com.vci.corba.omd.data.BusinessObject;
 import com.vci.corba.portal.data.PLUILayout;
+import com.vci.dto.RoleInfoDTO;
 import com.vci.dto.RoleRightDTO;
 import com.vci.dto.RoleRightParamDTO;
 import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
@@ -262,7 +263,7 @@
             }
             MenuVO functionVO = new MenuVO();
             functionVO.setId(menu.id);
-            functionVO.setSource(menu.image);
+            functionVO.setSource(menu.icon);
             //if(StringUtils.isBlank(menu.resourceB)){
             //    continue;
             //}
@@ -437,11 +438,12 @@
      * @param funcInfo
      * @return
      */
-    private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo){
+    private MenuVO functionInfoToMenuVO(FunctionInfo funcInfo)
+    {
         MenuVO menuVO = new MenuVO();
         menuVO.setId(funcInfo.id);
-        menuVO.setValid(funcInfo.isValid);
-        menuVO.setSource(funcInfo.image);
+        menuVO.setIsValid(funcInfo.isValid);
+        menuVO.setSource(funcInfo.icon);
         menuVO.setPathC(funcInfo.resourceC);
         menuVO.setResourceDotNet(funcInfo.resourceDotNet);
         menuVO.setResourceMobile(funcInfo.resourceMobile);
@@ -490,7 +492,7 @@
             }
             MenuVO functionVO = new MenuVO();
             functionVO.setId(menu.id);
-            functionVO.setSource(menu.image);
+            functionVO.setSource(menu.icon);
 //            if(StringUtils.isBlank(menu.resourceB) ){
 //                continue;
 //            }
@@ -531,6 +533,7 @@
                 menuVO.setSort((int) funcObj.seq);
                 findChildAuthFunctionVO(menuVO, isAll);
                 functionVO.getChildren().add(menuVO);
+                functionVO.setHasChildren(true);
             }
         }else if(type == 2){
             FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(functionVO.getId(), "", true);
@@ -549,6 +552,7 @@
                 menuVO.setIsValid(info.isValid);
                 menuVO.setHasChildren(false);
                 functionVO.getChildren().add(menuVO);
+                functionVO.setHasChildren(true);
             }
         }else{
             functionVO.setHasChildren(false);
@@ -580,15 +584,13 @@
     public List<String> getSysModelAuth(String roleId) throws PLException {
 
         RoleRightInfo[] roleRightList = platformClientUtil.getFrameworkService().getRoleRightList(roleId, WebUtil.getCurrentUserId());
-        Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue));
+        Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue,
+                (existing, replacement) -> existing));
         String parentId;
         SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
         boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId());
         if (adminOrDeveloperOrRoot) {
             //绯荤粺鑿滃崟
-            parentId = SYSTEMMANAGMENTNODE;
-        } else if (rightControlUtil.isThreeAdminCurUser()) {
-            //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
             parentId = SYSTEMMANAGMENTNODE;
         } else {
             //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
@@ -598,7 +600,7 @@
         List<String> authList = new ArrayList<>();
         for (FunctionInfo functionInfo : moduleListByParentId) {
             if(authMap.containsKey(functionInfo.id)){
-                authList.add(functionInfo.id);
+//                authList.add(functionInfo.id);
                 getChildAuthNode(functionInfo, authMap, authList);
             }
         }
@@ -685,6 +687,33 @@
         return BaseResult.success();
     }
 
+    /**
+     * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄�
+     * @param roleName 鎼滅储鐨勮鑹�
+     * @return 瑙掕壊鍒楄〃
+     */
+    @Override
+    public List<RoleInfoDTO> getRoleList(String roleName) throws PLException {
+        RoleInfo[] roleInfos = platformClientUtil.getFrameworkService().fetchRoleInfoByUserType(WebUtil.getCurrentUserId());
+        List<RoleInfoDTO> dtos = new ArrayList<>();
+        for (RoleInfo roleInfo : roleInfos) {
+            if(StringUtils.isBlank(roleName) || roleInfo.name.indexOf(roleName) != -1) {
+                RoleInfoDTO dto = new RoleInfoDTO();
+                dto.setName(roleInfo.name);
+                dto.setDescription(roleInfo.description);
+                dto.setId(roleInfo.id);
+                dto.setGrantor(roleInfo.grantor);
+                dto.setType(roleInfo.type);
+                dto.setCreateTime(roleInfo.createTime);
+                dto.setCreateUser(roleInfo.createUser);
+                dto.setUpdateTime(roleInfo.updateTime);
+                dto.setUpdateUser(roleInfo.updateUser);
+                dtos.add(dto);
+            }
+        }
+        return dtos;
+    }
+
     private long countRightValue(List<RoleRightParamDTO> dtos){
         long value = 0;
         for (RoleRightParamDTO dto : dtos) {
@@ -707,7 +736,7 @@
             FunctionInfo[] funcInfos = platformClientUtil.getFrameworkService().getModuleListByParentId(funcObj.id, false);
             for(int i=0;i<funcInfos.length;i++){
                 if(authMap.containsKey(funcInfos[i].id)){
-                    authList.add(funcInfos[i].id);
+//                    authList.add(funcInfos[i].id);
                     getChildAuthNode(funcInfos[i], authMap, authList);
                 }
             }
@@ -1075,9 +1104,6 @@
         String parentId;
         if (adminOrDeveloperOrRoot) {
             //绯荤粺鑿滃崟
-            parentId = SYSTEMMANAGMENTNODE;
-        } else if (rightControlUtil.isThreeAdminCurUser()) {
-            //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
             parentId = SYSTEMMANAGMENTNODE;
         } else {
             //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�

--
Gitblit v1.9.3