Browse Source

获取部门及用户树列表新版

chenshudong 2 days ago
parent
commit
eed3f69ec2

+ 17 - 0
airport-common/src/main/java/com/sundot/airport/common/core/domain/DeptAndUserTreeSelect.java

@@ -1,13 +1,17 @@
1
 package com.sundot.airport.common.core.domain;
1
 package com.sundot.airport.common.core.domain;
2
 
2
 
3
+import cn.hutool.core.collection.CollUtil;
4
+import cn.hutool.core.util.StrUtil;
3
 import com.fasterxml.jackson.annotation.JsonInclude;
5
 import com.fasterxml.jackson.annotation.JsonInclude;
4
 import com.sundot.airport.common.constant.UserConstants;
6
 import com.sundot.airport.common.constant.UserConstants;
5
 import com.sundot.airport.common.core.domain.entity.SysDept;
7
 import com.sundot.airport.common.core.domain.entity.SysDept;
8
+import com.sundot.airport.common.core.domain.entity.SysRole;
6
 import com.sundot.airport.common.core.domain.entity.SysUser;
9
 import com.sundot.airport.common.core.domain.entity.SysUser;
7
 import com.sundot.airport.common.utils.StringUtils;
10
 import com.sundot.airport.common.utils.StringUtils;
8
 import lombok.Data;
11
 import lombok.Data;
9
 
12
 
10
 import java.util.List;
13
 import java.util.List;
14
+import java.util.stream.Collectors;
11
 
15
 
12
 /**
16
 /**
13
  * 部门用户树结构实体类新版
17
  * 部门用户树结构实体类新版
@@ -53,6 +57,11 @@ public class DeptAndUserTreeSelect {
53
     private String deptType;
57
     private String deptType;
54
 
58
 
55
     /**
59
     /**
60
+     * 角色列表
61
+     */
62
+    private String roles;
63
+
64
+    /**
56
      * 子节点
65
      * 子节点
57
      */
66
      */
58
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
67
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
@@ -85,6 +94,14 @@ public class DeptAndUserTreeSelect {
85
         this.setId(user.getUserId());
94
         this.setId(user.getUserId());
86
         this.setLabel(user.getNickName());
95
         this.setLabel(user.getNickName());
87
         this.setParentId(user.getDeptId());
96
         this.setParentId(user.getDeptId());
97
+        if (CollUtil.isNotEmpty(user.getRoles())) {
98
+            List<SysRole> filterList = user.getRoles().stream()
99
+                    .filter(role -> StrUtil.equals(role.getRoleName(), "站长") || StrUtil.equals(role.getRoleName(), "部门经理") || StrUtil.equals(role.getRoleName(), "班组长"))
100
+                    .collect(Collectors.toList());
101
+            if (CollUtil.isNotEmpty(filterList)) {
102
+                this.setRoles(filterList.stream().map(SysRole::getRoleName).collect(Collectors.joining("、")));
103
+            }
104
+        }
88
         this.setNodeType("user");
105
         this.setNodeType("user");
89
     }
106
     }
90
 
107
 

+ 8 - 0
airport-system/src/main/java/com/sundot/airport/system/mapper/SysUserMapper.java

@@ -254,4 +254,12 @@ public interface SysUserMapper {
254
      * @return 用户信息列表
254
      * @return 用户信息列表
255
      */
255
      */
256
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfoByDepartmentId(@Param("departmentId") Long departmentId);
256
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfoByDepartmentId(@Param("departmentId") Long departmentId);
257
+
258
+    /**
259
+     * 根据部门ID查询用户列表新
260
+     *
261
+     * @param deptId 部门ID
262
+     * @return 用户列表
263
+     */
264
+    public List<SysUser> selectUsersByDeptIdNew(@Param("deptId") Long deptId);
257
 }
265
 }

+ 1 - 1
airport-system/src/main/java/com/sundot/airport/system/service/impl/SysDeptServiceImpl.java

@@ -831,7 +831,7 @@ public class SysDeptServiceImpl implements ISysDeptService {
831
                     .collect(Collectors.toList()));
831
                     .collect(Collectors.toList()));
832
         }
832
         }
833
 
833
 
834
-        List<SysUser> users = userMapper.selectUsersByDeptId(dept.getDeptId());
834
+        List<SysUser> users = userMapper.selectUsersByDeptIdNew(dept.getDeptId());
835
         if (users != null && !users.isEmpty()) {
835
         if (users != null && !users.isEmpty()) {
836
             List<DeptAndUserTreeSelect> userChildren = users.stream()
836
             List<DeptAndUserTreeSelect> userChildren = users.stream()
837
                     .map(DeptAndUserTreeSelect::new)
837
                     .map(DeptAndUserTreeSelect::new)

+ 46 - 0
airport-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -1158,4 +1158,50 @@
1158
           and sr.role_key in ('banzuzhang', 'SecurityCheck')
1158
           and sr.role_key in ('banzuzhang', 'SecurityCheck')
1159
           and sd_ks.dept_id = #{departmentId}
1159
           and sd_ks.dept_id = #{departmentId}
1160
     </select>
1160
     </select>
1161
+
1162
+    <select id="selectUsersByDeptIdNew" parameterType="Long" resultMap="SysUserResult">
1163
+        select u.user_id,
1164
+               u.dept_id,
1165
+               u.user_name,
1166
+               u.nick_name,
1167
+               u.email,
1168
+               u.avatar,
1169
+               u.phonenumber,
1170
+               u.password,
1171
+               u.sex,
1172
+               u.status,
1173
+               u.del_flag,
1174
+               u.login_ip,
1175
+               u.login_date,
1176
+               u.pwd_update_date,
1177
+               u.create_by,
1178
+               u.create_time,
1179
+               u.remark,
1180
+               u.card_number,
1181
+               u.political_status,
1182
+               u.training_compliance_status,
1183
+               u.qualification_level,
1184
+               u.administrative_status,
1185
+               u.physical_health_status,
1186
+               u.emergency_contact_name,
1187
+               u.emergency_contact_phone,
1188
+               u.emergency_contact_relationship,
1189
+               d.dept_id,
1190
+               d.parent_id,
1191
+               d.ancestors,
1192
+               d.dept_name,
1193
+               d.order_num,
1194
+               d.leader,
1195
+               d.status as dept_status,
1196
+               sr.role_id,
1197
+               sr.role_key,
1198
+               sr.role_name
1199
+        from sys_user u
1200
+                 left join sys_dept d on u.dept_id = d.dept_id
1201
+                 left join sys_user_role sur on sur.user_id = u.user_id
1202
+                 left join sys_role sr on sr.role_id = sur.role_id
1203
+        where u.del_flag = '0'
1204
+          and u.status = '0'
1205
+          and u.dept_id = #{deptId}
1206
+    </select>
1161
 </mapper>
1207
 </mapper>