|
|
@@ -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
|
|