From b5a5e43e2ea7af773dba1ee99c2194be61515df8 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 05 二月 2026 18:21:59 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/smart_screen
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClientServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClientServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClientServiceImpl.java
index d941643..ae472cb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClientServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClientServiceImpl.java
@@ -47,6 +47,7 @@
private final ProjectCategoryCalculator projectCategoryCalculator;
private final ClientParamMapper clientParamMapper;
private final DeviceMapper deviceMapper;
+ private final ErrorReviewMapper errorReviewMapper;
@Override
public ClientDashboardVO getClientDashboard(ClientDashboardQuery query) {
@@ -542,12 +543,25 @@
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);
@@ -588,12 +602,25 @@
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);
--
Gitblit v1.7.1