3 Revīzijas 8b315666eb ... 64c35b5004

Autors SHA1 Ziņojums Datums
  chenshudong 64c35b5004 漏检统计表-日期格式 1 dienu atpakaļ
  chenshudong ad2dcdbcb6 用户信息-根据用户ID和角色编码列表查询各级直属领导列表接口 1 dienu atpakaļ
  chenshudong f3dd8d1588 漏检统计表-开机年限字段类型 1 dienu atpakaļ

+ 11 - 0
airport-admin/src/main/java/com/sundot/airport/web/controller/system/SysUserController.java

@@ -21,6 +21,7 @@ import com.sundot.airport.common.core.domain.ResetUserPostDto;
21
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
21
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
22
 import com.sundot.airport.common.core.domain.SysLargeScreenWorkingPortraitDto;
22
 import com.sundot.airport.common.core.domain.SysLargeScreenWorkingPortraitDto;
23
 import com.sundot.airport.common.dto.SysUserConditionDto;
23
 import com.sundot.airport.common.dto.SysUserConditionDto;
24
+import com.sundot.airport.common.dto.SysUserLeaderConditionDto;
24
 import com.sundot.airport.common.enums.RoleTypeEnum;
25
 import com.sundot.airport.common.enums.RoleTypeEnum;
25
 import com.sundot.airport.exam.domain.DailyTask;
26
 import com.sundot.airport.exam.domain.DailyTask;
26
 import com.sundot.airport.attendance.portrait.AttendanceModuleIndicatorResult;
27
 import com.sundot.airport.attendance.portrait.AttendanceModuleIndicatorResult;
@@ -924,4 +925,14 @@ public class SysUserController extends BaseController {
924
 
925
 
925
         return result;
926
         return result;
926
     }
927
     }
928
+
929
+    /**
930
+     * 根据用户ID和角色编码列表查询各级直属领导列表
931
+     */
932
+    @PostMapping("/selectUserLeaderListByCondition")
933
+    public AjaxResult selectUserLeaderListByCondition(@RequestBody SysUserLeaderConditionDto dto) {
934
+        List<SysUser> result = userService.selectUserLeaderListByCondition(dto);
935
+        return success(result);
936
+    }
937
+
927
 }
938
 }

+ 5 - 3
airport-blocked/src/main/java/com/sundot/airport/blocked/domain/BlockedMissCheckStatistics.java

@@ -106,12 +106,14 @@ public class BlockedMissCheckStatistics extends BaseEntity {
106
     /** 回查日期 */
106
     /** 回查日期 */
107
     @Excel(name = "回查日期", width = 30, dateFormat = "yyyy-MM-dd")
107
     @Excel(name = "回查日期", width = 30, dateFormat = "yyyy-MM-dd")
108
     @JsonFormat(pattern = "yyyy-MM-dd")
108
     @JsonFormat(pattern = "yyyy-MM-dd")
109
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
109
     @ApiModelProperty("回查日期")
110
     @ApiModelProperty("回查日期")
110
     private Date reviewDate;
111
     private Date reviewDate;
111
 
112
 
112
     /** 漏检时间 */
113
     /** 漏检时间 */
113
     @Excel(name = "漏检时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
114
     @Excel(name = "漏检时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
114
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
115
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
116
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
115
     @ApiModelProperty("漏检时间")
117
     @ApiModelProperty("漏检时间")
116
     private Date missCheckTime;
118
     private Date missCheckTime;
117
 
119
 
@@ -148,7 +150,7 @@ public class BlockedMissCheckStatistics extends BaseEntity {
148
     /** 开机年限 */
150
     /** 开机年限 */
149
     @Excel(name = "开机年限")
151
     @Excel(name = "开机年限")
150
     @ApiModelProperty("开机年限")
152
     @ApiModelProperty("开机年限")
151
-    private Integer machineOperatingYears;
153
+    private String machineOperatingYears;
152
 
154
 
153
     /** 证书级别 */
155
     /** 证书级别 */
154
     @Excel(name = "证书级别")
156
     @Excel(name = "证书级别")
@@ -409,11 +411,11 @@ public class BlockedMissCheckStatistics extends BaseEntity {
409
         return isRecovered;
411
         return isRecovered;
410
     }
412
     }
411
 
413
 
412
-    public void setMachineOperatingYears(Integer machineOperatingYears) {
414
+    public void setMachineOperatingYears(String machineOperatingYears) {
413
         this.machineOperatingYears = machineOperatingYears;
415
         this.machineOperatingYears = machineOperatingYears;
414
     }
416
     }
415
 
417
 
416
-    public Integer getMachineOperatingYears() {
418
+    public String getMachineOperatingYears() {
417
         return machineOperatingYears;
419
         return machineOperatingYears;
418
     }
420
     }
419
 
421
 

+ 26 - 0
airport-common/src/main/java/com/sundot/airport/common/dto/SysUserLeaderConditionDto.java

@@ -0,0 +1,26 @@
1
+package com.sundot.airport.common.dto;
2
+
3
+import lombok.Data;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 查询用户各级直属领导列表参数
9
+ *
10
+ * @Author: wangchong
11
+ * @Date: 2025/7/15 16:12
12
+ **/
13
+@Data
14
+public class SysUserLeaderConditionDto {
15
+
16
+    /**
17
+     * 用户ID
18
+     */
19
+    private Long userId;
20
+
21
+    /**
22
+     * 角色编码列表
23
+     */
24
+    private List<String> roleKeyList;
25
+
26
+}

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

@@ -254,4 +254,13 @@ 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
+     * @param list   角色编码列表
263
+     * @return 用户信息集合
264
+     */
265
+    public List<SysUser> selectUserLeaderByDeptIdAndRoleKeyList(@Param("deptId") Long deptId, @Param("list") List<String> list);
257
 }
266
 }

+ 9 - 0
airport-system/src/main/java/com/sundot/airport/system/service/ISysUserService.java

@@ -8,6 +8,7 @@ import com.sundot.airport.common.core.domain.ResetUserPostDto;
8
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
8
 import com.sundot.airport.common.core.domain.ResetUserRoleDto;
9
 import com.sundot.airport.common.core.domain.entity.SysUser;
9
 import com.sundot.airport.common.core.domain.entity.SysUser;
10
 import com.sundot.airport.common.dto.SysUserConditionDto;
10
 import com.sundot.airport.common.dto.SysUserConditionDto;
11
+import com.sundot.airport.common.dto.SysUserLeaderConditionDto;
11
 import com.sundot.airport.system.domain.SysLargeScreenCooperationDto;
12
 import com.sundot.airport.system.domain.SysLargeScreenCooperationDto;
12
 import com.sundot.airport.system.domain.SysLargeScreenCooperationQueryParamDto;
13
 import com.sundot.airport.system.domain.SysLargeScreenCooperationQueryParamDto;
13
 
14
 
@@ -344,4 +345,12 @@ public interface ISysUserService {
344
      * @return 用户信息列表
345
      * @return 用户信息列表
345
      */
346
      */
346
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfoByDepartmentId(Long departmentId);
347
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfoByDepartmentId(Long departmentId);
348
+
349
+    /**
350
+     * 根据用户ID和角色编码列表查询各级直属领导列表
351
+     *
352
+     * @param dto 查询用户列表参数
353
+     * @return 用户信息集合
354
+     */
355
+    public List<SysUser> selectUserLeaderListByCondition(SysUserLeaderConditionDto dto);
347
 }
356
 }

+ 40 - 0
airport-system/src/main/java/com/sundot/airport/system/service/impl/SysUserServiceImpl.java

@@ -24,6 +24,7 @@ import com.sundot.airport.common.core.domain.ResetUserRoleDto;
24
 import com.sundot.airport.common.core.domain.entity.SysDept;
24
 import com.sundot.airport.common.core.domain.entity.SysDept;
25
 import com.sundot.airport.common.core.domain.entity.SysDictData;
25
 import com.sundot.airport.common.core.domain.entity.SysDictData;
26
 import com.sundot.airport.common.dto.SysUserConditionDto;
26
 import com.sundot.airport.common.dto.SysUserConditionDto;
27
+import com.sundot.airport.common.dto.SysUserLeaderConditionDto;
27
 import com.sundot.airport.common.dto.UserInfo;
28
 import com.sundot.airport.common.dto.UserInfo;
28
 import com.sundot.airport.common.enums.AssessmentTeamEnum;
29
 import com.sundot.airport.common.enums.AssessmentTeamEnum;
29
 import com.sundot.airport.common.enums.DeptType;
30
 import com.sundot.airport.common.enums.DeptType;
@@ -1249,4 +1250,43 @@ public class SysUserServiceImpl implements ISysUserService {
1249
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfoByDepartmentId(Long departmentId) {
1250
     public List<LargeScreenHomePageUserInfoSqlDto> homePageUserInfoByDepartmentId(Long departmentId) {
1250
         return userMapper.homePageUserInfoByDepartmentId(departmentId);
1251
         return userMapper.homePageUserInfoByDepartmentId(departmentId);
1251
     }
1252
     }
1253
+
1254
+    /**
1255
+     * 根据用户ID和角色编码列表查询各级直属领导列表
1256
+     *
1257
+     * @param dto 查询用户列表参数
1258
+     * @return 用户信息集合
1259
+     */
1260
+    @Override
1261
+    public List<SysUser> selectUserLeaderListByCondition(SysUserLeaderConditionDto dto) {
1262
+        if (dto.getUserId() == null) {
1263
+            return userMapper.selectUserListByRoleKey(dto.getRoleKeyList());
1264
+        }
1265
+        if (CollUtil.isEmpty(dto.getRoleKeyList())) {
1266
+            return Collections.emptyList();
1267
+        }
1268
+        List<SysUser> result = new ArrayList<>();
1269
+        SysUser sysUser = userMapper.selectUserById(dto.getUserId());
1270
+        List<SysDept> deptList = deptService.selectAllDept(sysUser.getDeptId());
1271
+        if (CollUtil.isEmpty(deptList)) {
1272
+            return result;
1273
+        }
1274
+        Collections.reverse(deptList);
1275
+        SysDept teams = deptList.stream().filter(x -> StrUtil.equals(DeptType.TEAMS.getCode(), x.getDeptType())).findFirst().orElse(new SysDept());
1276
+        SysDept department = deptList.stream().filter(x -> StrUtil.equals(DeptType.MANAGER.getCode(), x.getDeptType())).findFirst().orElse(new SysDept());
1277
+        SysDept brigade = deptList.stream().filter(x -> StrUtil.equals(DeptType.BRIGADE.getCode(), x.getDeptType())).findFirst().orElse(new SysDept());
1278
+        SysDept station = deptList.stream().filter(x -> StrUtil.equals(DeptType.STATION.getCode(), x.getDeptType())).findFirst().orElse(new SysDept());
1279
+        dto.getRoleKeyList().forEach(roleKey -> {
1280
+            if (StrUtil.equals(roleKey, RoleTypeEnum.banzuzhang.getCode())) {
1281
+                result.addAll(userMapper.selectUserLeaderByDeptIdAndRoleKeyList(teams.getDeptId(), Collections.singletonList(roleKey)));
1282
+            } else if (StrUtil.equals(roleKey, RoleTypeEnum.kezhang.getCode())) {
1283
+                result.addAll(userMapper.selectUserLeaderByDeptIdAndRoleKeyList(department.getDeptId(), Collections.singletonList(roleKey)));
1284
+            } else if (StrUtil.equals(roleKey, RoleTypeEnum.xingzheng.getCode()) || StrUtil.equals(roleKey, RoleTypeEnum.jingli.getCode())) {
1285
+                result.addAll(userMapper.selectUserLeaderByDeptIdAndRoleKeyList(brigade.getDeptId(), Collections.singletonList(roleKey)));
1286
+            } else if (StrUtil.equals(roleKey, RoleTypeEnum.test.getCode())) {
1287
+                result.addAll(userMapper.selectUserLeaderByDeptIdAndRoleKeyList(station.getDeptId(), Collections.singletonList(roleKey)));
1288
+            }
1289
+        });
1290
+        return result.stream().distinct().collect(Collectors.toList());
1291
+    }
1252
 }
1292
 }

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

@@ -1183,4 +1183,25 @@
1183
           and sr.role_key in ('banzuzhang', 'SecurityCheck')
1183
           and sr.role_key in ('banzuzhang', 'SecurityCheck')
1184
           and sd_ks.dept_id = #{departmentId}
1184
           and sd_ks.dept_id = #{departmentId}
1185
     </select>
1185
     </select>
1186
+
1187
+    <select id="selectUserLeaderByDeptIdAndRoleKeyList" resultType="sysUser">
1188
+        select distinct su.user_id userId,
1189
+        su.user_name userName,
1190
+        su.nick_name nickName
1191
+        from sys_user su
1192
+        inner join sys_dept sd on sd.dept_id = su.dept_id
1193
+        inner join sys_user_role sur on sur.user_id = su.user_id
1194
+        inner join sys_role sr on sr.role_id = sur.role_id
1195
+        where su.del_flag = '0'
1196
+        and su.status = '0'
1197
+        and sd.del_flag = '0'
1198
+        and sd.status = '0'
1199
+        and sr.del_flag = '0'
1200
+        and sr.status = '0'
1201
+        and su.dept_id = #{deptId}
1202
+        and sr.role_key in
1203
+        <foreach collection="list" item="item" open="(" separator="," close=")">
1204
+            #{item}
1205
+        </foreach>
1206
+    </select>
1186
 </mapper>
1207
 </mapper>