From ec4d16c8a630960a4671a60f4d1957fd3de9def3 Mon Sep 17 00:00:00 2001 From: zhuguifei <zhuguifei@zhuguifeideiMac.local> Date: 星期四, 27 二月 2025 16:53:59 +0800 Subject: [PATCH] 完成维修工单查看维修记录子表 --- eims/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/eims/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/eims/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 2540606..e2b2e6e 100644 --- a/eims/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/eims/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -42,6 +42,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * 鐢ㄦ埛 涓氬姟灞傚鐞� @@ -556,6 +558,33 @@ return baseMapper.selectVoList(lqw); } + @Override + public List<SysUserVo> selectDeptRoleUserList(SysUserBo user) { + List<SysUserVo> result = new ArrayList<>(); + if (user.getDeptId() == null) return result; + LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(SysUser::getDeptId, user.getDeptId()); + List<SysUserVo> deptUserList = baseMapper.selectVoList(queryWrapper); + if (user.getRoleKey() != null) { + LambdaQueryWrapper<SysRole> roleWrapper = Wrappers.lambdaQuery(); + roleWrapper.eq(SysRole::getRoleKey, user.getRoleKey()); + SysRole sysRole = roleMapper.selectOne(roleWrapper); + if (sysRole != null) { + LambdaQueryWrapper<SysUserRole> userRoleWrapper = Wrappers.lambdaQuery(); + userRoleWrapper.eq(SysUserRole::getRoleId, sysRole.getRoleId()); + List<SysUserRole> sysUserRoles = userRoleMapper.selectList(userRoleWrapper); + Set<Long> roleUserIds = sysUserRoles.stream() + .map(SysUserRole::getUserId) + .collect(Collectors.toSet()); + deptUserList = deptUserList.stream() + .filter(u -> roleUserIds.contains(u.getUserId())) + .toList(); + result.addAll(deptUserList); + } + } + return result; + } + /** * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛璐︽埛 * -- Gitblit v1.9.3