Kaynağa Gözat

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

chenshudong 2 gün önce
ebeveyn
işleme
eed3f69ec2

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

@@ -1,13 +1,17 @@
1 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 5
 import com.fasterxml.jackson.annotation.JsonInclude;
4 6
 import com.sundot.airport.common.constant.UserConstants;
5 7
 import com.sundot.airport.common.core.domain.entity.SysDept;
8
+import com.sundot.airport.common.core.domain.entity.SysRole;
6 9
 import com.sundot.airport.common.core.domain.entity.SysUser;
7 10
 import com.sundot.airport.common.utils.StringUtils;
8 11
 import lombok.Data;
9 12
 
10 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 57
     private String deptType;
54 58
 
55 59
     /**
60
+     * 角色列表
61
+     */
62
+    private String roles;
63
+
64
+    /**
56 65
      * 子节点
57 66
      */
58 67
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
@@ -85,6 +94,14 @@ public class DeptAndUserTreeSelect {
85 94
         this.setId(user.getUserId());
86 95
         this.setLabel(user.getNickName());
87 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 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 254
      * @return 用户信息列表
255 255
      */
256 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 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 835
         if (users != null && !users.isEmpty()) {
836 836
             List<DeptAndUserTreeSelect> userChildren = users.stream()
837 837
                     .map(DeptAndUserTreeSelect::new)

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

@@ -1158,4 +1158,50 @@
1158 1158
           and sr.role_key in ('banzuzhang', 'SecurityCheck')
1159 1159
           and sd_ks.dept_id = #{departmentId}
1160 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 1207
 </mapper>