| | |
| | | private final ProjectCategoryCalculator projectCategoryCalculator; |
| | | private final ClientParamMapper clientParamMapper; |
| | | private final DeviceMapper deviceMapper; |
| | | private final ErrorReviewMapper errorReviewMapper; |
| | | |
| | | @Override |
| | | public ClientDashboardVO getClientDashboard(ClientDashboardQuery query) { |
| | |
| | | vo.setMajorHazardTotal(majorHazards.size()); |
| | | |
| | | // 统计已整改和未整改数量 |
| | | long rectifiedCount = majorHazards.stream() |
| | | .filter(r -> r.getReformed() != null && r.getReformed()) |
| | | .count(); |
| | | long unrectifiedCount = majorHazards.stream() |
| | | .filter(r -> r.getReformed() == null || !r.getReformed()) |
| | | .count(); |
| | | // 1. 收集所有非空的 errorReviewId |
| | | List<Integer> errorReviewIds = majorHazards.stream() |
| | | .map(Record::getErrorReviewId) |
| | | .filter(Objects::nonNull) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 2. 查询 ErrorReview 中 state=2 的记录 |
| | | long rectifiedCount = 0; |
| | | if (!errorReviewIds.isEmpty()) { |
| | | LambdaQueryWrapper<ErrorReview> reviewWrapper = new LambdaQueryWrapper<>(); |
| | | reviewWrapper.in(ErrorReview::getId, errorReviewIds) |
| | | .eq(ErrorReview::getState, 2) // state=2 表示已整改 |
| | | .eq(ErrorReview::getDeleted, false); |
| | | rectifiedCount = errorReviewMapper.selectCount(reviewWrapper); |
| | | } |
| | | |
| | | // 3. 未整改数量 = 总数 - 已整改数量 |
| | | long unrectifiedCount = majorHazards.size() - rectifiedCount; |
| | | |
| | | vo.setRectifiedHazardCount((int) rectifiedCount); |
| | | vo.setUnrectifiedHazardCount((int) unrectifiedCount); |
| | |
| | | vo.setMajorHazardTotal(majorHazards.size()); |
| | | |
| | | // 统计已整改和未整改数量 |
| | | long rectifiedCount = majorHazards.stream() |
| | | .filter(r -> r.getReformed() != null && r.getReformed()) |
| | | .count(); |
| | | long unrectifiedCount = majorHazards.stream() |
| | | .filter(r -> r.getReformed() == null || !r.getReformed()) |
| | | .count(); |
| | | // 1. 收集所有非空的 errorReviewId |
| | | List<Integer> errorReviewIds = majorHazards.stream() |
| | | .map(Record::getErrorReviewId) |
| | | .filter(Objects::nonNull) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 2. 查询 ErrorReview 中 state=2 的记录 |
| | | long rectifiedCount = 0; |
| | | if (!errorReviewIds.isEmpty()) { |
| | | LambdaQueryWrapper<ErrorReview> reviewWrapper = new LambdaQueryWrapper<>(); |
| | | reviewWrapper.in(ErrorReview::getId, errorReviewIds) |
| | | .eq(ErrorReview::getState, 2) // state=2 表示已整改 |
| | | .eq(ErrorReview::getDeleted, false); |
| | | rectifiedCount = errorReviewMapper.selectCount(reviewWrapper); |
| | | } |
| | | |
| | | // 3. 未整改数量 = 总数 - 已整改数量 |
| | | long unrectifiedCount = majorHazards.size() - rectifiedCount; |
| | | |
| | | vo.setRectifiedHazardCount((int) rectifiedCount); |
| | | vo.setUnrectifiedHazardCount((int) unrectifiedCount); |