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