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/render/CheckInfoTablePolicy.java |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

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