From a08817bf6e0ac64bf70fd9ced2584473cb4a70bd Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期二, 22 九月 2026 12:49:15 +0800
Subject: [PATCH] feat(数据查看/汇总): 全省合计行置顶(武汉市之上),导出 Excel 合计行加粗 + 文档更新

---
 traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/CityRollupService.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/CityRollupService.java b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/CityRollupService.java
index 761cd02..ba78a5d 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/CityRollupService.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/service/CityRollupService.java
@@ -221,10 +221,11 @@
         Map<String, Map<String, Double>> last = sumByCity(longRows(type, lastFrom, lastTo), cols);
 
         List<Map<String, Object>> records = new ArrayList<>();
+        // 鍏ㄧ渷鍚堣琛屾斁鍦ㄦ渶鍓嶉潰锛堢敤鎴疯姹傦紝鏀惧湪姝︽眽甯備箣涓婏級
+        records.add(outRow(cols, mergeAll(cur), mergeAll(last), TOTAL_CITY));
         for (String city : RegionUtil.cityList()) {
             records.add(outRow(cols, cur.get(city), last.get(city), city));
         }
-        records.add(outRow(cols, mergeAll(cur), mergeAll(last), TOTAL_CITY));
         if (recomputeRank) {
             applyRank(records, cols);
         }
@@ -283,8 +284,14 @@
                 cell.setCellValue(String.valueOf(columns.get(i).get("label")));
                 cell.setCellStyle(headStyle);
             }
+            Font totalFont = wb.createFont();
+            totalFont.setBold(true);
+            XSSFCellStyle totalStyle = wb.createCellStyle();
+            totalStyle.setFont(totalFont);
+
             int r = 2;
             for (Map<String, Object> rec : records) {
+                boolean isTotal = TOTAL_CITY.equals(rec.get("city"));
                 XSSFRow row = sheet.createRow(r++);
                 for (int i = 0; i < columns.size(); i++) {
                     String prop = String.valueOf(columns.get(i).get("prop"));
@@ -296,6 +303,9 @@
                         cell.setCellStyle(colLabel.contains("鍚屾瘮") ? pctStyle : numStyle);
                     } else {
                         cell.setCellValue(v == null ? "" : String.valueOf(v));
+                        if (isTotal) {
+                            cell.setCellStyle(totalStyle);
+                        }
                     }
                 }
             }

--
Gitblit v1.9.1