From 664cae654867b528ea339f187ebe290cb04d6fcf Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期四, 27 八月 2026 18:41:21 +0800
Subject: [PATCH] docs: 关机前交接——运行状态、待验证项、外置配置要点

---
 traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java
index e5dc454..dd04fa2 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/auditengine/controller/AuditController.java
@@ -3,6 +3,7 @@
 import com.trafficaudit.auditengine.entity.AuditResult;
 import com.trafficaudit.auditengine.service.AuditEngineService;
 import com.trafficaudit.common.Result;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -16,14 +17,58 @@
     private AuditEngineService auditService;
 
     @PostMapping("/execute")
-    public Result<List<AuditResult>> executeAudit(@RequestParam("period") String period) {
-        List<AuditResult> results = auditService.executeAudit(period);
+    public Result<List<AuditResult>> executeAudit(@RequestParam("period") String period,
+                                                  @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        List<AuditResult> results;
+        if ("H2031".equals(reportType)) {
+            results = auditService.executePassengerAudit(period);
+        } else if ("H204".equals(reportType)) {
+            results = auditService.executeEnergyAudit(period);
+        } else if ("INVEST".equals(reportType)) {
+            results = auditService.executeInvestmentAudit(period);
+        } else if ("CITY_BUS".equals(reportType)) {
+            results = auditService.executeCityBusAudit(period);
+        } else if ("CITY_TAXI".equals(reportType)) {
+            results = auditService.executeCityTaxiAudit(period);
+        } else {
+            results = auditService.executeAudit(period);
+        }
         return Result.ok(results);
     }
 
+    /** 鏍囪璇ユ姤琛ㄦ湡+绫诲瀷涓恒�屽凡瀹℃牳銆嶏紙绾夸笅瀹℃牳閫氳繃鐨勬暟鎹紱鍏堝鏍稿啀鍑鸿〃鐨勪緷鎹紝瀵煎嚭鍓嶄笉鍐嶆彁绀烘湭瀹℃牳锛� */
+    @PostMapping("/markAudited")
+    public Result<Boolean> markAudited(@RequestParam("period") String period,
+                                       @RequestParam("reportType") String reportType) {
+        return Result.ok(auditService.markAudited(reportType, period));
+    }
+
+    @GetMapping("/ruleStats")
+    public Result<java.util.List<java.util.Map<String, Object>>> ruleStats(@RequestParam("period") String period,
+                                                                           @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        return Result.ok(auditService.ruleStats(period, reportType));
+    }
+
+    @GetMapping("/latestPeriod")
+    public Result<String> latestPeriod(@RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        return Result.ok(auditService.latestPeriod(reportType));
+    }
+
+    @GetMapping("/export")
+    public ResponseEntity<byte[]> exportResults(@RequestParam("period") String period,
+                                                @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) throws Exception {
+        byte[] bytes = auditService.exportResults(period, reportType);
+        String name = java.net.URLEncoder.encode("瀹℃牳缁撴灉_" + period + ".xlsx", "UTF-8");
+        return ResponseEntity.ok()
+            .header("Content-Disposition", "attachment; filename*=UTF-8''" + name)
+            .contentType(org.springframework.http.MediaType.APPLICATION_OCTET_STREAM)
+            .body(bytes);
+    }
+
     @GetMapping("/results")
-    public Result<List<AuditResult>> getResults(@RequestParam("period") String period) {
-        List<AuditResult> results = auditService.queryResults(period);
+    public Result<List<AuditResult>> getResults(@RequestParam("period") String period,
+                                                @RequestParam(value = "reportType", defaultValue = "H2032") String reportType) {
+        List<AuditResult> results = auditService.queryResults(period, reportType);
         return Result.ok(results);
     }
 

--
Gitblit v1.9.1