chenshudong месяцев назад: 2
Родитель
Сommit
90309b5546

+ 2 - 2
airport-admin/src/main/java/com/sundot/airport/web/controller/check/CheckLargeScreenController.java

@@ -206,8 +206,8 @@ public class CheckLargeScreenController extends BaseController {
206
 //            unless = "!T(com.sundot.airport.common.cache.StatisticsCacheConditionUtil).isSuccess(#result) ||T(com.sundot.airport.common.cache.StatisticsCacheConditionUtil).isEmptyData(#result)"
206
 //            unless = "!T(com.sundot.airport.common.cache.StatisticsCacheConditionUtil).isSuccess(#result) ||T(com.sundot.airport.common.cache.StatisticsCacheConditionUtil).isEmptyData(#result)"
207
 //    )
207
 //    )
208
     @GetMapping("/homePage")
208
     @GetMapping("/homePage")
209
-    public AjaxResult homePage(BaseLargeScreenQueryParamDto dto) {
210
-        CheckLargeScreenHomePageDto result = checkLargeScreenService.homePage(dto);
209
+    public AjaxResult homePage(BaseLargeScreenQueryParamDto dto, @RequestHeader(value = "X-Request-Source", defaultValue = "mobile") String source) {
210
+        CheckLargeScreenHomePageDto result = checkLargeScreenService.homePage(dto, source);
211
         return success(result);
211
         return success(result);
212
     }
212
     }
213
 
213
 

+ 0 - 69
airport-check/src/main/java/com/sundot/airport/check/domain/CheckLargeScreenHomePageUserInfoSqlDto.java

@@ -1,69 +0,0 @@
1
-package com.sundot.airport.check.domain;
2
-
3
-import lombok.Data;
4
-
5
-/**
6
- * 首页-用户信息
7
- *
8
- * @author ruoyi
9
- * @date 2025-09-07
10
- */
11
-@Data
12
-public class CheckLargeScreenHomePageUserInfoSqlDto {
13
-
14
-    /**
15
-     * 用户ID
16
-     */
17
-    private Long userId;
18
-
19
-    /**
20
-     * 用户账号
21
-     */
22
-    private String userName;
23
-
24
-    /**
25
-     * 用户昵称
26
-     */
27
-    private String nickName;
28
-
29
-    /**
30
-     * 班组ID
31
-     */
32
-    private Long teamId;
33
-
34
-    /**
35
-     * 班组名称
36
-     */
37
-    private String teamName;
38
-
39
-    /**
40
-     * 科室ID
41
-     */
42
-    private Long departmentId;
43
-
44
-    /**
45
-     * 科室名称
46
-     */
47
-    private String departmentName;
48
-
49
-    /**
50
-     * 大队ID
51
-     */
52
-    private Long brigadeId;
53
-
54
-    /**
55
-     * 大队名称
56
-     */
57
-    private String brigadeName;
58
-
59
-    /**
60
-     * 站ID
61
-     */
62
-    private Long stationId;
63
-
64
-    /**
65
-     * 站名称
66
-     */
67
-    private String stationName;
68
-
69
-}

+ 0 - 8
airport-check/src/main/java/com/sundot/airport/check/mapper/CheckLargeScreenMapper.java

@@ -7,7 +7,6 @@ import com.sundot.airport.check.domain.CheckLargeScreenCorrectionPortraitSqlDto;
7
 import com.sundot.airport.check.domain.CheckLargeScreenCorrectionQueryParamDto;
7
 import com.sundot.airport.check.domain.CheckLargeScreenCorrectionQueryParamDto;
8
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckCorrectionSqlDto;
8
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckCorrectionSqlDto;
9
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto;
9
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto;
10
-import com.sundot.airport.check.domain.CheckLargeScreenHomePageUserInfoSqlDto;
11
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteDto;
10
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteDto;
12
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteItemDto;
11
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteItemDto;
13
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteUserDto;
12
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteUserDto;
@@ -237,13 +236,6 @@ public interface CheckLargeScreenMapper {
237
     public CheckLargeScreenCorrectionDto managementPromotionCorrection(CheckLargeScreenCorrectionQueryParamDto dto);
236
     public CheckLargeScreenCorrectionDto managementPromotionCorrection(CheckLargeScreenCorrectionQueryParamDto dto);
238
 
237
 
239
     /**
238
     /**
240
-     * 首页-用户信息
241
-     *
242
-     * @return 首页-巡检单
243
-     */
244
-    public List<CheckLargeScreenHomePageUserInfoSqlDto> homePageUserInfo();
245
-
246
-    /**
247
      * 首页-巡检单
239
      * 首页-巡检单
248
      *
240
      *
249
      * @param dto 查询参数
241
      * @param dto 查询参数

+ 1 - 1
airport-check/src/main/java/com/sundot/airport/check/service/ICheckLargeScreenService.java

@@ -161,7 +161,7 @@ public interface ICheckLargeScreenService {
161
      * @param dto 首页查询参数
161
      * @param dto 首页查询参数
162
      * @return 首页
162
      * @return 首页
163
      */
163
      */
164
-    public CheckLargeScreenHomePageDto homePage(BaseLargeScreenQueryParamDto dto);
164
+    public CheckLargeScreenHomePageDto homePage(BaseLargeScreenQueryParamDto dto, String source);
165
 
165
 
166
     /**
166
     /**
167
      * 首页-巡检-巡检合格率
167
      * 首页-巡检-巡检合格率

+ 53 - 42
airport-check/src/main/java/com/sundot/airport/check/service/impl/CheckLargeScreenServiceImpl.java

@@ -16,7 +16,6 @@ import com.sundot.airport.check.domain.CheckLargeScreenCorrectionQueryParamDto;
16
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckCorrectionSqlDto;
16
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckCorrectionSqlDto;
17
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto;
17
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto;
18
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageDto;
18
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageDto;
19
-import com.sundot.airport.check.domain.CheckLargeScreenHomePageUserInfoSqlDto;
20
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteDto;
19
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteDto;
21
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteItemDto;
20
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteItemDto;
22
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteUserDto;
21
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteUserDto;
@@ -32,6 +31,7 @@ import com.sundot.airport.common.constant.CacheConstants;
32
 import com.sundot.airport.common.core.domain.BaseLargeScreenQueryParamDto;
31
 import com.sundot.airport.common.core.domain.BaseLargeScreenQueryParamDto;
33
 import com.sundot.airport.common.core.domain.CheckLargeScreenHomePageItemDto;
32
 import com.sundot.airport.common.core.domain.CheckLargeScreenHomePageItemDto;
34
 import com.sundot.airport.common.core.domain.CheckLargeScreenHomePageRankingDto;
33
 import com.sundot.airport.common.core.domain.CheckLargeScreenHomePageRankingDto;
34
+import com.sundot.airport.common.core.domain.LargeScreenHomePageUserInfoSqlDto;
35
 import com.sundot.airport.common.core.domain.SysLargeScreenDetailDto;
35
 import com.sundot.airport.common.core.domain.SysLargeScreenDetailDto;
36
 import com.sundot.airport.common.core.domain.entity.SysDept;
36
 import com.sundot.airport.common.core.domain.entity.SysDept;
37
 import com.sundot.airport.common.core.domain.entity.SysDictData;
37
 import com.sundot.airport.common.core.domain.entity.SysDictData;
@@ -2036,7 +2036,18 @@ public class CheckLargeScreenServiceImpl implements ICheckLargeScreenService {
2036
      * @return 首页
2036
      * @return 首页
2037
      */
2037
      */
2038
     @Override
2038
     @Override
2039
-    public CheckLargeScreenHomePageDto homePage(BaseLargeScreenQueryParamDto dto) {
2039
+    public CheckLargeScreenHomePageDto homePage(BaseLargeScreenQueryParamDto dto, String source) {
2040
+        if (StrUtil.equals(SourceTypeEnum.web.getCode(), source)) {
2041
+            List<SysDept> sysDeptList = sysDeptService.selectAllDept(SecurityUtils.getLoginUser().getDeptId());
2042
+            Collections.reverse(sysDeptList);
2043
+            SysDept sysDept = sysDeptList.stream().filter(x -> StrUtil.equals(DeptType.STATION.getCode(), x.getDeptType())).findFirst().orElse(null);
2044
+            if (ObjectUtil.isNull(sysDept)) {
2045
+                throw new ServiceException("未查询到站级部门信息");
2046
+            }
2047
+            dto.setUserId(null);
2048
+            dto.setDeptId(sysDept.getDeptId());
2049
+        }
2050
+
2040
         if (ObjUtil.isNull(dto.getUserId()) && ObjUtil.isNull(dto.getDeptId())) {
2051
         if (ObjUtil.isNull(dto.getUserId()) && ObjUtil.isNull(dto.getDeptId())) {
2041
             throw new ServiceException("用户ID和部门ID不能同时为空");
2052
             throw new ServiceException("用户ID和部门ID不能同时为空");
2042
         }
2053
         }
@@ -2396,47 +2407,47 @@ public class CheckLargeScreenServiceImpl implements ICheckLargeScreenService {
2396
     @Override
2407
     @Override
2397
     public List<CheckLargeScreenHomePageItemDto> getCheckLargeScreenHomePageItemDtoList(BaseLargeScreenQueryParamDto dto) {
2408
     public List<CheckLargeScreenHomePageItemDto> getCheckLargeScreenHomePageItemDtoList(BaseLargeScreenQueryParamDto dto) {
2398
         List<CheckLargeScreenHomePageItemDto> result = new ArrayList<>();
2409
         List<CheckLargeScreenHomePageItemDto> result = new ArrayList<>();
2399
-        String key = CacheConstants.USER_CHECK_PASS_RATE_KEY + dto.getStartDate() + ":" + dto.getEndDate() + ":" + dto.getSpecifiedDate();
2400
-        List<CheckLargeScreenHomePageItemDto> cacheList = redisCache.getCacheList(key);
2401
-        if (CollUtil.isNotEmpty(cacheList)) {
2402
-            result.addAll(cacheList);
2403
-        } else {
2404
-            List<CheckLargeScreenHomePageUserInfoSqlDto> userInfoListAll = checkLargeScreenMapper.homePageUserInfo();
2405
-            if (CollUtil.isEmpty(userInfoListAll)) {
2406
-                return Collections.emptyList();
2407
-            }
2408
-            List<CheckLargeScreenHomePageCheckRecordSqlDto> checkRecordListAll = checkLargeScreenMapper.homePageCheckRecord(dto);
2409
-            if (CollUtil.isEmpty(checkRecordListAll)) {
2410
-                return Collections.emptyList();
2411
-            }
2412
-            userInfoListAll.forEach(userInfoSqlDto -> {
2413
-                CheckLargeScreenHomePageItemDto itemDto = new CheckLargeScreenHomePageItemDto();
2414
-                itemDto.setId(userInfoSqlDto.getUserId());
2415
-                itemDto.setName(userInfoSqlDto.getNickName());
2416
-                List<CheckLargeScreenHomePageCheckRecordSqlDto> brigadeList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.BRIGADE_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getBrigadeId(), checkRecordSqlDto.getCheckedBrigadeId())).collect(Collectors.toList());
2417
-                long brigadeTotal = brigadeList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2418
-                long brigadeUnqualifiedNum = brigadeList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2419
-                long brigadeQualifiedNum = brigadeTotal - brigadeUnqualifiedNum;
2420
-                List<CheckLargeScreenHomePageCheckRecordSqlDto> departmentList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.DEPARTMENT_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getDepartmentId(), checkRecordSqlDto.getCheckedDepartmentId())).collect(Collectors.toList());
2421
-                long departmentTotal = departmentList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2422
-                long departmentUnqualifiedNum = departmentList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2423
-                long departmentQualifiedNum = departmentTotal - departmentUnqualifiedNum;
2424
-                List<CheckLargeScreenHomePageCheckRecordSqlDto> teamList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.TEAM_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getTeamId(), checkRecordSqlDto.getCheckedTeamId())).collect(Collectors.toList());
2425
-                long teamTotal = teamList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2426
-                long teamUnqualifiedNum = teamList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2427
-                long teamQualifiedNum = teamTotal - teamUnqualifiedNum;
2428
-                List<CheckLargeScreenHomePageCheckRecordSqlDto> personalList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.PERSONNEL_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getUserId(), checkRecordSqlDto.getCheckedPersonnelId())).collect(Collectors.toList());
2429
-                long personalTotal = personalList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2430
-                long personalUnqualifiedNum = personalList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2431
-                long personalQualifiedNum = personalTotal - personalUnqualifiedNum;
2432
-                long total = personalTotal + teamTotal + departmentTotal + brigadeTotal;
2433
-                long qualifiedNum = brigadeQualifiedNum + departmentQualifiedNum + teamQualifiedNum + personalQualifiedNum;
2434
-                itemDto.setPassRate(total == 0 ? BigDecimal.ONE : new BigDecimal(qualifiedNum).divide(new BigDecimal(total), 4, RoundingMode.HALF_UP));
2435
-                result.add(itemDto);
2436
-            });
2437
-            redisCache.setCacheList(key, result);
2438
-            redisCache.expire(key, 6, TimeUnit.HOURS);
2410
+//        String key = CacheConstants.USER_CHECK_PASS_RATE_KEY + dto.getStartDate() + ":" + dto.getEndDate() + ":" + dto.getSpecifiedDate();
2411
+//        List<CheckLargeScreenHomePageItemDto> cacheList = redisCache.getCacheList(key);
2412
+//        if (CollUtil.isNotEmpty(cacheList)) {
2413
+//            result.addAll(cacheList);
2414
+//        } else {
2415
+        List<LargeScreenHomePageUserInfoSqlDto> userInfoListAll = sysUserService.homePageUserInfo();
2416
+        if (CollUtil.isEmpty(userInfoListAll)) {
2417
+            return Collections.emptyList();
2439
         }
2418
         }
2419
+        List<CheckLargeScreenHomePageCheckRecordSqlDto> checkRecordListAll = checkLargeScreenMapper.homePageCheckRecord(dto);
2420
+        if (CollUtil.isEmpty(checkRecordListAll)) {
2421
+            return Collections.emptyList();
2422
+        }
2423
+        userInfoListAll.forEach(userInfoSqlDto -> {
2424
+            CheckLargeScreenHomePageItemDto itemDto = new CheckLargeScreenHomePageItemDto();
2425
+            itemDto.setId(userInfoSqlDto.getUserId());
2426
+            itemDto.setName(userInfoSqlDto.getNickName());
2427
+            List<CheckLargeScreenHomePageCheckRecordSqlDto> brigadeList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.BRIGADE_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getBrigadeId(), checkRecordSqlDto.getCheckedBrigadeId())).collect(Collectors.toList());
2428
+            long brigadeTotal = brigadeList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2429
+            long brigadeUnqualifiedNum = brigadeList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2430
+            long brigadeQualifiedNum = brigadeTotal - brigadeUnqualifiedNum;
2431
+            List<CheckLargeScreenHomePageCheckRecordSqlDto> departmentList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.DEPARTMENT_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getDepartmentId(), checkRecordSqlDto.getCheckedDepartmentId())).collect(Collectors.toList());
2432
+            long departmentTotal = departmentList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2433
+            long departmentUnqualifiedNum = departmentList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2434
+            long departmentQualifiedNum = departmentTotal - departmentUnqualifiedNum;
2435
+            List<CheckLargeScreenHomePageCheckRecordSqlDto> teamList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.TEAM_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getTeamId(), checkRecordSqlDto.getCheckedTeamId())).collect(Collectors.toList());
2436
+            long teamTotal = teamList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2437
+            long teamUnqualifiedNum = teamList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2438
+            long teamQualifiedNum = teamTotal - teamUnqualifiedNum;
2439
+            List<CheckLargeScreenHomePageCheckRecordSqlDto> personalList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.PERSONNEL_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getUserId(), checkRecordSqlDto.getCheckedPersonnelId())).collect(Collectors.toList());
2440
+            long personalTotal = personalList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2441
+            long personalUnqualifiedNum = personalList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2442
+            long personalQualifiedNum = personalTotal - personalUnqualifiedNum;
2443
+            long total = personalTotal + teamTotal + departmentTotal + brigadeTotal;
2444
+            long qualifiedNum = brigadeQualifiedNum + departmentQualifiedNum + teamQualifiedNum + personalQualifiedNum;
2445
+            itemDto.setPassRate(total == 0 ? BigDecimal.ONE : new BigDecimal(qualifiedNum).divide(new BigDecimal(total), 4, RoundingMode.HALF_UP));
2446
+            result.add(itemDto);
2447
+        });
2448
+//            redisCache.setCacheList(key, result);
2449
+//            redisCache.expire(key, 6, TimeUnit.HOURS);
2450
+//        }
2440
         return result;
2451
         return result;
2441
     }
2452
     }
2442
 
2453
 

+ 0 - 23
airport-check/src/main/resources/mapper/check/CheckLargeScreenMapper.xml

@@ -784,29 +784,6 @@
784
         </if>) temp
784
         </if>) temp
785
     </select>
785
     </select>
786
 
786
 
787
-    <select id="homePageUserInfo" resultType="com.sundot.airport.check.domain.CheckLargeScreenHomePageUserInfoSqlDto">
788
-        select su.user_id      userId,
789
-               su.user_name    userName,
790
-               su.nick_name    nickName,
791
-               sd_bz.dept_id   teamId,
792
-               sd_bz.dept_name teamName,
793
-               sd_ks.dept_id   departmentId,
794
-               sd_ks.dept_name departmentName,
795
-               sd_dd.dept_id   brigadeId,
796
-               sd_dd.dept_name brigadeName,
797
-               sd_zj.dept_id   stationId,
798
-               sd_zj.dept_name stationName
799
-        from sys_user su
800
-                 inner join sys_user_role sur on sur.user_id = su.user_id
801
-                 inner join sys_role sr on sr.role_id = sur.role_id
802
-                 inner join sys_dept sd_bz on sd_bz.dept_id = su.dept_id
803
-                 inner join sys_dept sd_ks on sd_ks.dept_id = sd_bz.parent_id
804
-                 inner join sys_dept sd_dd on sd_dd.dept_id = sd_ks.parent_id
805
-                 inner join sys_dept sd_zj on sd_zj.dept_id = sd_dd.parent_id
806
-        where 1 = 1
807
-          and sr.role_key in ('banzuzhang', 'SecurityCheck')
808
-    </select>
809
-
810
     <select id="homePageCheckRecord"
787
     <select id="homePageCheckRecord"
811
             resultType="com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto">
788
             resultType="com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto">
812
         select cr.id id,
789
         select cr.id id,