From 309b5eb17c510c781daec96bbfef3b693f3a4d7e Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期三, 25 三月 2026 17:29:52 +0800
Subject: [PATCH] feat:报告导出
---
admin-server/src/main/java/com/estate/expert/admin/stat/report/data/DeviceReportData.java | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/DeviceReportData.java b/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/DeviceReportData.java
index ab88923..2c058fe 100644
--- a/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/DeviceReportData.java
+++ b/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/DeviceReportData.java
@@ -17,6 +17,7 @@
import java.util.Comparator;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.TreeMap;
/**
@@ -30,6 +31,10 @@
protected Map<Integer, FuzzyResult> deviceResMap;
TreeRoot<HierarchyData> deviceHierarchy;
+
+ Map<String, Long> deviceProblemHazardCounts;
+
+ Map<String, Long> deviceProblemCheckCounts;
/**
* 生成报告数据
@@ -241,6 +246,8 @@
// 检查问题列:默认为问题备注,当问题备注为空时,填写问题描述(与安全报告一致)
info.put("检查问题", StringUtils.hasText(record.getRemark()) ? record.getRemark() : record.getProblem().getDescription());
info.put("隐患等级", record.getLevel().getDesc());
+ info.put("同类隐患出现频次", getDeviceProblemHazardCount(record));
+ info.put("检查频次", getDeviceProblemCheckCount(record));
var subItem = buildRecordDetail(record);
subItem.put("项目级别", errorNode(record).getName());
info.put("问题详情", subItem);
@@ -249,6 +256,30 @@
return result;
}
+ private long getDeviceProblemHazardCount(ErrorRecord record) {
+ if (deviceProblemHazardCounts == null) {
+ return 0L;
+ }
+ return deviceProblemHazardCounts.getOrDefault(buildDeviceProblemKey(record), 0L);
+ }
+
+ private long getDeviceProblemCheckCount(ErrorRecord record) {
+ if (deviceProblemCheckCounts == null) {
+ return 0L;
+ }
+ return deviceProblemCheckCounts.getOrDefault(buildDeviceProblemKey(record), 0L);
+ }
+
+ private String buildDeviceProblemKey(ErrorRecord record) {
+ Integer deviceId = record != null && record.getDevice() != null ? record.getDevice().getId() : null;
+ Integer problemId = record != null && record.getProblem() != null ? record.getProblem().getId() : null;
+ return buildDeviceProblemKey(deviceId, problemId);
+ }
+
+ public static String buildDeviceProblemKey(Integer deviceId, Integer problemId) {
+ return Objects.toString(deviceId, "") + "::" + Objects.toString(problemId, "");
+ }
+
/**
* 构建设备记录
* @param device 设备
--
Gitblit v1.7.1