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