From 889842eb8b64a0b72c449ce23ff21e4e8c935cae Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 26 七月 2024 16:06:49 +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 |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 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 4fad0ab..1414528 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
@@ -8,16 +8,17 @@
 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.pagemodel.SmFunctionVO;
 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.wrapper.VciQueryWrapperForDO;
-import com.vci.web.pageModel.UIContentVO;
+import com.vci.pagemodel.UIContentVO;
 import com.vci.web.service.UIEngineServiceI;
 import com.vci.web.service.WebBoServiceI;
 import com.vci.web.util.PlatformClientUtil;
@@ -228,6 +229,9 @@
         Map<String, List<FunctionInfo>> map = rightControlUtil.getAllChildrenFunctionsByUserName(
                 parentId, sessionInfo.getUserId(), userRoleRights);
         List<MenuVO> functionVOList = new ArrayList<>();
+        if(CollectionUtils.isEmpty(map.get(parentId))){
+            return functionVOList;
+        }
         for (FunctionInfo menu : map.get(parentId)) {
             if(!menu.isValid){
                 continue;
@@ -235,9 +239,9 @@
             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);
             functionVO.setParentId(menu.parentId);
             functionVO.setCode(menu.aliasName);
@@ -245,7 +249,7 @@
             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 {
@@ -256,9 +260,12 @@
         return functionVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList());
     }
 
-    public List<MenuVO> findChildFunctionVO(String parentOid) throws PLException {
-        FunctionInfo[] menus = platformClientUtil.getFrameworkService().getModuleListByParentId(parentOid, true);
+    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;
@@ -266,9 +273,9 @@
             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);
             functionVO.setCode(menu.aliasName);
             functionVO.setAlias(menu.aliasName);
@@ -276,7 +283,7 @@
             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 {
@@ -475,7 +482,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);

--
Gitblit v1.9.3