From 49fea21571a4060aa8570cbf220088352e2ccf15 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期三, 16 九月 2026 17:33:01 +0800
Subject: [PATCH] docs(工作日结): 补记 2026-09-16 收工记录(origin 已推 80e0879、gitea 仍不通、未提交项与明日计划)
---
traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataImportController.java | 82 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 82 insertions(+), 0 deletions(-)
diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataImportController.java b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataImportController.java
index 5700733..46d6e61 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataImportController.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataImportController.java
@@ -242,6 +242,51 @@
}
}
+
+ /** 缃戠害杞︽�绘暟锛堟湀搴﹀叏鐪� pin锛氭ā鏉縚缃戠害杞︽�绘暟.xlsx锛� */
+ @PostMapping("/wycTotal")
+ public Result<String> importWycTotal(@RequestParam("file") MultipartFile file,
+ @RequestParam("period") String period) {
+ try {
+ int count = importService.importWycTotal(file, period);
+ return Result.ok("缃戠害杞︽�绘暟瀵煎叆鎴愬姛, 鍏� " + count + " 鏈�");
+ } catch (Exception e) {
+ log.error("wycTotal import error", e);
+ return Result.error("瀵煎叆澶辫触: " + e.getMessage());
+ }
+ }
+
+ /** 缃戠害杞﹁鍗曞強鍏ㄧ渷鎬婚噺锛堟ā鏉縚缃戠害杞﹁鍗曞強鍏ㄧ渷鎬婚噺.xlsx锛� */
+ @PostMapping("/wycOrder")
+ public Result<String> importWycOrder(@RequestParam("file") MultipartFile file,
+ @RequestParam("period") String period) {
+ try {
+ int count = importService.importWycOrder(file, period);
+ return Result.ok("缃戠害杞﹁鍗曞強鍏ㄧ渷鎬婚噺瀵煎叆鎴愬姛, 鍏� " + count + " 鏈�");
+ } catch (Exception e) {
+ log.error("wycOrder import error", e);
+ return Result.error("瀵煎叆澶辫触: " + e.getMessage());
+ }
+ }
+
+ /** 缃戠害杞﹁鍗曡繍琛岀洃娴嬪垎鏋愭姤鍛婏紙docx锛氥�婄綉绾﹁溅琛屼笟YYYY骞碝鏈堣繍琛岀洃娴嬫儏鍐靛垎鏋愭姤鍛娿�嬶級 */
+ @PostMapping("/wycOrderReport")
+ public Result<String> importWycOrderReport(@RequestParam("file") MultipartFile file,
+ @RequestParam("period") String period) {
+ try {
+ DataImportService.WycOrderReportResult r = importService.importWycOrderReport(file, period);
+ StringBuilder msg = new StringBuilder("缃戠害杞﹁鍗曟姤鍛婂鍏ユ垚鍔燂細鎶ヨ〃鏈� " + r.getPeriod()
+ + "锛岃鍗曞悎璁� " + String.format("%,.0f", r.getOrderSum()) + " 鍗曪紝宸插啓鍏� " + r.getCityCount() + " 涓競宸�");
+ if (!r.getMissingCities().isEmpty()) {
+ msg.append("锛涗互涓嬪競宸炴湭鍦ㄦ姤鍛婁腑瑙f瀽鍒帮紝鏈啓鍏ワ細").append(String.join("銆�", r.getMissingCities()));
+ }
+ return Result.ok(msg.toString());
+ } catch (Exception e) {
+ log.error("wycOrderReport import error", e);
+ return Result.error("瀵煎叆澶辫触: " + e.getMessage());
+ }
+ }
+
/** 鎶曡祫鏈堟姤锛堝叏鐪佹眹鎬诲ぇ琛級锛歝ategory=瀹㈣繍绔欏満/鐗╂祦鍥尯 */
@PostMapping("/investment")
public Result<String> importInvestment(@RequestParam("file") MultipartFile file,
@@ -264,6 +309,20 @@
} catch (Exception e) {
log.error("investment import error", e);
return Result.error("瀵煎叆澶辫触: " + e.getMessage());
+ }
+ }
+
+ /** 澶氭枃浠舵壒閲忓鍏ワ細鍓嶇涓�娆¢�夋嫨澶氫釜 Excel 涓婁紶锛坱ype 涓烘暟鎹被鍨嬶紝鎶曡祫绫诲瀷鎸夊競宸炲崟琛ㄨВ鏋愶級 */
+ @PostMapping("/batch")
+ public Result<Object> importBatch(@RequestParam("type") String type,
+ @RequestParam("period") String period,
+ @RequestParam("files") List<MultipartFile> files) {
+ try {
+ Map<String, Object> result = importService.importBatchFiles(type, period, files);
+ return Result.ok(result);
+ } catch (Exception e) {
+ log.error("batch import error", e);
+ return Result.error("鎵归噺瀵煎叆澶辫触: " + e.getMessage());
}
}
@@ -402,4 +461,27 @@
return Result.ok(result);
}
+ /**
+ * 娓呯┖鎸囧畾鎶ヨ〃鏈熷凡瀵煎叆鏁版嵁涓庡鏍哥粨鏋滐紙鏁版嵁瀵煎叆椤�"娓呯┖鏁版嵁"鍏ュ彛璋冪敤锛夛紝渚夸簬鏁存湀閲嶆柊瀵煎叆銆�
+ * types 涓虹┖琛ㄧず娓呯┖璇ユ姤琛ㄦ湡鍏ㄩ儴绫诲瀷锛涘惁鍒欏彧娓呯┖鎸囧畾鏁版嵁绫诲瀷锛堥�楀彿鍒嗛殧锛屽 h2032,cityBus锛夈��
+ */
+ @PostMapping("/clear")
+ public Result<Map<String, Object>> clearData(@RequestParam("period") String period,
+ @RequestParam(value = "types", required = false) String types) {
+ try {
+ List<String> typeList = new java.util.ArrayList<>();
+ if (types != null) {
+ for (String t : types.split(",")) {
+ String s = t.trim();
+ if (!s.isEmpty()) typeList.add(s);
+ }
+ }
+ Map<String, Object> stats = importService.clearPeriod(period, typeList);
+ return Result.ok(stats);
+ } catch (Exception e) {
+ log.error("clear period {} types {} error", period, types, e);
+ return Result.error("娓呯┖澶辫触: " + e.getMessage());
+ }
+ }
+
}
--
Gitblit v1.9.1