From bbf34989894913f3db3f785c79d30069397ce11e Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 31 七月 2024 15:02:07 +0800
Subject: [PATCH] 属性池、状态池、枚举导出列名调整,可通过变量控制导出的列名是否和导入模板的一致;版本管理查询、查看应用范围接口上传。
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java | 68 ++++++++++++++++++++++-----------
1 files changed, 45 insertions(+), 23 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 abc70d4..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
@@ -3,21 +3,26 @@
import com.alibaba.fastjson.JSONObject;
import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.FunctionInfo;
+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.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;
+import com.vci.web.util.RightControlUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -74,6 +79,8 @@
@Autowired
private PlatformClientUtil platformClientUtil;
+ @Autowired
+ RightControlUtil rightControlUtil;
/**
* 鏌ヨ鎵�鏈夌殑鍔熻兘
*
@@ -208,21 +215,33 @@
@Override
public List<MenuVO> treeCurrentUserMenu(TreeQueryObject treeQueryObject, ResourceControlTypeEnum resourceControlTypeEnum) throws PLException {
SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
- if(resourceControlTypeEnum == null){
- resourceControlTypeEnum = ResourceControlTypeEnum.BS;
+ String parentId;
+
+ if (rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId())) {
+ // 绯荤粺鑿滃崟
+ parentId = "systemManagmentNode" ;
+ } else if (rightControlUtil.isThreeAdminCurUser()) {
+ parentId = "systemManagmentNode" ;
+ } else {
+ parentId = "modelManagmentNode" ;
}
- FunctionInfo[] menus = platformClientUtil.getFrameworkService().getModuleListByParentId("modelManagmentNode", true);
+ RoleRightInfo[] userRoleRights = rightControlUtil.getRoleRightByUserName(sessionInfo.getUserId());
+ Map<String, List<FunctionInfo>> map = rightControlUtil.getAllChildrenFunctionsByUserName(
+ parentId, sessionInfo.getUserId(), userRoleRights);
List<MenuVO> functionVOList = new ArrayList<>();
- for (FunctionInfo menu : menus) {
+ if(CollectionUtils.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);
functionVO.setParentId(menu.parentId);
functionVO.setCode(menu.aliasName);
@@ -230,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 {
@@ -241,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;
@@ -251,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);
@@ -261,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 {
@@ -460,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);
@@ -512,12 +534,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);
});
}
--
Gitblit v1.9.3