From 5acc490fa6f77a9ed7b5976ee6a2e22b070df5bf Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 09 七月 2024 09:49:36 +0800
Subject: [PATCH] 角色管理联调修改、部门管理接口等代码上传

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
index 9930d7f..dbea2f7 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -30,7 +30,6 @@
 import com.vci.starter.web.util.*;
 import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
 import com.vci.web.enumpck.UserTypeEnum;
-import com.vci.web.model.WFProcessClassifyDO;
 import com.vci.web.service.WebBoServiceI;
 import com.vci.web.util.Func;
 import com.vci.web.util.PlatformClientUtil;
@@ -123,7 +122,7 @@
 	/**
 	 * 鐢ㄦ埛鍒嗛〉鏌ヨ鏃惰幏鍙栭儴闂ㄦ斁鍒拌繖閲岄伩鍏嶉噸澶嶆煡璇�
 	 */
-	private Map<String,List<OrgDepartmentVO>> orgDepartmentVOMap;
+	private Map<String,Map<String,String>> orgDepartmentVOMap;
 
 	/**
 	 * 鐢ㄦ埛鍒嗛〉鏌ヨ鏃惰幏鍙栬鑹叉斁鍒拌繖閲岄伩鍏嶉噸澶嶆煡璇�
@@ -323,21 +322,19 @@
 		smUserVO.setPassword(userInfo.pwd);
 		smUserVO.setConfirmPassword(userInfo.pwd);
 		//鐢ㄦ埛鎵�灞為儴闂ㄧ殑鏌ヨ璁剧疆
-		List<OrgDepartmentVO> orgDepartmentVOList;
+		Map<String,String> orgDepartmentVOList;
 		//鏌ョ湅鍏ㄥ眬鍙橀噺涓槸鍚﹀瓨鍦ㄩ儴闂ㄤ俊鎭紝瀛樺湪鐨勬儏鍐垫渶涓昏鏄拡瀵瑰鏉$敤鎴锋煡璇㈢殑鏃跺�欓伩鍏嶉噸澶嶆煡璇㈢殑
 		if(Func.isNotEmpty(orgDepartmentVOMap)){
-			orgDepartmentVOList = orgDepartmentVOMap.get(userInfo.id);
+			orgDepartmentVOList = Func.isNotEmpty(orgDepartmentVOMap.get(userInfo.id)) ?
+					orgDepartmentVOMap.get(userInfo.id):new HashMap<>();
 		}else {
-			orgDepartmentVOList = orgDeptQueryService.listDeptByUserOid(userInfo.id,null);
+			Map<String, Map<String, String>> tempDeptMap = orgDeptQueryService.batchMapDeptNameByUserOids(Arrays.asList(userInfo.id), null);
+			orgDepartmentVOList = Func.isNotEmpty(tempDeptMap.get(userInfo.id)) ?
+					tempDeptMap.get(userInfo.id):new HashMap<>();
 		}
-		smUserVO.setPkDepartment(
-				Func.isEmpty(orgDepartmentVOList) ?
-						null:orgDepartmentVOList.stream().map(OrgDepartmentVO::getOid).collect(Collectors.joining(","))
-		);
-		smUserVO.setPkDepartmentName(
-				Func.isEmpty(orgDepartmentVOList) ?
-						null:orgDepartmentVOList.stream().map(OrgDepartmentVO::getName).collect(Collectors.joining(","))
-		);
+		//閮ㄩ棬oid锛屾甯告儏鍐典笅涓�涓敤鎴峰彧浼氬瓨鍦ㄤ竴涓儴闂ㄤ笅
+		smUserVO.setPkDepartment(orgDepartmentVOList.keySet().stream().collect(Collectors.joining(",")));
+		smUserVO.setPkDepartmentName(orgDepartmentVOList.values().stream().collect(Collectors.joining(",")));
 		//瀵嗙爜绛栫暐鏌ヨ璁剧疆
 		SmPasswordStrategyVO smPasswordStrategyVO;
 		if(Func.isNotEmpty(smPwdStrategyVOMap)){
@@ -536,7 +533,7 @@
 		DataGrid<SmUserVO> dataGrid = new DataGrid<>();
 		if(Func.isNotEmpty(userInfos)){
 			List<String> idList = Arrays.stream(userInfos).map(item -> item.id).collect(Collectors.toList());
-			orgDepartmentVOMap = orgDeptQueryService.batchListDeptByUserOids(idList, null);
+			orgDepartmentVOMap = orgDeptQueryService.batchMapDeptNameByUserOids(idList, null);
 			smRoleVOMap = smRoleQueryService.batchListRoleByUserOids(idList,null);
 			smPwdStrategyVOMap = smPwdStrategyQueryService.batchSmPwdStrategyByUserOids(idList);
 			dataGrid.setData(userInfoArr2VO(userInfos));
@@ -607,10 +604,27 @@
 	@Override
 	public List<SmUserVO> countSmUserByDeptOid(String deptOid, Map<String, String> queryMap) throws VciBaseException {
 		//鏄惁鏌ヨ瀛愰儴闂ㄤ笅鍏宠仈鐨勭敤鎴�
-		List<OrgDepartmentVO> orgDepartmentVOList = orgDeptQueryService.listChildrenDeptByParentOid(deptOid, null);
+		List<OrgDepartmentVO> orgDepartmentVOList = orgDeptQueryService.listAllLevelChildrenDeptByParentOid(deptOid, null);
 		List<String> deptOidCollection = orgDepartmentVOList.stream().map(OrgDepartmentVO::getOid).collect(Collectors.toList());
 		deptOidCollection.add(deptOid);//灏嗗綋鍓嶅眰鐨刼id涔熸斁杩涘幓
-		return listUserVOByDeptOid(queryMap,deptOidCollection,false);
+		List<SmUserVO> smUserVOList = listUserVOByDeptOid(queryMap, deptOidCollection, false);
+		if(Func.isEmpty(smUserVOList)){
+			return new ArrayList<>();
+		}
+		Map<String, List<SmRoleVO>> smRoleVOMap = smRoleQueryService.batchListRoleByUserOids(smUserVOList.stream().map(SmUserVO::getOid).collect(Collectors.toSet()), null);
+		smUserVOList = smUserVOList.stream().map(vo->{
+			List<SmRoleVO> smRoleVOS = smRoleVOMap.get(vo.getOid());
+			vo.setPkPerson(
+					Func.isEmpty(smRoleVOS) ?
+							null:smRoleVOS.stream().map(SmRoleVO::getOid).collect(Collectors.joining(","))
+			);
+			vo.setPkPersonName(
+					Func.isEmpty(smRoleVOS) ?
+							null:smRoleVOS.stream().map(SmRoleVO::getName).collect(Collectors.joining(","))
+			);
+			return vo;
+		}).collect(Collectors.toList());
+		return smUserVOList;
 	}
 
 	 /**
@@ -672,6 +686,7 @@
 		queryWrapperForDO.setLinkTableSql(" left join pluserdept up on " + queryWrapperForDO.getTableNick() + ".pluid = up.pluseruid" +
 				" left join pldept pkDepartment on  up.pldeptuid = pkDepartment.pluid " +
 				" left join PLUSERPASSWORDSTRATEGY pkUserPassword on  " +queryWrapperForDO.getTableNick() + ".pluid = pkUserPassword.pluseruid ");
+		queryWrapperForDO.setOrderSql("order by " + queryWrapperForDO.getTableNick() + ".pltrueName");
 		List<SmUserDO> smUserDOList = new ArrayList<>();
 		//userOidList涓虹┖鏃剁殑涓ょ鎯呭喌
 		if(Func.isEmpty(userOidList)){
@@ -1198,9 +1213,7 @@
 		}
 		//鏍规嵁褰撳墠鍒涘缓杩欎釜鐢ㄦ埛鐨勪汉鎵�缁戝畾瀵嗙爜绛栫暐鏉ヨ繘琛屽瘑鐮佹牎楠�
 		try {
-			//TODO:涓轰簡鏂逛究璋冭瘯锛屾墍浠ヨ繖鍎垮厛娉ㄩ噴鍐欐鍚庨潰璁板緱鏇存敼
 			String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
-			//String userName = "developer";
 			String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(userName, smUserDTO.getPassword(),null);
 			if (!StringUtils.isBlank(error)) {
 				throw new VciBaseException("褰撳墠璁剧疆鐨勫瘑鐮侊紝瀵嗙爜绛栫暐鏍¢獙鏈�氳繃");
@@ -1330,7 +1343,6 @@
 			ReadExcelOption excelOption = new ReadExcelOption();
 			//褰撳墠鐧诲綍鐨勭敤鎴疯处鍙�
 			String loginUserId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId();
-			//String loginUserId = "developer";
 			UserEntityInfo userEntityInfo = new UserEntityInfo(loginUserId,null);
 			//鏄惁瀵煎叆瀵嗙骇閰嶇疆
 			boolean exportSecretGrade = Boolean.parseBoolean(ConfigReader.getConfigValue("exportSecretGrade"));

--
Gitblit v1.9.3