From 25999c575dd42b4715e49d3fe57e73c2c3204ccb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 20 九月 2026 11:45:05 +0800
Subject: [PATCH] update
---
admin-server/src/main/java/com/estate/expert/admin/stat/report/data/SystemReportData.java | 44 ++++++++++++++++++++++++++++----------------
1 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/SystemReportData.java b/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/SystemReportData.java
index c927173..3df9824 100644
--- a/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/SystemReportData.java
+++ b/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/SystemReportData.java
@@ -37,7 +37,7 @@
Map<Integer, Long> problemHazardCounts;
- Map<Integer, Long> problemCheckCounts;
+ long projectCheckCount;
// 评估结果
@Override
@@ -46,9 +46,21 @@
evalInfo.put("综合信息", buildAbstractInfo());
evalInfo.put("检查项", buildCheckItems());
- evalInfo.put("隐患等级分布", buildErrorLevel(getFuzzyRoot()));
+ evalInfo.put("隐患等级分布", buildErrorLevel(getErrorLevelCounts()));
return evalInfo;
+ }
+
+ /**
+ * 获取报告使用的隐患等级计数。
+ * 默认使用模糊结果,评分报告可按需使用评分结果。
+ */
+ protected int[] getErrorLevelCounts() {
+ var root = getFuzzyRoot();
+ if (root == null || root.getData() == null) {
+ return null;
+ }
+ return root.getData().getTotalErrorCounts();
}
/**
@@ -123,7 +135,9 @@
return null;
JSONObject result = new JSONObject();
- result.put("名称", node.getName());
+ var name = node.getName();
+ result.put("名称", name);
+ result.put("问题清单标题", buildProblemListTitle(name));
buildNode(result, node);
var cfuzzyNode = getFuzzyNodeByPath(node.getPath());
@@ -178,6 +192,16 @@
return result;
}
+ private String buildProblemListTitle(String name) {
+ if (name == null || name.isBlank()) {
+ return "问题清单";
+ }
+ if ("安全检查".equals(name)) {
+ return "安全问题清单";
+ }
+ return name + "问题清单";
+ }
+
/**
* 构建错误信息
* @param nodePath 节点路径
@@ -186,18 +210,10 @@
protected List<Object> buildErrorInfo(String nodePath) {
var suffix = nodePath + "/";
var errors = new ArrayList<>();
- // 按 problem.id 去重,相同问题只保留第一个记录
var nodeRecords = records.stream()
.filter(record -> record.getProblem() != null &&
record.getProblem().getHierarchyPath() != null &&
record.getProblem().getHierarchyPath().startsWith(suffix))
- .collect(java.util.stream.Collectors.toMap(
- record -> record.getProblem().getId(),
- record -> record,
- (existing, replacement) -> existing // 保留第一个遇到的记录
- ))
- .values()
- .stream()
// 按照record.errorLevel排序
.sorted(Comparator.comparing(ErrorRecord::getLevel, Comparator.nullsLast(Comparator.naturalOrder())))
.toList();
@@ -221,11 +237,7 @@
}
private long getProblemCheckCount(ErrorRecord record) {
- var problemId = record != null && record.getProblem() != null ? record.getProblem().getId() : null;
- if (problemId == null || problemCheckCounts == null) {
- return 0L;
- }
- return problemCheckCounts.getOrDefault(problemId, 0L);
+ return Math.max(projectCheckCount, 0L);
}
/**
--
Gitblit v1.7.1