From 847a7773ef1a8ad418c6934d35b5f205a97c04d0 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 06 十二月 2025 17:03:24 +0800
Subject: [PATCH] fix:在任务状态更新时,需要更新日志到旧系统

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleGpsSegmentMileageServiceImpl.java |   40 +++++++++++++++++++++++++++++++---------
 1 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleGpsSegmentMileageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleGpsSegmentMileageServiceImpl.java
index 08beb40..fbeede2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleGpsSegmentMileageServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleGpsSegmentMileageServiceImpl.java
@@ -96,33 +96,55 @@
     @Override
     public int batchCalculateSegmentMileage(Date startTime, Date endTime) {
         try {
-            // 鏌ヨ鎵�鏈夋椿璺冭溅杈�
-            List<Long> vehicleIds = vehicleGpsMapper.selectActiveVehicleIds();
+            logger.info("寮�濮嬫壒閲忚绠桮PS鍒嗘閲岀▼ - 鏃堕棿鑼冨洿: {} 鍒� {}", startTime, endTime);
+            
+            // 鏌ヨ鍦ㄦ寚瀹氭椂闂磋寖鍥村唴鏈塆PS鏁版嵁鐨勬墍鏈夎溅杈�
+            List<Long> vehicleIds = vehicleGpsMapper.selectActiveVehicleIds(startTime);
             
             if (vehicleIds == null || vehicleIds.isEmpty()) {
                 logger.info("娌℃湁鎵惧埌娲昏穬杞﹁締");
                 return 0;
             }
             
+            logger.info("鎵惧埌 {} 杈嗘椿璺冭溅杈嗭紝寮�濮嬮�愯締璁$畻...", vehicleIds.size());
+            
             int successCount = 0;
-            for (Long vehicleId : vehicleIds) {
+            int failedCount = 0;
+            
+            // 閫愯締璁$畻锛屽寘鍚敊璇鐞嗗拰閲嶈瘯鏈哄埗
+            for (int i = 0; i < vehicleIds.size(); i++) {
+                Long vehicleId = vehicleIds.get(i);
                 try {
+                    logger.info("姝e湪澶勭悊杞﹁締 {} ({}/{})", vehicleId, i + 1, vehicleIds.size());
+                    
                     int segmentCount = calculateVehicleSegmentMileage(vehicleId, startTime, endTime);
                     if (segmentCount > 0) {
                         successCount++;
+                        logger.info("杞﹁締 {} 璁$畻鎴愬姛锛岀敓鎴� {} 涓垎娈佃褰�", vehicleId, segmentCount);
+                    } else {
+                        logger.debug("杞﹁締 {} 鏃犳湁鏂扮殑GPS鍒嗘鏁版嵁", vehicleId);
                     }
                 } catch (Exception e) {
-                    logger.error("璁$畻杞﹁締 {} 鐨勫垎娈甸噷绋嬪け璐�", vehicleId, e);
+                    failedCount++;
+                    logger.error("璁$畻杞﹁締 {} 鐨勫垎娈甸噷绋嬪け璐� ({}/{})", vehicleId, i + 1, vehicleIds.size(), e);
+                    
+                    // 涓嶄腑鏂暣涓壒澶勭悊锛岀户缁鐞嗕笅涓�杈嗚溅
+                }
+                
+                // 姣忓鐞�10杈嗚溅杈撳嚭涓�娆¤繘搴�
+                if ((i + 1) % 10 == 0) {
+                    logger.info("鎵归噺璁$畻杩涘害: {}/{}, 鎴愬姛: {}, 澶辫触: {}", 
+                               i + 1, vehicleIds.size(), successCount, failedCount);
                 }
             }
             
-            logger.info("鎵归噺鍒嗘閲岀▼璁$畻瀹屾垚 - 鏃堕棿鑼冨洿: {} 鍒� {}, 鎬昏溅杈嗘暟: {}, 鎴愬姛: {}", 
-                       startTime, endTime, vehicleIds.size(), successCount);
+            logger.info("鎵归噺鍒嗘閲岀▼璁$畻瀹屾垚 - 鏃堕棿鑼冨洿: {} 鍒� {}, 鎬昏溅杈嗘暟: {}, 鎴愬姛: {}, 澶辫触: {}", 
+                       startTime, endTime, vehicleIds.size(), successCount, failedCount);
             return successCount;
             
         } catch (Exception e) {
-            logger.error("鎵归噺璁$畻鍒嗘閲岀▼澶辫触", e);
-            throw new RuntimeException("鎵归噺璁$畻澶辫触: " + e.getMessage());
+            logger.error("鎵归噺璁$畻鍒嗘閲岀▼澶辫触 - 鏃堕棿鑼冨洿: {} 鍒� {}", startTime, endTime, e);
+            throw new RuntimeException("鎵归噺璁$畻澶辫触: " + e.getMessage(), e);
         }
     }
 
@@ -138,7 +160,7 @@
             logger.info("寮�濮嬭ˉ鍋胯绠� - 鍥炴函澶╂暟: {}, 鏃堕棿鑼冨洿: {} 鍒� {}", lookbackDays, startTime, endTime);
             
             // 鏌ヨ鎵�鏈夋椿璺冭溅杈�
-            List<Long> vehicleIds = vehicleGpsMapper.selectActiveVehicleIds();
+            List<Long> vehicleIds = vehicleGpsMapper.selectActiveVehicleIds(startTime);
             
             if (vehicleIds == null || vehicleIds.isEmpty()) {
                 logger.info("娌℃湁鎵惧埌娲昏穬杞﹁締");

--
Gitblit v1.9.1