chenshudong пре 2 месеци
родитељ
комит
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 206
 //            unless = "!T(com.sundot.airport.common.cache.StatisticsCacheConditionUtil).isSuccess(#result) ||T(com.sundot.airport.common.cache.StatisticsCacheConditionUtil).isEmptyData(#result)"
207 207
 //    )
208 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 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 7
 import com.sundot.airport.check.domain.CheckLargeScreenCorrectionQueryParamDto;
8 8
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckCorrectionSqlDto;
9 9
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto;
10
-import com.sundot.airport.check.domain.CheckLargeScreenHomePageUserInfoSqlDto;
11 10
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteDto;
12 11
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteItemDto;
13 12
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteUserDto;
@@ -237,13 +236,6 @@ public interface CheckLargeScreenMapper {
237 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 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 161
      * @param dto 首页查询参数
162 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 16
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckCorrectionSqlDto;
17 17
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto;
18 18
 import com.sundot.airport.check.domain.CheckLargeScreenHomePageDto;
19
-import com.sundot.airport.check.domain.CheckLargeScreenHomePageUserInfoSqlDto;
20 19
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteDto;
21 20
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteItemDto;
22 21
 import com.sundot.airport.check.domain.CheckLargeScreenInspectionExecuteUserDto;
@@ -32,6 +31,7 @@ import com.sundot.airport.common.constant.CacheConstants;
32 31
 import com.sundot.airport.common.core.domain.BaseLargeScreenQueryParamDto;
33 32
 import com.sundot.airport.common.core.domain.CheckLargeScreenHomePageItemDto;
34 33
 import com.sundot.airport.common.core.domain.CheckLargeScreenHomePageRankingDto;
34
+import com.sundot.airport.common.core.domain.LargeScreenHomePageUserInfoSqlDto;
35 35
 import com.sundot.airport.common.core.domain.SysLargeScreenDetailDto;
36 36
 import com.sundot.airport.common.core.domain.entity.SysDept;
37 37
 import com.sundot.airport.common.core.domain.entity.SysDictData;
@@ -2036,7 +2036,18 @@ public class CheckLargeScreenServiceImpl implements ICheckLargeScreenService {
2036 2036
      * @return 首页
2037 2037
      */
2038 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 2051
         if (ObjUtil.isNull(dto.getUserId()) && ObjUtil.isNull(dto.getDeptId())) {
2041 2052
             throw new ServiceException("用户ID和部门ID不能同时为空");
2042 2053
         }
@@ -2396,47 +2407,47 @@ public class CheckLargeScreenServiceImpl implements ICheckLargeScreenService {
2396 2407
     @Override
2397 2408
     public List<CheckLargeScreenHomePageItemDto> getCheckLargeScreenHomePageItemDtoList(BaseLargeScreenQueryParamDto dto) {
2398 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 2451
         return result;
2441 2452
     }
2442 2453
 

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

@@ -784,29 +784,6 @@
784 784
         </if>) temp
785 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 787
     <select id="homePageCheckRecord"
811 788
             resultType="com.sundot.airport.check.domain.CheckLargeScreenHomePageCheckRecordSqlDto">
812 789
         select cr.id id,