Kaynağa Gözat

巡检合格率全量数据

chenshudong 1 ay önce
ebeveyn
işleme
b30bc3b87b

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

@@ -2435,47 +2435,47 @@ public class CheckLargeScreenServiceImpl implements ICheckLargeScreenService {
2435 2435
     @Override
2436 2436
     public List<CheckLargeScreenHomePageItemDto> getCheckLargeScreenHomePageItemDtoList(BaseLargeScreenQueryParamDto dto) {
2437 2437
         List<CheckLargeScreenHomePageItemDto> result = new ArrayList<>();
2438
-//        String key = CacheConstants.USER_CHECK_PASS_RATE_KEY + dto.getStartDate() + ":" + dto.getEndDate() + ":" + dto.getSpecifiedDate();
2439
-//        List<CheckLargeScreenHomePageItemDto> cacheList = redisCache.getCacheList(key);
2440
-//        if (CollUtil.isNotEmpty(cacheList)) {
2441
-//            result.addAll(cacheList);
2442
-//        } else {
2443
-        List<LargeScreenHomePageUserInfoSqlDto> userInfoListAll = sysUserService.homePageUserInfo();
2444
-        if (CollUtil.isEmpty(userInfoListAll)) {
2445
-            return Collections.emptyList();
2446
-        }
2447
-        List<CheckLargeScreenHomePageCheckRecordSqlDto> checkRecordListAll = checkLargeScreenMapper.homePageCheckRecord(dto);
2448
-        if (CollUtil.isEmpty(checkRecordListAll)) {
2449
-            return Collections.emptyList();
2438
+        String key = CacheConstants.USER_CHECK_PASS_RATE_KEY + dto.getStartDate() + ":" + dto.getEndDate() + ":" + dto.getSpecifiedDate();
2439
+        List<CheckLargeScreenHomePageItemDto> cacheList = redisCache.getCacheList(key);
2440
+        if (CollUtil.isNotEmpty(cacheList)) {
2441
+            result.addAll(cacheList);
2442
+        } else {
2443
+            List<LargeScreenHomePageUserInfoSqlDto> userInfoListAll = sysUserService.homePageUserInfo();
2444
+            if (CollUtil.isEmpty(userInfoListAll)) {
2445
+                return Collections.emptyList();
2446
+            }
2447
+            List<CheckLargeScreenHomePageCheckRecordSqlDto> checkRecordListAll = checkLargeScreenMapper.homePageCheckRecord(dto);
2448
+            if (CollUtil.isEmpty(checkRecordListAll)) {
2449
+                return Collections.emptyList();
2450
+            }
2451
+            userInfoListAll.forEach(userInfoSqlDto -> {
2452
+                CheckLargeScreenHomePageItemDto itemDto = new CheckLargeScreenHomePageItemDto();
2453
+                itemDto.setId(userInfoSqlDto.getUserId());
2454
+                itemDto.setName(userInfoSqlDto.getNickName());
2455
+                List<CheckLargeScreenHomePageCheckRecordSqlDto> brigadeList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.BRIGADE_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getBrigadeId(), checkRecordSqlDto.getCheckedBrigadeId())).collect(Collectors.toList());
2456
+                long brigadeTotal = brigadeList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2457
+                long brigadeUnqualifiedNum = brigadeList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2458
+                long brigadeQualifiedNum = brigadeTotal - brigadeUnqualifiedNum;
2459
+                List<CheckLargeScreenHomePageCheckRecordSqlDto> departmentList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.DEPARTMENT_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getDepartmentId(), checkRecordSqlDto.getCheckedDepartmentId())).collect(Collectors.toList());
2460
+                long departmentTotal = departmentList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2461
+                long departmentUnqualifiedNum = departmentList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2462
+                long departmentQualifiedNum = departmentTotal - departmentUnqualifiedNum;
2463
+                List<CheckLargeScreenHomePageCheckRecordSqlDto> teamList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.TEAM_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getTeamId(), checkRecordSqlDto.getCheckedTeamId())).collect(Collectors.toList());
2464
+                long teamTotal = teamList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2465
+                long teamUnqualifiedNum = teamList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2466
+                long teamQualifiedNum = teamTotal - teamUnqualifiedNum;
2467
+                List<CheckLargeScreenHomePageCheckRecordSqlDto> personalList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.PERSONNEL_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getUserId(), checkRecordSqlDto.getCheckedPersonnelId())).collect(Collectors.toList());
2468
+                long personalTotal = personalList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2469
+                long personalUnqualifiedNum = personalList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2470
+                long personalQualifiedNum = personalTotal - personalUnqualifiedNum;
2471
+                long total = personalTotal + teamTotal + departmentTotal + brigadeTotal;
2472
+                long qualifiedNum = brigadeQualifiedNum + departmentQualifiedNum + teamQualifiedNum + personalQualifiedNum;
2473
+                itemDto.setPassRate(total == 0 ? BigDecimal.ONE : new BigDecimal(qualifiedNum).divide(new BigDecimal(total), 4, RoundingMode.HALF_UP));
2474
+                result.add(itemDto);
2475
+            });
2476
+            redisCache.setCacheList(key, result);
2477
+            redisCache.expire(key, 10, TimeUnit.MINUTES);
2450 2478
         }
2451
-        userInfoListAll.forEach(userInfoSqlDto -> {
2452
-            CheckLargeScreenHomePageItemDto itemDto = new CheckLargeScreenHomePageItemDto();
2453
-            itemDto.setId(userInfoSqlDto.getUserId());
2454
-            itemDto.setName(userInfoSqlDto.getNickName());
2455
-            List<CheckLargeScreenHomePageCheckRecordSqlDto> brigadeList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.BRIGADE_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getBrigadeId(), checkRecordSqlDto.getCheckedBrigadeId())).collect(Collectors.toList());
2456
-            long brigadeTotal = brigadeList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2457
-            long brigadeUnqualifiedNum = brigadeList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2458
-            long brigadeQualifiedNum = brigadeTotal - brigadeUnqualifiedNum;
2459
-            List<CheckLargeScreenHomePageCheckRecordSqlDto> departmentList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.DEPARTMENT_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getDepartmentId(), checkRecordSqlDto.getCheckedDepartmentId())).collect(Collectors.toList());
2460
-            long departmentTotal = departmentList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2461
-            long departmentUnqualifiedNum = departmentList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2462
-            long departmentQualifiedNum = departmentTotal - departmentUnqualifiedNum;
2463
-            List<CheckLargeScreenHomePageCheckRecordSqlDto> teamList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.TEAM_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getTeamId(), checkRecordSqlDto.getCheckedTeamId())).collect(Collectors.toList());
2464
-            long teamTotal = teamList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2465
-            long teamUnqualifiedNum = teamList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2466
-            long teamQualifiedNum = teamTotal - teamUnqualifiedNum;
2467
-            List<CheckLargeScreenHomePageCheckRecordSqlDto> personalList = checkRecordListAll.stream().filter(checkRecordSqlDto -> StrUtil.equals(checkRecordSqlDto.getCheckedLevel(), CheckLevelEnum.PERSONNEL_LEVEL.getCode()) && ObjUtil.equals(userInfoSqlDto.getUserId(), checkRecordSqlDto.getCheckedPersonnelId())).collect(Collectors.toList());
2468
-            long personalTotal = personalList.stream().map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2469
-            long personalUnqualifiedNum = personalList.stream().filter(item -> ObjUtil.equals(userInfoSqlDto.getUserId(), item.getUserId())).map(CheckLargeScreenHomePageCheckRecordSqlDto::getId).distinct().count();
2470
-            long personalQualifiedNum = personalTotal - personalUnqualifiedNum;
2471
-            long total = personalTotal + teamTotal + departmentTotal + brigadeTotal;
2472
-            long qualifiedNum = brigadeQualifiedNum + departmentQualifiedNum + teamQualifiedNum + personalQualifiedNum;
2473
-            itemDto.setPassRate(total == 0 ? BigDecimal.ONE : new BigDecimal(qualifiedNum).divide(new BigDecimal(total), 4, RoundingMode.HALF_UP));
2474
-            result.add(itemDto);
2475
-        });
2476
-//            redisCache.setCacheList(key, result);
2477
-//            redisCache.expire(key, 6, TimeUnit.HOURS);
2478
-//        }
2479 2479
         return result;
2480 2480
     }
2481 2481