From 23992364d62892baebfba878a2ea9c944d0e4763 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 15 一月 2026 13:40:51 +0800
Subject: [PATCH] fix:资源要求-人员-奖惩记录,新增无员工信息问题
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java | 40 ++++++++++++++------
ruoyi-admin-ztns/src/main/java/com/ruoyi/web/controller/system/UserController.java | 9 ++--
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml | 28 ++++++++++++++
ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java | 3 +
ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java | 7 +++
5 files changed, 69 insertions(+), 18 deletions(-)
diff --git a/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/controller/system/UserController.java b/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/controller/system/UserController.java
index 0d8cac6..f8756bd 100644
--- a/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/controller/system/UserController.java
+++ b/ruoyi-admin-ztns/src/main/java/com/ruoyi/web/controller/system/UserController.java
@@ -27,16 +27,15 @@
private UserService userService;
/**
- * todo: type : 1: 鑾峰彇妫�娴嬩汉鍛樹俊鎭�
- type : 2: 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬涓嬬殑鎵�鏈夌敤鎴�
+ *
* @param user
- * @param type
+ * @param type 1: 鑾峰彇妫�娴嬩汉鍛樹俊鎭�,2: 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬涓嬬殑鎵�鏈夌敤鎴�
* @return
*/
@ApiOperation(value = "鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃")
@GetMapping("/selectUserCondition")
- public Result selectUserCondition(User user, String type){
- return Result.success(userService.selectUserCondition(user, type));
+ public Result selectUserCondition(User user, String type, Integer departmentId) {
+ return Result.success(userService.selectUserCondition(user, type, departmentId));
}
/**
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java
index 210f2f9..518c43c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserMapper.java
@@ -59,6 +59,13 @@
*/
List<User> selectDepartmentLimsUserList(@Param("userId") Integer userId);
+ /**
+ * 鑾峰彇閮ㄩ棬ID鏌ヨ瀵瑰簲鐨勯儴闂ㄤ汉鍛�
+ *
+ * @param departmentId 閮ㄩ棬ID
+ * @return
+ */
+ List<User> selectUserByDepartmentId(@Param("departmentId") Integer departmentId);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
index 89e6074..4960d18 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/UserService.java
@@ -19,9 +19,10 @@
* 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃
* @param user
* @param type
+ * @param departmentId 閮ㄩ棬ID
* @return
*/
- List<User> selectUserCondition(User user, String type);
+ List<User> selectUserCondition(User user, String type, Integer departmentId);
/**
* 鑾峰彇褰撳墠鐧诲綍鐨勫鎴蜂俊鎭�
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
index 71fe3b3..557a42b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserServiceImpl.java
@@ -26,23 +26,39 @@
/**
* 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛鍒楄〃
- * * todo: type : 1: 鑾峰彇妫�娴嬩汉鍛樹俊鎭�
- * type : 2: 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬涓嬬殑鎵�鏈夌敤鎴�
- * @param user
- * @param type
+ * * todo: type : 1: 鑾峰彇妫�娴嬩汉鍛樹俊鎭�
+ * type : 2: 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛閮ㄩ棬涓嬬殑鎵�鏈夌敤鎴�
+ *
+ * @param user 鐢ㄦ埛
+ * @param type 绫诲瀷
+ * @param departmentId 閮ㄩ棬ID
* @return
*/
@Override
- public List<User> selectUserCondition(User user, String type) {
- if (StringUtils.isNotEmpty(type)) {
+ public List<User> selectUserCondition(User user, String type, Integer departmentId) {
- switch (type) {
- case "1":
- return baseMapper.selectQualityUserList();
- case "2":
- return baseMapper.selectDepartmentLimsUserList(SecurityUtils.getUserId().intValue());
- }
+ if (!StringUtils.isNotEmpty(type)) {
+ return baseMapper.selectUserCondition(QueryWrappers.queryWrappers(user), type);
+ }
+ switch (type) {
+
+ case "1":
+ // 妫�娴嬩汉鍛�
+ return baseMapper.selectQualityUserList();
+
+ case "2":
+ Long currentUserId = SecurityUtils.getUserId();
+ boolean isAdmin = SecurityUtils.isAdmin(currentUserId);
+
+ // 绠$悊鍛樺垽鏂紝浼犲叆閮ㄩ棬ID灏辨煡瀵瑰簲鐨勯儴闂ㄥ惁鍒欐煡璇㈠叏閮�
+ if (isAdmin) {
+ if (departmentId != null) {
+ return baseMapper.selectUserByDepartmentId(departmentId);
+ }
+ return baseMapper.selectUserCondition(QueryWrappers.queryWrappers(user), type);
+ }
+ return baseMapper.selectDepartmentLimsUserList(currentUserId.intValue());
}
return baseMapper.selectUserCondition(QueryWrappers.queryWrappers(user), type);
diff --git a/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
index e3a4e6e..84e48f4 100644
--- a/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
@@ -98,4 +98,32 @@
where u2.id = #{userId})
</select>
+ <select id="selectUserByDepartmentId" resultType="com.ruoyi.common.core.domain.entity.User"
+ parameterType="java.lang.Integer">
+ select id,
+ dept_id,
+ account,
+ name,
+ name_en,
+ user_type,
+ email,
+ phone,
+ sex,
+ age,
+ signature_url,
+ picture_url,
+ status,
+ del_flag,
+ login_ip,
+ login_date,
+ depart_lims_id,
+ company,
+ is_custom
+ from user
+ where del_flag = '0'
+ and depart_lims_id is not null
+ and depart_lims_id != ''
+ and FIND_IN_SET(#{departmentId}, depart_lims_id)
+ </select>
+
</mapper>
--
Gitblit v1.9.3