From fe33646ee6e2d1e57f2b51812e94983a0e9efb04 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 16:51:28 +0800
Subject: [PATCH] feat: 修复统计

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleMileageStatsController.java |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleMileageStatsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleMileageStatsController.java
index 2383778..37dd210 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleMileageStatsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleMileageStatsController.java
@@ -4,6 +4,8 @@
 import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -29,6 +31,8 @@
 @RestController
 @RequestMapping("/system/mileageStats")
 public class VehicleMileageStatsController extends BaseController {
+    
+    private static final Logger logger = LoggerFactory.getLogger(VehicleMileageStatsController.class);
     
     @Autowired
     private IVehicleMileageStatsService vehicleMileageStatsService;
@@ -103,15 +107,23 @@
     @PostMapping("/calculate")
     public AjaxResult calculate(Long vehicleId, String statDate) {
         try {
+            if (statDate == null || statDate.trim().isEmpty()) {
+                return error("缁熻鏃ユ湡涓嶈兘涓虹┖");
+            }
+            
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            Date date = sdf.parse(statDate);
+            sdf.setLenient(false); // 涓ユ牸瑙f瀽鏃ユ湡
+            Date date = sdf.parse(statDate.trim());
+            logger.info("---> 鎵嬪姩璁$畻杞﹁締閲岀▼姹囨��,杞﹁締ID: {}, 鏃ユ湡: {}", vehicleId, date);
             VehicleMileageStats stats = vehicleMileageStatsService.calculateAndSaveMileageStats(vehicleId, date);
+            // 淇String鍒癉ate杞崲闂锛屾坊鍔犳洿濂界殑閿欒澶勭悊
             if (stats != null) {
-                return success("閲岀▼缁熻璁$畻鎴愬姛", stats);
+                return AjaxResult.success("閲岀▼缁熻璁$畻鎴愬姛", stats);
             } else {
                 return error("璇ヨ溅杈嗗湪鎸囧畾鏃ユ湡鏃燝PS鏁版嵁");
             }
         } catch (Exception e) {
+            logger.error("閲岀▼缁熻璁$畻澶辫触 - 杞﹁締ID: {}, 鏃ユ湡: {}", vehicleId, statDate, e);
             return error("閲岀▼缁熻璁$畻澶辫触锛�" + e.getMessage());
         }
     }
@@ -124,11 +136,18 @@
     @PostMapping("/batchCalculate")
     public AjaxResult batchCalculate(String statDate) {
         try {
+            if (statDate == null || statDate.trim().isEmpty()) {
+                return error("缁熻鏃ユ湡涓嶈兘涓虹┖");
+            }
+            
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            Date date = sdf.parse(statDate);
+            sdf.setLenient(false); // 涓ユ牸瑙f瀽鏃ユ湡
+            Date date = sdf.parse(statDate.trim());
+            
             int count = vehicleMileageStatsService.batchCalculateMileageStats(date);
             return success("鎵归噺閲岀▼缁熻瀹屾垚锛屾垚鍔熺粺璁� " + count + " 杈嗚溅");
         } catch (Exception e) {
+            logger.error("鎵归噺閲岀▼缁熻澶辫触 - 鏃ユ湡: {}", statDate, e);
             return error("鎵归噺閲岀▼缁熻澶辫触锛�" + e.getMessage());
         }
     }

--
Gitblit v1.9.1