From 3615befe34e1165fec7f22cd554666712b94a424 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Mon, 12 Aug 2024 14:37:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/sysstaffinfo/SysStaffinfoService.java | 5 ++++- .../yxt/portal/biz/sysuser/SysUserMapper.xml | 18 +++++++++--------- .../yxt/portal/biz/sysuser/SysUserService.java | 5 ++++- .../biz/sysuserrole/SysUserRoleMapper.java | 2 +- .../biz/sysuserrole/SysUserRoleMapper.xml | 3 +++ .../biz/sysuserrole/SysUserRoleService.java | 4 ++-- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java index ad99d84..743e370 100644 --- a/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java +++ b/src/main/java/com/yxt/portal/biz/sysstaffinfo/SysStaffinfoService.java @@ -858,7 +858,10 @@ public class SysStaffinfoService extends MybatisBaseService list=sysUserRoleService.selByUserSid(sysUser.getSid()); + SysOrganization s =sysOrganizationService.getOne(new QueryWrapper().eq("sid",orgSid1)); + s.setOrgSidPath(s.getOrgSidPath()+"/"); + String b[]=s.getOrgSidPath().split("/"); + List list=sysUserRoleService.selByUserSid(sysUser.getSid(),b[0]); sysStaffinfoDetailsVo.setSysUserRoles(list); // SysStaffPostDetailsVo sysStaffPostDetailsVo = sysStaffPostService.selectByStaff(sid, staffPostDetailsVo.getPostSid()); if(sysStaffOrgDetailsVo != null){ diff --git a/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml b/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml index 0956a56..52c1212 100644 --- a/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysuser/SysUserMapper.xml @@ -9,19 +9,18 @@ user.accountType, user.createTime, user.isEnable, - c.sid as departmentSid, ( SELECT GROUP_CONCAT(org.name) FROM sys_staff_org staffOrg LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid WHERE staffOrg.staffSid = user.staffSid ) departmentName, --- ( --- SELECT GROUP_CONCAT(org.sid) --- FROM sys_staff_org staffOrg --- LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid --- WHERE staffOrg.staffSid = user.staffSid --- ) departmentSid, + ( + SELECT GROUP_CONCAT(org.sid) + FROM sys_staff_org staffOrg + LEFT JOIN sys_organization org ON org.sid = staffOrg.orgSid + WHERE staffOrg.staffSid = user.staffSid and staffOrg.manageType!=2 + ) departmentSid, ( SELECT GROUP_CONCAT(post.name) FROM sys_staff_post staffPost @@ -41,8 +40,9 @@ SELECT GROUP_CONCAT(role.name) FROM sys_user_role user_role LEFT JOIN sys_role role ON role.sid = user_role.roleSid - WHERE user_role.userSid = USER.sid - ) roleName + WHERE user_role.userSid = USER.sid and user_role.orgSid=SUBSTRING_INDEX(c.orgSidPath,'/',1) + ) roleName, + c.sid as orgSid -- dict.dictValue userType, FROM sys_user USER LEFT JOIN sys_user_role user_role ON user_role.userSid = USER.sid diff --git a/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java b/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java index 22006b1..8e3208a 100644 --- a/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java +++ b/src/main/java/com/yxt/portal/biz/sysuser/SysUserService.java @@ -164,7 +164,10 @@ public class SysUserService extends MybatisBaseService { IPage pagging = baseMapper.selectPageVo(page, qw, deptName, userName); List records = pagging.getRecords(); for (SysUserVo record : records) { - record.setSysRoleVos(sysUserRoleService.selByUserSid(record.getSid())); + SysOrganization d =sysOrganizationService.getOne(new QueryWrapper().eq("sid",record.getOrgSid())); + d.setOrgSidPath(d.getOrgSidPath()+"/"); + String b[]=d.getOrgSidPath().split("/"); + record.setSysRoleVos(sysUserRoleService.selByUserSid(record.getSid(),b[0])); for (SysUserRoleVo sysRoleVo : record.getSysRoleVos()) { if(StringUtils.isBlank(record.getRoles())){ record.setRoles(sysRoleVo.getName()); diff --git a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.java b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.java index 53e660b..217ea72 100644 --- a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.java +++ b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.java @@ -43,7 +43,7 @@ public interface SysUserRoleMapper extends BaseMapper { void delByUserSidAndRoleSid(@Param("userSid") String userSid,@Param("roleSid") String roleSid); List selectByUserSid(@Param("userSid")String userSid,@Param("orgSid")String orgSid,@Param("sourceSid")String sourceSid); - List selByUserSid(@Param("userSid")String userSid); + List selByUserSid(@Param("userSid")String userSid,@Param("orgSid")String orgSid); @Select("SELECT roleSid FROM sys_user_role WHERE userSid=#{userSid}") diff --git a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml index 627ce83..87d5a3c 100644 --- a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml +++ b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleMapper.xml @@ -28,6 +28,9 @@ FROM sys_user_role a left join sys_role b on b.sid =a.roleSid WHERE a.userSid = #{userSid} + + and a.orgSid=#{orgSid} + diff --git a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java index 2c22ef5..82e0e1c 100644 --- a/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java +++ b/src/main/java/com/yxt/portal/biz/sysuserrole/SysUserRoleService.java @@ -99,8 +99,8 @@ public class SysUserRoleService extends MybatisBaseService selectByUserSid(String userSid,String orgSid,String sourceSid) { return baseMapper.selectByUserSid(userSid,orgSid,sourceSid); } - public List selByUserSid(String userSid) { - return baseMapper.selByUserSid(userSid); + public List selByUserSid(String userSid,String orgSid ) { + return baseMapper.selByUserSid(userSid,orgSid); } /*public void updateUserRole(SysUserRoleDto dto) { //sysUserRoleService.deleteByUserSid(dto.getUserSid());