From 09a31541e8aee63ed51e79c0eee32b685c3d753a Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 06 九月 2024 18:30:13 +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 | 359 ++++++++++++++++++---------------------
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java | 5
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java | 43 +---
Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightParamDTO.java | 34 +++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java | 2
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java | 27 ++
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java | 45 ++++
7 files changed, 274 insertions(+), 241 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightParamDTO.java b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightParamDTO.java
new file mode 100644
index 0000000..3e78a67
--- /dev/null
+++ b/Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/RoleRightParamDTO.java
@@ -0,0 +1,34 @@
+package com.vci.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 淇濆瓨鏉冮檺浼犺緭瀵硅薄
+ * @author yuxc
+ * @date 2024-09-06
+ */
+@Data
+public class RoleRightParamDTO implements Serializable {
+
+
+ /**
+ * 绂佹淇敼杩欎釜鍊�
+ */
+ private static final long serialVersionUID = 2492852474710986720L;
+ /**
+ * 鐖惰妭鐐圭殑涓婚敭
+ */
+ public String parentId;
+ /**
+ * 涓婚敭
+ */
+ public String id;
+ /**
+ * 褰撳墠鑺傜偣鐨勭被鍨� 1琛ㄧず妯″潡锛�2琛ㄧず鎿嶄綔
+ */
+ public int type;
+
+ public long number;
+}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
index 9f04b2f..89cc712 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
@@ -2,14 +2,13 @@
import com.vci.common.exception.VciException;
import com.vci.corba.common.PLException;
+import com.vci.dto.RoleRightDTO;
+import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum;
import com.vci.pagemodel.MenuVO;
import com.vci.pagemodel.SmFunctionVO;
import com.vci.starter.web.exception.VciBaseException;
-import com.vci.starter.web.pagemodel.DataGrid;
-import com.vci.starter.web.pagemodel.PageHelper;
-import com.vci.starter.web.pagemodel.Tree;
-import com.vci.starter.web.pagemodel.TreeQueryObject;
+import com.vci.starter.web.pagemodel.*;
import com.vci.pagemodel.UIContentVO;
import com.vci.web.service.OsBaseServiceI;
@@ -64,13 +63,11 @@
List<MenuVO> getSysModelTreeMenuByPID(String parentId,String modeType,boolean isAll) throws VciBaseException;
/**
* 閫氳繃妯″潡ID鑾峰彇瀛愮骇鍒楄〃
- * @param parentId
- * @param modeType 妯″潡绫诲瀷
* @param isAll 鏄惁鍖呮嫭鏃犳晥鐨勬ā鍧楋紝true鍒欏寘鎷�
* @return
* @throws VciBaseException
*/
- List<MenuVO> getSysModelAuthTreeMenuByPID(String parentId,String modeType,boolean isAll) throws VciBaseException, PLException;
+ List<MenuVO> getSysModelAuthTreeMenuByPID(boolean isAll) throws VciBaseException, PLException;
int checkChildObject(String moduleId) throws VciException;
@@ -163,4 +160,20 @@
DataGrid<SmFunctionVO> gridFunctionByRoleOids(Collection<String> roleOidCollection, Map<String, String> queryMap, PageHelper pageHelper, ResourceControlTypeEnum resourceControlTypeEnum);
UIContentVO getUIContentByBtmTypeAndId(TreeQueryObject treeQueryObject, ResourceControlTypeEnum bs) throws PLException;
+ /**
+ * 鑾峰彇鎺堟潈鐨勬ā鍧�
+ * @param roleId 瑙掕壊涓婚敭
+ * @return 鎵�鍏锋湁鏉冮檺鐨勪富閿�
+ * @throws PLException
+ */
+ List<String> getSysModelAuth(String roleId) throws PLException;
+
+ /**
+ * 淇濆瓨鎺堟潈鐨勬ā鍧�
+ * @param roleRightDTOS 鐢ㄦ埛閫夋嫨鎺堟潈妯″潡淇℃伅
+ * @param roleId 瑙掕壊涓婚敭
+ * @return 鎺堟潈缁撴灉
+ * @throws PLException
+ */
+ BaseResult saveRoleRight(List<RoleRightParamDTO> roleRightDTOS, String roleId) throws PLException;
}
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 daa7f5c..a420aad 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,11 +8,15 @@
import com.vci.common.exception.VciException;
import com.vci.common.locale.LocaleDisplay;
import com.vci.corba.common.PLException;
+import com.vci.corba.common.data.UserEntityInfo;
import com.vci.corba.framework.data.*;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.corba.portal.data.PLUILayout;
+import com.vci.dto.RoleRightDTO;
+import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum;
+import com.vci.model.RoleRightDO;
import com.vci.model.SmFunctionForPlatform1;
import com.vci.model.SmRoleForPlatform1;
import com.vci.pagemodel.MenuVO;
@@ -567,6 +571,163 @@
}
/**
+ * 鑾峰彇鎺堟潈鐨勬ā鍧�
+ * @param roleId 瑙掕壊涓婚敭
+ * @return 鎵�鍏锋湁鏉冮檺鐨勪富閿�
+ * @throws PLException
+ */
+ @Override
+ 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));
+ String parentId;
+ SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
+ boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId());
+ if (adminOrDeveloperOrRoot) {
+ //绯荤粺鑿滃崟
+ parentId = SYSTEMMANAGMENTNODE;
+ } else if (rightControlUtil.isThreeAdminCurUser()) {
+ //涓夊憳杩斿洖绠$悊鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
+ parentId = SYSTEMMANAGMENTNODE;
+ } else {
+ //鏅�氱敤鎴峰彧杩斿洖涓氬姟鍔熻兘妯″潡鐩稿叧鐨勮彍鍗�
+ parentId = ROOT_MENU_ID;
+ }
+ FunctionInfo[] moduleListByParentId = getModuleListByParentId(parentId, false);
+ List<String> authList = new ArrayList<>();
+ for (FunctionInfo functionInfo : moduleListByParentId) {
+ if(authMap.containsKey(functionInfo.id)){
+ authList.add(functionInfo.id);
+ getChildAuthNode(functionInfo, authMap, authList);
+ }
+ }
+ return authList;
+ }
+
+ public BaseResult saveRoleRight(List<RoleRightParamDTO> roleRightDTOS, String roleId) throws PLException {
+ /**
+ * 瀛樺偍闇�瑕佷繚瀛樼殑鏉冮檺
+ */
+ Map<String,RoleRightInfo> rightMap = new HashMap<String,RoleRightInfo>();
+
+ Map<String, List<RoleRightParamDTO>> parentMap = roleRightDTOS.stream().collect(Collectors.groupingBy(e -> e.parentId));
+
+ for (RoleRightParamDTO dto : roleRightDTOS) {
+ RoleRightInfo obj = null;
+ //鍒ゆ柇绫诲瀷
+ if(dto.getType() == 1 && !dto.getParentId().equals(ROOT_MENU_ID)
+ && !dto.getParentId().equals(SYSTEMMANAGMENTNODE)
+ && !dto.getParentId().equals(OPERATENODE)){
+ if(!rightMap.containsKey(dto.getParentId())){
+ obj = new RoleRightInfo();
+ obj.funcId = dto.getParentId();
+ obj.rightType = (short)1;
+ obj.rightValue = 1;//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0
+ obj.roleId = roleId;
+ obj.createUser = WebUtil.getCurrentUserId();
+ obj.createTime = new Date().getTime();
+ obj.modifyUser = WebUtil.getCurrentUserId();
+ obj.modifyTime = new Date().getTime();
+ obj.licensor = "";
+ }else{
+ obj = rightMap.get(dto.getParentId());
+ if (obj == null) {
+ obj = new RoleRightInfo();
+ obj.funcId = dto.getParentId();
+ obj.rightType = (short)1;
+ obj.rightValue = 1;//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0
+ obj.roleId = roleId;
+ obj.createUser = WebUtil.getCurrentUserId();
+ obj.createTime = new Date().getTime();
+ obj.modifyUser = WebUtil.getCurrentUserId();
+ obj.modifyTime = new Date().getTime();
+ obj.licensor = "";
+ }else {
+ obj.rightValue = 1;
+ }
+ }
+ rightMap.put(dto.getParentId(), obj);
+ }else if (dto.getType() == 2){
+// RoleRightInfo roleRightObj = new RoleRightInfo();
+ if(!rightMap.containsKey(dto.getParentId())) {
+ obj = new RoleRightInfo();
+ obj.funcId = dto.getParentId();
+ obj.rightType = (short)1;
+ obj.rightValue = countRightValue(parentMap.get(dto.getParentId()));//娌℃湁鎿嶄綔鐨勬ā鍧楁潈闄愬�煎瓨鍌ㄤ负0
+ obj.roleId = roleId;
+ obj.createUser = WebUtil.getCurrentUserId();
+ obj.createTime = new Date().getTime();
+ obj.modifyUser = WebUtil.getCurrentUserId();
+ obj.modifyTime = new Date().getTime();
+ obj.licensor = "";
+ rightMap.put(dto.getParentId(), obj);
+ }
+
+ }
+ }
+ /**涓婇潰澶勭悊瀹屾垚鍚庯紝寰幆閬嶅巻鍙栧嚭MAP閲岀殑瀵硅薄杩涜淇濆瓨**/
+ RoleRightInfo[] roleRightObjs = new RoleRightInfo[rightMap.size()];
+ Set<String> objSet = rightMap.keySet();
+ Iterator<String> it = objSet.iterator();
+ int i = 0;
+ while(it.hasNext()){
+ roleRightObjs[i++] = rightMap.get(it.next());
+ }
+ UserEntityInfo userEntityInfo = new UserEntityInfo();
+ userEntityInfo.setModules("com.vci.client.framework.rightdistribution.roleRight.RoleRightPanel");
+ userEntityInfo.setUserName(WebUtil.getCurrentUserId());
+ boolean res = platformClientUtil.getFrameworkService()
+ .saveRoleRight(roleRightObjs,roleId,WebUtil.getCurrentUserId(), userEntityInfo);
+ if(!res){
+ throw new PLException("500", new String[]{"鍔熻兘妯″潡鎺堟潈澶辫触锛�"});
+ }
+ return BaseResult.success();
+ }
+
+ private long countRightValue(List<RoleRightParamDTO> dtos){
+ long value = 0;
+ for (RoleRightParamDTO dto : dtos) {
+ value += (long)Math.pow(2, dto.getNumber());//绱鍔犱笂鍚勪釜鎿嶄綔鐨勬潈闄愬��
+ }
+ return value;
+ }
+
+ /**
+ *
+ * @param funcObj 妯″潡瀵硅薄
+ * @param authMap 璇ヨ鑹蹭笅鎵�鏈夌殑鏉冮檺鏁版嵁
+ * @param authList 璇ヨ鑹蹭笅鎵�鍏锋湁鐨勬潈闄�
+ * @throws PLException
+ */
+ private void getChildAuthNode(FunctionInfo funcObj, Map<String, Long> authMap, List<String> authList) throws PLException {
+ /**0琛ㄧず璇ユā鍧椾笅浠�涔堥兘娌℃湁锛�1琛ㄧず鏈夋ā鍧楋紝2琛ㄧず鏈夋搷浣�**/
+ long funcType = platformClientUtil.getFrameworkService().checkChildObject(funcObj.id);
+ if(funcType == 1){
+ 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);
+ getChildAuthNode(funcInfos[i], authMap, authList);
+ }
+ }
+ }else if(funcType == 2){
+ FuncOperationInfo[] funcOperates = platformClientUtil.getFrameworkService().getFuncOperationByModule(funcObj.id, "", true);
+ for (int j = 0; j < funcOperates.length; j++) {
+ if(authMap.containsKey(funcOperates[j].funcId)){
+ long rightValue = authMap.get(funcOperates[j].funcId);
+ long nodeValue = funcOperates[j].number;
+ long preValue = (rightValue >> nodeValue) & 1;
+ //杩涜浣嶄笌鎿嶄綔锛屽鏋滅浉绛夊垯琛ㄧず鍏锋湁褰撳墠鎿嶄綔鐨勬潈闄�
+ if (preValue == 1) {
+ authList.add(funcOperates[j].id);
+ }
+ }
+ }
+ }
+ }
+
+ /**
* 鑾峰彇鎵�鏈夌殑鍔熻兘鑿滃崟
*
* @param treeQueryObject 鏍戞煡璇㈠璞�
@@ -903,20 +1064,15 @@
/**
* 閫氳繃妯″潡ID鑾峰彇瀛愮骇鍒楄〃
- * @param parentId
- * @param modeType 妯″潡绫诲瀷
* @param isAll 鏄惁鍖呮嫭鏃犳晥鐨勬ā鍧楋紝true鍒欏寘鎷�
* @return
* @throws VciBaseException
*/
@Override
- public List<MenuVO> getSysModelAuthTreeMenuByPID(String parentId,String modeType,boolean isAll) throws VciBaseException, PLException {
- List<MenuVO> menuVOList = new ArrayList<>();
-// if(Func.isBlank(parentId)){
-// return menuVOList;
-// }
+ public List<MenuVO> getSysModelAuthTreeMenuByPID(boolean isAll) throws VciBaseException, PLException {
SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException();
boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId());
+ String parentId;
if (adminOrDeveloperOrRoot) {
//绯荤粺鑿滃崟
parentId = SYSTEMMANAGMENTNODE;
@@ -928,7 +1084,7 @@
parentId = ROOT_MENU_ID;
}
List<MenuVO> functionVOList = new ArrayList<>();
- FunctionInfo[] moduleListByParentId = getModuleListByParentId(parentId, false);
+ FunctionInfo[] moduleListByParentId = getModuleListByParentId(parentId, isAll);
for (FunctionInfo menu : moduleListByParentId) {
if(!menu.isValid){
continue;
@@ -944,14 +1100,6 @@
functionVO.getMeta().put("keepAlive",false);
functionVO.setSort((int) menu.seq);
findChildAuthFunctionVO(functionVO, isAll);
-// try {
-// functionVO.setChildren(findChildAuthFunctionVO(menu.id));
-// } 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 {
@@ -960,185 +1108,6 @@
functionVOList.add(functionVO);
}
return functionVOList;
-
-
-
-// RoleRightInfo[] userRoleRights = rightControlUtil.getRoleRightByUserName(sessionInfo.getUserId());
-// Map<String, List<FunctionInfo>> map = rightControlUtil.getAllChildrenFunctionsByUserName(
-// parentId, sessionInfo.getUserId(), userRoleRights);
-//
-// 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;
-// //}
-// functionVO.setPath(menu.resourceB);
-// 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);
-//// try {
-//// functionVO.setChildren(findChildAuthFunctionVO(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 {
-// functionVO.setHasChildren(false);
-// }
-// functionVOList.add(functionVO);
-// }
-// //濡傛灉鏄紑鍙戞垨鑰呮祴璇曠敤鎴凤紝闇�鍝熻幏鍙栫郴缁熸ā鍧楅厤缃彍鍗�
-// 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());
-
-
-
-
-
-//
-//
-//
-//
-// 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);
-// if(Func.isNotEmpty(infos.length)){
-// childType = this.checkChildObject(infos[0].id); //閮芥槸鍚屼竴灞傛墍浠ュ彇绗竴涓嵆鍙煡璇㈡槸浠�涔堢被鍨�
-// for(int i = 0;i < infos.length ;i++){
-// FuncOperationInfo info = infos[i];
-// MenuVO menuVO = new MenuVO();
-// menuVO.setChildType(childType);
-// menuVO.setId(info.id);
-// menuVO.setFuncId(info.funcId);
-// menuVO.setCode(info.operIndentify);
-// menuVO.setOperId(info.operId);
-// menuVO.setName(info.operName);
-// 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);
-// if(Func.isNotEmpty(funcInfos.length)){
-// childType = this.checkChildObject(funcInfos[0].id); //閮芥槸鍚屼竴灞傛墍浠ュ彇绗竴涓嵆鍙煡璇㈡槸浠�涔堢被鍨�
-// 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 = null;
-// //灏嗚繑鍥炵殑鑺傜偣澶栧眰濂椾笂褰撳墠鐖惰妭鐐�
-// if("systemManagmentNode".equals(parentId)){
-// parentNode = JsonConfigReader.getSysModuleConf().getSystemManagmentNode();
-// }else if("modelManagmentNode".equals(parentId)){
-// parentNode = JsonConfigReader.getSysModuleConf().getModelManagmentNode();
-// }
-// //濡傛灉鏌ヨ鐨勬槸绗竴灞傝妭鐐瑰氨闇�瑕佺洿鎺ヨ繑鍥瀞ystemManagmentNode鎴杕odelManagmentNode鑺傜偣
-// if(Func.isNotBlank(modeType) && modeType.equals("firstNode")){
-// menuVOList.add(parentNode);
-// return menuVOList;
-// }
-// //鏌ヨ鐨勪笁绾ц妭鐐�
-// 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);
-// menuVOList.add(menuVO);
-// }
-// return menuVOList;
-// }catch (PLException e) {
-// e.printStackTrace();
-// throw new VciBaseException(String.valueOf(e.code),e.messages);
-// }
-// }
-// }
-// else if(parentId.equals("operateNode")){
-// //鍔犺浇鎵�鏈夋搷浣�
-// try{
-// //灏嗚繑鍥炵殑鑺傜偣澶栧眰濂椾笂褰撳墠鐖惰妭鐐�
-// MenuVO parentNode = JsonConfigReader.getSysModuleConf().getOperateNode();
-// //濡傛灉鏌ヨ鐨勬槸绗竴灞傝妭鐐瑰氨闇�瑕佺洿鎺ヨ繑鍥瀞ysOptionNode鑺傜偣
-// if(Func.isNotBlank(modeType) && modeType.equals("firstNode")){
-// menuVOList.add(parentNode);
-// return menuVOList;
-// }
-// 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);
-// menuVOList.add(menuVO);
-// }
-// }catch (PLException e) {
-// e.printStackTrace();
-// throw new VciBaseException(String.valueOf(e.code),new String[]{VciBaseUtil.getExceptionMessage(e)});
-// }
-// }
-// return null;
-// return menuVOList.stream().sorted(Comparator.comparing(s -> s.getSort())).collect(Collectors.toList());
}
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
index 8f42517..858f465 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -1,8 +1,11 @@
package com.vci.web.controller;
import com.vci.constant.FrameWorkLangCodeConstant;
+import com.vci.corba.common.PLException;
import com.vci.corba.framework.data.FuncOperationInfo;
import com.vci.corba.framework.data.OperateInfo;
+import com.vci.dto.RoleRightDTO;
+import com.vci.dto.RoleRightParamDTO;
import com.vci.frameworkcore.compatibility.ISmFunctionQueryService;
import com.vci.frameworkcore.compatibility.SmHMSysModConfigServiceI;
import com.vci.pagemodel.AppConfigDetailInfoVO;
@@ -75,14 +78,12 @@
/**
* 鑾峰彇褰撳墠妯″潡涓嬬殑瀛愭ā鍧�
- * @param parentId
- * @param modeType
* @return
*/
@GetMapping("/getSysModelAuthTreeMenuByPID")
- public BaseResult<List<MenuVO>> getSysModelAuthTreeMenuByPID(String parentId, String modeType) {
+ public BaseResult<List<MenuVO>> getSysModelAuthTreeMenuByPID() {
try {
- return BaseResult.dataList(functionQueryService.getSysModelAuthTreeMenuByPID(parentId,modeType,true));
+ return BaseResult.dataList(functionQueryService.getSysModelAuthTreeMenuByPID(false));
}catch (Exception e){
e.printStackTrace();
String errorMsg = "鏌ヨ瀛愭ā鍧楁椂鍑虹幇閿欒锛屽師鍥狅細"+ VciBaseUtil.getExceptionMessage(e);
@@ -92,6 +93,42 @@
}
/**
+ * 鑾峰彇鎵�鎺堟潈鐨勬ā鍧楁潈闄�
+ * @param roleId 瑙掕壊
+ * @return
+ */
+ @GetMapping("/getSysModelAuth")
+ public BaseResult<List<String>> getSysModelAuth(String roleId) {
+ try {
+ return BaseResult.dataList(functionQueryService.getSysModelAuth(roleId));
+ }catch (Exception e){
+ e.printStackTrace();
+ String errorMsg = "鏌ヨ瀛愭ā鍧楁椂鍑虹幇閿欒锛屽師鍥狅細"+ VciBaseUtil.getExceptionMessage(e);
+ logger.error(errorMsg);
+ throw new VciBaseException(errorMsg);
+ }
+ }
+
+ /**
+ * 淇濆瓨鎺堟潈鐨勬ā鍧�
+ * @param roleRightDTOS 鐢ㄦ埛閫夋嫨鎺堟潈妯″潡淇℃伅
+ * @param roleId 瑙掕壊涓婚敭
+ * @return 鎺堟潈缁撴灉
+ * @throws PLException
+ */
+ @PostMapping("/saveRoleRight")
+ public BaseResult<List<String>> saveRoleRight(@RequestBody List<RoleRightParamDTO> roleRightDTOS, String roleId) {
+ try {
+ return functionQueryService.saveRoleRight(roleRightDTOS, roleId);
+ }catch (Exception e){
+ e.printStackTrace();
+ String errorMsg = "淇濆瓨妯″潡鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+ VciBaseUtil.getExceptionMessage(e);
+ logger.error(errorMsg);
+ throw new VciBaseException(errorMsg);
+ }
+ }
+
+ /**
* 娣诲姞妯″潡
* @param menuVO
* @return
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
index 2db280d..7ff301c 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
@@ -18,6 +18,7 @@
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
/**
* 鏌ヨ妯℃澘鐨勬帶鍒跺櫒
@@ -263,8 +264,8 @@
* @return
*/
@PostMapping("/expLinkTemplate")
- public void expLinkTemplate(@RequestBody List<String> names,HttpServletResponse response) throws PLException, IOException {
- quereyTemplateServiceI.expLinkTemplate(names, response);
+ public void expLinkTemplate(@RequestBody Map qtNames, HttpServletResponse response) throws PLException, IOException {
+ quereyTemplateServiceI.expLinkTemplate(String.valueOf(qtNames.get("qtNames")), response);
}
/**
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
index 7f0b927..c185a90 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
@@ -93,7 +93,7 @@
* names 鏌ヨ妯℃澘鍚�
* @return
*/
- void expLinkTemplate(List<String> names, HttpServletResponse response) throws PLException, IOException ;
+ void expLinkTemplate(String names, HttpServletResponse response) throws PLException, IOException ;
/**
* 瀵煎叆閾炬帴绫诲瀷鏌ヨ妯℃澘
* @param file 涓婁紶鐨勬枃浠�
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
index 5b993f0..0161a70 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
@@ -265,6 +265,9 @@
if(column.contains(".")){
column = StringUtils.substringAfterLast(column, ".");
}
+ if(column.contains(" ")){
+ column = StringUtils.substringBefore(column, " ");
+ }
AttributeDef att = platformClientUtil.getAttributeService().getAttributeDefByName(column);
if(att == null || "".equals(att.oid)){
att = allSysAttr.get(column.toLowerCase());
@@ -321,6 +324,7 @@
HashMap<String, String> data = new HashMap<>();
data.put("column",child.getText().trim());
data.put("type",att.vtDataType);
+ childList.add(data);
}
}
treeMap.put("child",childList);
@@ -998,34 +1002,6 @@
return qt;
}
-// /**
-// * 缁勮鏌ヨ妯℃澘
-// * @return
-// */
-// public QueryTemplate getQT(HashMap<String,Object> dataMap){
-// QueryTemplate qt = new QueryTemplate();
-// qt.setType(QTConstants.TYPE_LINK);
-// //TODO String qtId =
-// qt.setLinkType((String) dataMap.get("linkTypeName"));
-// qt.setDirection( (Boolean)dataMap.get("rdPositive") ? QTConstants.DIRECTION_POSITIVE : QTConstants.DIRECTION_OPPOSITE);
-// qt.setBtmType((String) dataMap.get("btmName"));
-// if("鎵�鏈夌被鍨�".equals(dataMap.get("combRelaType"))){
-// qt.setBtmType("*");
-// }
-// qt.setVersion(getVersion((String) dataMap.get("versionValue")));
-// qt.setQueryISLeaf((Boolean) dataMap.get("isQueryIsLeaf"));
-// qt.setLevel(StringUtils.isBlank((CharSequence) dataMap.get("level")) ? 1 : Integer.valueOf(String.valueOf(dataMap.get("level"))));
-// List<String> clauseList = new ArrayList<String>();
-// //TODO 鏌ヨ鍒� 鏄剧ず鍒�
-// clauseList.add("*");
-// qt.setClauseList(clauseList);
-// Condition con = new Condition();
-// qt.setCondition(con);
-// HashMap<String, ConditionItem> ciMap = getCIMap();
-// con.setCIMap(ciMap);
-// con.setRootCIName(con.getRootCINameByCIMap(ciMap));
-// return qt;
-// }
/**
* 杩斿洖鏌ヨ鐨勭増鏈�
@@ -1074,11 +1050,12 @@
* @return
*/
@Override
- public void expLinkTemplate(List<String> names, HttpServletResponse response) throws PLException, IOException {
+ public void expLinkTemplate(String names, HttpServletResponse response) throws PLException, IOException {
String defaultTempFolder = LocalFileUtil.getDefaultTempFolder();
String vciqtmfFileName = defaultTempFolder + File.separator + "LinkTemplateExp" + new Date().getTime() + ".vciqtf";
LinkQTExportData exportData = new LinkQTExportData();
- for (String name : names) {
+ String[] splits = names.split(",");
+ for (String name : splits) {
QTInfo qt = platformClientUtil.getQTDService().getQT(name);
exportData.getAllQTs().put(qt.qtName,qt);
LinkType linkType = platformClientUtil.getLinkTypeService().getLinkType(qt.btmName);
@@ -1702,12 +1679,14 @@
if(direction != null) {
if (direction.equals(QTConstants.DIRECTION_POSITIVE)) {
if(att == null ){
- throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"});
+ continue;
+// throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"});
}
att.name = "T_OID." + abName;
} else if (direction.equals(QTConstants.DIRECTION_OPPOSITE)) {
if(att == null ){
- throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"});
+ continue;
+// throw new PLException("500",new String[]{"灞炴�у瓧娈�:"+ abName +"鏈煡璇㈠埌锛岃纭锛�"});
}
att.name = "F_OID." + abName;
}
--
Gitblit v1.9.3