From 09e612af50beb200027317d6d4ccf7ad7092838e Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期五, 11 九月 2026 17:53:07 +0800
Subject: [PATCH] docs: 补充「数据导入」白屏修复的发布与二次独立验证记录
---
traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.java | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.java b/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.java
index baf3d26..947eff3 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/reportexport/calc/WycSplitCalc.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.trafficaudit.common.util.RegionUtil;
import com.trafficaudit.dataimport.entity.CityTaxiMonthly;
+import com.trafficaudit.dataimport.entity.WycOrderMonthly;
import com.trafficaudit.dataimport.mapper.CityTaxiMonthlyMapper;
+import com.trafficaudit.dataimport.mapper.WycOrderMonthlyMapper;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DataFormatter;
@@ -76,6 +78,8 @@
@Resource
private CityTaxiMonthlyMapper cityTaxiMapper;
+ @Resource
+ private WycOrderMonthlyMapper wycOrderMapper;
@Value("${city-passenger.template-dir:docs/鍩庡競瀹㈣繍}")
private String templateDir;
@@ -190,6 +194,8 @@
/** 璇诲彇 docs/鍩庡競瀹㈣繍/銆婄綉绾﹁溅璁㈠崟鍙婂叏鐪佹�婚噺.xlsx銆嬶細鎸� period(yyyy-MM) 琛屽彇 pin(B-E) 涓� 17 甯傚窞璁㈠崟(G-W) */
private Map<String, Object> loadMonthlyInput(String period) throws Exception {
+ Map<String, Object> db = loadMonthlyInputFromDb(period);
+ if (db != null) return db;
File f = findInput();
try (InputStream in = new FileInputStream(f);
Workbook wb = WorkbookFactory.create(in)) {
@@ -226,6 +232,38 @@
}
}
+ /** 浼樺厛浠庡簱鍙栨暟锛坵yc_order_monthly锛夛紱搴撻噷鏃犺鏈熸垨璁㈠崟鍏ㄧ┖鏃惰繑鍥� null锛屽洖閫�璇绘瘝鐗堟枃浠� */
+ private Map<String, Object> loadMonthlyInputFromDb(String period) {
+ WycOrderMonthly row = wycOrderMapper.selectOne(new LambdaQueryWrapper<WycOrderMonthly>()
+ .eq(WycOrderMonthly::getReportPeriod, period).last("LIMIT 1"));
+ if (row == null) return null;
+ List<String> cities = RegionUtil.cityList();
+ Double[] vals = {
+ row.getOrderWuhan(), row.getOrderHuangshi(), row.getOrderShiyan(), row.getOrderYichang(),
+ row.getOrderXiangyang(), row.getOrderEzhou(), row.getOrderJingmen(), row.getOrderXiaogan(),
+ row.getOrderJingzhou(), row.getOrderHuanggang(), row.getOrderXianning(), row.getOrderSuizhou(),
+ row.getOrderEnshi(), row.getOrderXiantao(), row.getOrderQianjiang(), row.getOrderTianmen(),
+ row.getOrderShennong()
+ };
+ double[] orders = new double[cities.size()];
+ double sum = 0.0;
+ for (int i = 0; i < orders.length && i < vals.length; i++) {
+ orders[i] = vals[i] == null ? 0.0 : vals[i];
+ sum += orders[i];
+ }
+ if (sum <= 0) return null;
+ double orderSum = sum;
+ if (row.getOrderSum() != null && row.getOrderSum() > 0) orderSum = row.getOrderSum();
+ Map<String, Object> map = new LinkedHashMap<>();
+ map.put("pinK", row.getPinK() == null ? 0.0 : row.getPinK());
+ map.put("pinCK", row.getPinCK() == null ? 0.0 : row.getPinCK());
+ map.put("pinZ", row.getPinZ() == null ? 0.0 : row.getPinZ());
+ map.put("pinCZ", row.getPinCZ() == null ? 0.0 : row.getPinCZ());
+ map.put("orders", orders);
+ map.put("orderSum", orderSum);
+ map.put("source", "db");
+ return map;
+ }
private File findInput() throws Exception {
String rel = templateDir;
while (rel.startsWith("./")) rel = rel.substring(2);
--
Gitblit v1.9.1