From 95a1f46104dadf824586498aa139a1acaf5fc77c Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期四, 10 九月 2026 08:58:55 +0800
Subject: [PATCH] feat: 数据导入页清空增强——支持按数据类型清空(后端 types 参数 + 弹窗多选),清空按钮移出“刷新”行改独立危险操作区防误触(含功能测试报告与工作日结)

---
 traffic-audit-server/src/main/java/com/trafficaudit/dataimport/controller/DataImportController.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 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..54e09c2 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,33 @@
         }
     }
 
+
+    /** 缃戠害杞︽�绘暟锛堟湀搴﹀叏鐪� 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());
+        }
+    }
+
     /** 鎶曡祫鏈堟姤锛堝叏鐪佹眹鎬诲ぇ琛級锛歝ategory=瀹㈣繍绔欏満/鐗╂祦鍥尯 */
     @PostMapping("/investment")
     public Result<String> importInvestment(@RequestParam("file") MultipartFile file,
@@ -264,6 +291,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 +443,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