From 0e5d431f85612bf3abc0515fb6e46e500b5cdfe1 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 21 五月 2026 18:06:41 +0800
Subject: [PATCH] update
---
admin-server/src/main/java/com/estate/expert/admin/stat/report/data/impl/SystemFuzzyReportData.java | 3 ++-
admin-server/src/main/java/com/estate/expert/admin/stat/report/data/SystemReportData.java | 8 --------
admin-server/src/main/java/com/estate/expert/admin/stat/report/render/CheckInfoTablePolicy.java | 24 +++++++++++++++++++++---
3 files changed, 23 insertions(+), 12 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 da8af05..949300e 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
@@ -198,18 +198,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();
diff --git a/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/impl/SystemFuzzyReportData.java b/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/impl/SystemFuzzyReportData.java
index 33a1d1e..57cfda5 100644
--- a/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/impl/SystemFuzzyReportData.java
+++ b/admin-server/src/main/java/com/estate/expert/admin/stat/report/data/impl/SystemFuzzyReportData.java
@@ -44,7 +44,8 @@
protected void buildNode(JSONObject info, TreeNode<ScoreValue> c){
var parentWeight = c.getParent() == null ? 1f : c.getParent().getData().getWeight();
info.put("权重", formatFloatF4(c.getData().getWeight() * parentWeight ));
- info.put("得分", formatFloat(c.getData().getScore()));
+ var fuzzyNode = getFuzzyNodeByPath(c.getPath());
+ info.put("得分", formatFloat(fuzzyNode != null ? fuzzyNode.getData().getScore() : c.getData().getScore()));
}
}
diff --git a/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/CheckInfoTablePolicy.java b/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/CheckInfoTablePolicy.java
index dda25ce..4956022 100644
--- a/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/CheckInfoTablePolicy.java
+++ b/admin-server/src/main/java/com/estate/expert/admin/stat/report/render/CheckInfoTablePolicy.java
@@ -45,9 +45,7 @@
// 分项得分结果,去掉权重/评价列后只保留名称与得分
var row = table.insertNewTableRow(table.getRows().size() - 1);
RenderHelper.renderCell(row, info.getString("类别"));
- RenderHelper.renderCell(row, info.containsKey("得分")
- ? info.getString("得分")
- : info.getString("模糊得分"));
+ RenderHelper.renderCell(row, renderScore(info));
}break;
case 3: {
if(colTitle.equals("分项")) {
@@ -142,6 +140,26 @@
}
}
+ private String renderScore(JSONObject info) {
+ if (!info.containsKey("得分")) {
+ return info.getString("模糊得分");
+ }
+ if (!info.containsKey("总分")) {
+ return info.getString("得分");
+ }
+ try {
+ var totalScore = Float.parseFloat(info.getString("总分"));
+ if (totalScore <= 0) {
+ return info.getString("得分");
+ }
+ var normalizedScore = Float.parseFloat(info.getString("得分")) * 100 / totalScore;
+ return String.format("%.2f", normalizedScore);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return info.getString("得分");
+ }
+ }
+
/*
* 问题汇总表
* 主要差异是需要合并第0列的相同内容
--
Gitblit v1.7.1