From ed38499b75ab101109c3d2b6b7cc95034f868be3 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 14 十一月 2024 17:26:22 +0800
Subject: [PATCH] 模板属性查询,配置去除密级为默认属性

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
index be2eb81..1c44f0d 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmRoleQueryServiceImpl.java
@@ -1,28 +1,25 @@
 package com.vci.frameworkcore.compatibility.impl;
 
+import com.vci.constant.FrameWorkBtmTypeConstant;
 import com.vci.corba.common.PLException;
 import com.vci.corba.common.data.UserEntityInfo;
 import com.vci.corba.framework.data.RoleInfo;
 import com.vci.corba.omd.data.BusinessObject;
 import com.vci.frameworkcore.compatibility.SmRoleQueryServiceI;
-import com.vci.frameworkcore.constant.FrameWorkBtmTypeConstant;
-import com.vci.frameworkcore.dto.SmRoleDTO;
+import com.vci.constant.FrameWorkBtmTypeConstant;
+import com.vci.dto.SmRoleDTO;
+import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
 import com.vci.frameworkcore.enumpck.RoleClassifyEnum;
 import com.vci.frameworkcore.enumpck.RoleControlAreaEnum;
-import com.vci.frameworkcore.model.SmRoleForPlatform1;
-import com.vci.frameworkcore.model.dto.SmUserDTO;
-import com.vci.frameworkcore.model.po.SmRolePO;
-import com.vci.frameworkcore.model.po.SmUserPO;
-import com.vci.frameworkcore.pagemodel.OrgDepartmentVO;
-import com.vci.frameworkcore.pagemodel.SmRoleVO;
-import com.vci.frameworkcore.pagemodel.SmUserVO;
-import com.vci.frameworkcore.properties.ConfigReader;
+import com.vci.model.SmRoleForPlatform1;
+import com.vci.pagemodel.SmUserVO;
+import com.vci.po.SmRolePO;
+import com.vci.pagemodel.SmRoleVO;
 import com.vci.omd.utils.ObjectTool;
 import com.vci.starter.poi.bo.ReadExcelOption;
 import com.vci.starter.poi.constant.ExcelLangCodeConstant;
 import com.vci.starter.poi.util.ExcelUtil;
 import com.vci.starter.web.constant.QueryOptionConstant;
-import com.vci.starter.web.enumpck.UserSecretEnum;
 import com.vci.starter.web.exception.VciBaseException;
 import com.vci.starter.web.pagemodel.*;
 import com.vci.starter.web.util.LangBaseUtil;
@@ -39,6 +36,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -61,6 +59,13 @@
 	 */
 	@Autowired
 	private WebBoServiceI boService;
+
+	/**
+	 * 鐢ㄦ埛鏌ヨ鏈嶅姟
+	 */
+	@Autowired
+	@Lazy
+	private SmUserQueryServiceI smUserQueryServiceI;
 
 	/**
 	 * 骞冲彴璋冪敤瀹㈡埛绔�
@@ -86,7 +91,7 @@
 		if(Func.isEmpty(conditionMap)){
 			return null;
 		}
-		VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(conditionMap,SmRoleForPlatform1.class);
+		VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(conditionMap, SmRoleForPlatform1.class);
 		List<SmRoleForPlatform1> smRoleForPlatform1s = boService.selectByQueryWrapper(queryWrapper, SmRoleForPlatform1.class);
 		if(Func.isNotEmpty(smRoleForPlatform1s) && Func.isNotBlank(smRoleForPlatform1s.get(0).getPluid())){
 			//瑙掕壊鍚嶄笉鑳介噸澶嶆墍浠ョ洿鎺ュ彇绗竴涓厓绱�
@@ -684,11 +689,31 @@
 	@Override
 	public boolean deleteRole(String[] ids) throws PLException {
 		VciBaseUtil.alertNotNull(ids,"瑕佸垹闄ょ殑瑙掕壊涓婚敭");
+		//浣跨敤涓婚敭鍒ゆ柇瑙掕壊鏄惁琚敤鎴峰紩鐢�
+		for (int i = 0; i < ids.length; i++) {
+			String roleName = this.checkIsUsed(ids[i]);
+			if(Func.isNotBlank(roleName)){
+				throw new PLException("500",new String[]{"褰撳墠閫変腑瑕佸垹闄ょ殑瑙掕壊涓瓨鍦ㄣ��"+roleName+"銆戣寮曠敤!"});
+			}
+		}
 		//鍏峰杩炲甫鍒犻櫎鐨勫姛鑳斤紝濡傝鑹茶彍鍗曟巿鏉冭〃閲岄潰鐨勬巿鏉冧俊鎭�
 		return platformClientUtil.getFrameworkService().deleteRole(
 				ids,
 				new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null)
 		);
+	}
+
+	/**
+	 * 妫�鏌ヨ鑹叉槸鍚︽湁鍦ㄥ紩鐢�
+	 * @param roleOid
+	 * @return
+	 */
+	private String checkIsUsed(String roleOid){
+		List<SmUserVO> smUserVOS = smUserQueryServiceI.listUserByRoleOid(roleOid, null);
+		if (Func.isNotEmpty(smUserVOS)) {
+			return this.getRoleNameByRoleOid(roleOid);
+		}
+		return null;
 	}
 
 	/**
@@ -738,8 +763,8 @@
 				try {
 					SmRoleDTO smRoleDTO = new SmRoleDTO();
 					BeanUtil.copy(smRolePO,smRoleDTO);
-					//SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
-					String userId = "developer";//loginUser.getUserId();
+					SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread();
+					String userId = loginUser.getUserId();
 					//瑙掕壊绫诲瀷锛岃繖閲岃缃簡浼氬湪changeRoleObjectToRoleInfo涓浆鎹�
 					if(UserTypeEnum.SUPPER_ADMIN.getValue().equals("0")){
 						smRoleDTO.setRoleClassify(RoleClassifyEnum.MANAGE.getValue());

--
Gitblit v1.9.3