From 6b29bd596f8b48485d3506bfba4a1e0ea6c7df99 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 14 四月 2026 22:45:40 +0800
Subject: [PATCH] feat: 优化统计及告急处理

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleGpsSegmentMileageServiceImpl.java |    6 +-
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleAbnormalAlertTask.java                    |   35 +++++++++--------
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java       |   27 +++++++------
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java         |    2 
 ruoyi-admin/src/main/resources/logback.xml                                                        |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java      |   16 ++++----
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java                |    2 
 ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml                  |    2 
 8 files changed, 47 insertions(+), 45 deletions(-)

diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index f1d10d6..668d0aa 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -3,7 +3,7 @@
     <!-- 鏃ュ織瀛樻斁璺緞 -->
 	<property name="log.path" value="./logs" />
     <!-- 鏃ュ織杈撳嚭鏍煎紡 -->
-	<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
+	<property name="log.pattern" value="%d{HH:mm:ss.SSS} %-5level %logger{20} - [%method,%line] - %msg%n" />
 	<!-- 鍗曚釜鏃ュ織鏂囦欢鏈�澶уぇ灏� -->
 	<property name="log.maxFileSize" value="100MB" />
 	<!-- 鏃ュ織鏂囦欢鎬诲ぇ灏忎笂闄� -->
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleAbnormalAlertTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleAbnormalAlertTask.java
index 8576d4d..ed5f3f6 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleAbnormalAlertTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleAbnormalAlertTask.java
@@ -81,7 +81,7 @@
             // 鏌ヨ鎵�鏈夋椿璺冭溅杈�
             List<VehicleInfo> vehicles = vehicleInfoMapper.selectVehicleInfoList(new VehicleInfo());
             if (vehicles == null || vehicles.isEmpty()) {
-                log.debug("娌℃湁鎵惧埌闇�瑕佺洃鎺х殑杞﹁締");
+                log.info("娌℃湁鎵惧埌闇�瑕佺洃鎺х殑杞﹁締");
                 return;
             }
             
@@ -118,14 +118,14 @@
         // 鑾峰彇璇ヨ溅杈嗙殑閰嶇疆锛堜紭鍏堢骇锛氳溅杈� > 閮ㄩ棬 > 鍏ㄥ眬锛�
         AlertConfig config = getVehicleAlertConfig(vehicleId, deptId, globalConfig);
         if (config == null) {
-            log.debug("杞﹁締 {} 鏈壘鍒版湁鏁堥厤缃紝璺宠繃鐩戞帶", vehicleNo);
+//            log.info("杞﹁締 {} 鏈壘鍒版湁鏁堥厤缃紝璺宠繃鐩戞帶", vehicleNo);
             return false;
         }
         
         // 1. 鏌ヨ杞﹁締鍦ㄦ椂闂寸獥鍙e唴鐨勬�昏繍琛岄噷绋�
         BigDecimal totalMileage = calculateVehicleMileage(vehicleId, startTime, endTime);
         if (totalMileage == null || totalMileage.compareTo(BigDecimal.ZERO) == 0) {
-            log.debug("杞﹁締 {} 鍦ㄧ洃鎺х獥鍙e唴鏃犺繍琛岄噷绋�", vehicleNo);
+//            log.info("杞﹁締 {} 鍦ㄧ洃鎺х獥鍙e唴鏃犺繍琛岄噷绋�", vehicleNo);
             return false;
         }
         
@@ -138,23 +138,23 @@
         // 3. 璁$畻闈炰换鍔$姸鎬佷笅鐨勮繍琛岄噷绋�
         BigDecimal nonTaskMileage = totalMileage.subtract(taskMileage);
         if (nonTaskMileage.compareTo(BigDecimal.ZERO) <= 0) {
-            log.debug("杞﹁締 {} 鍦ㄧ洃鎺х獥鍙e唴鏃犻潪浠诲姟閲岀▼", vehicleNo);
+//            log.info("杞﹁締 {} 鍦ㄧ洃鎺х獥鍙e唴鏃犻潪浠诲姟閲岀▼", vehicleNo);
             return false;
         }
         
-        log.debug("杞﹁締 {} 鎬婚噷绋�: {}km, 浠诲姟閲岀▼: {}km, 闈炰换鍔¢噷绋�: {}km", 
-                vehicleNo, totalMileage, taskMileage, nonTaskMileage);
+//        log.info("杞﹁締 {} 鎬婚噷绋�: {}km, 浠诲姟閲岀▼: {}km, 闈炰换鍔¢噷绋�: {}km",
+//                vehicleNo, totalMileage, taskMileage, nonTaskMileage);
         
         // 4. 妫�鏌ラ潪浠诲姟閲岀▼鏄惁瓒呰繃鍏噷鏁伴槇鍊�
         if (nonTaskMileage.compareTo(config.mileageThreshold) <= 0) {
-            log.debug("杞﹁締 {} 闈炰换鍔¤繍琛岄噷绋� {}km 鏈秴杩囬槇鍊� {}km", 
-                    vehicleNo, nonTaskMileage, config.mileageThreshold);
+//            log.info("杞﹁締 {} 闈炰换鍔¤繍琛岄噷绋� {}km 鏈秴杩囬槇鍊� {}km",
+//                    vehicleNo, nonTaskMileage, config.mileageThreshold);
             return false;
         }
         
         // 5. 妫�鏌ュ憡璀﹂鐜囬檺鍒�
         if (!checkAlertFrequency(vehicleId, config)) {
-            log.debug("杞﹁締 {} 宸茶揪鍒板憡璀﹂鐜囬檺鍒�", vehicleNo);
+//            log.info("杞﹁締 {} 宸茶揪鍒板憡璀﹂鐜囬檺鍒�", vehicleNo);
             return false;
         }
         
@@ -338,13 +338,14 @@
                     vehicleId, vehicleNo, mileage, startTime, endTime, deptId, deptName);
             
             if (!created) {
+//                log.info("杞﹁締 {} 浠婃棩宸插瓨鍦ㄧ浉鍚岀被鍨嬬殑鍛婅锛屼笉鍐嶅垱寤�", vehicleNo);
                 return false;
             }
             
-            log.info("杞﹁締 {} 浜х敓寮傚父鍛婅锛氭棤浠诲姟杩愯 {}km锛屾椂闂� {} 鑷� {}", 
-                    vehicleNo, mileage,
-                    DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startTime),
-                    DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endTime));
+//            log.info("杞﹁締 {} 浜х敓寮傚父鍛婅锛氭棤浠诲姟杩愯 {}km锛屾椂闂� {} 鑷� {}",
+//                    vehicleNo, mileage,
+//                    DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startTime),
+//                    DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endTime));
             
             // 鍙戦�侀�氱煡
             sendAlertNotification(vehicle, mileage, deptId, config);
@@ -424,8 +425,8 @@
                             userService.selectUserByUserName(dept.getLeader());
                     if (leaderUser != null) {
                         userIds.add(leaderUser.getUserId());
-                        log.info("浣跨敤閮ㄩ棬 {} 璐熻矗浜�: {} (ID: {})", 
-                                dept.getDeptName(), dept.getLeader(), leaderUser.getUserId());
+//                        log.info("浣跨敤閮ㄩ棬 {} 璐熻矗浜�: {} (ID: {})",
+//                                dept.getDeptName(), dept.getLeader(), leaderUser.getUserId());
                     } else {
                         log.warn("閮ㄩ棬 {} 璐熻矗浜� {} 鏈壘鍒板搴旂敤鎴�", 
                                 dept.getDeptName(), dept.getLeader());
@@ -524,8 +525,8 @@
             // 閫氱煡鐢ㄦ埛鍒楄〃
             config.notifyUsers = configService.selectConfigByKey("vehicle.alert.notify.users");
             
-            log.debug("鍛婅閰嶇疆: 闃堝��={}km, 姣忔棩闄愬埗={}娆�, 闂撮殧={}鍒嗛挓, 鏃堕棿绐楀彛={}鍒嗛挓", 
-                    config.mileageThreshold, config.dailyLimit, config.alertInterval, config.timeWindow);
+//            log.debug("鍛婅閰嶇疆: 闃堝��={}km, 姣忔棩闄愬埗={}娆�, 闂撮殧={}鍒嗛挓, 鏃堕棿绐楀彛={}鍒嗛挓",
+//                    config.mileageThreshold, config.dailyLimit, config.alertInterval, config.timeWindow);
             
         } catch (Exception e) {
             log.error("鍔犺浇鍛婅閰嶇疆澶辫触锛屼娇鐢ㄩ粯璁ゅ��", e);
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java
index 1ecff68..b579926 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/VehicleGpsSegmentMileageTask.java
@@ -111,7 +111,7 @@
             // 鎵归噺璁$畻
             int successCount = segmentMileageService.batchCalculateSegmentMileage(startTime, endTime);
             
-//            logger.info("GPS鍒嗘閲岀▼璁$畻瀹屾垚 - 鎴愬姛澶勭悊 {} 杈嗚溅", successCount);
+            logger.info("GPS鍒嗘閲岀▼璁$畻瀹屾垚 - 鎴愬姛澶勭悊 {} 杈嗚溅", successCount);
             
         } catch (Exception e) {
             logger.error("GPS鍒嗘閲岀▼璁$畻浠诲姟鎵ц澶辫触", e);
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
index 545b026..6c11568 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java
@@ -96,7 +96,7 @@
                 return 0;
             }
 
-            log.info("[杞繍鍗曞悓姝 寮�濮嬪悓姝ワ紝鑼冨洿: 鏈�杩憑}澶�", daysAgo);
+//            log.info("[杞繍鍗曞悓姝 寮�濮嬪悓姝ワ紝鑼冨洿: 鏈�杩憑}澶�", daysAgo);
             int totalSuccessCount = 0;
             int totalDays = daysAgo + 1;
 
@@ -107,13 +107,13 @@
                 String dayEndStr   = DateUtils.parseDateToStr("yyyy-MM-dd", dayStart) + " 23:59:59";
 
                 int dayIndex = totalDays - i;
-                log.info("[杞繍鍗曞悓姝 澶勭悊澶� {}/{}: {}", dayIndex, totalDays, dayStartStr);
+//                log.info("[杞繍鍗曞悓姝 澶勭悊澶� {}/{}: {}", dayIndex, totalDays, dayStartStr);
                 int daySuccessCount = syncSingleDayOrders(dayStartStr, dayEndStr);
                 totalSuccessCount += daySuccessCount;
-                log.info("[杞繍鍗曞悓姝 {} 瀹屾垚锛屾柊澧炲悓姝�: {}鏉★紝绱: {}鏉�", dayStartStr, daySuccessCount, totalSuccessCount);
+//                log.info("[杞繍鍗曞悓姝 {} 瀹屾垚锛屾柊澧炲悓姝�: {}鏉★紝绱: {}鏉�", dayStartStr, daySuccessCount, totalSuccessCount);
             }
 
-            log.info("[杞繍鍗曞悓姝 鍏ㄩ儴瀹屾垚锛屽叡鏂板鍚屾 {}鏉�", totalSuccessCount);
+//            log.info("[杞繍鍗曞悓姝 鍏ㄩ儴瀹屾垚锛屽叡鏂板鍚屾 {}鏉�", totalSuccessCount);
             return totalSuccessCount;
 
         } catch (Exception e) {
@@ -148,7 +148,7 @@
                 int totalCount = transferOrders.size();
                 int processedCount = 0;
 
-                log.info("[杞繍鍗曞悓姝 {} 绗瑊}椤碉紝鑾峰彇{}.鏉℃暟鎹紝lastId={}", startDateStr, pageNum, totalCount, lastId);
+//                log.info("[杞繍鍗曞悓姝 {} 绗瑊}椤碉紝鑾峰彇{}.鏉℃暟鎹紝lastId={}", startDateStr, pageNum, totalCount, lastId);
 
                 for (Map<String, Object> order : transferOrders) {
                     processedCount++;
@@ -207,7 +207,7 @@
                 }
             }
 
-            log.info("[杞繍鍗曞悓姝 {} 鍒嗛〉瀹屾垚锛屽叡澶勭悊: {}鏉★紝鏂板鍚屾: {}鏉�", startDateStr, totalProcessed, successCount);
+//            log.info("[杞繍鍗曞悓姝 {} 鍒嗛〉瀹屾垚锛屽叡澶勭悊: {}鏉★紝鏂板鍚屾: {}鏉�", startDateStr, totalProcessed, successCount);
         } catch (Exception e) {
             log.error("鍚屾鍗曞ぉ杞繍鍗曟暟鎹紓甯�: date={}", startDateStr, e);
         }
@@ -926,7 +926,7 @@
             // 1. 鑾峰彇鎵ц浜哄垪琛�
             List<TaskCreateVO.AssigneeInfo> assignees = queryAssignees(dispatchOrdID);
             if (assignees.isEmpty()) {
-                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟鏃犳墽琛屼汉锛宼askId={}", taskId);
+//                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟鏃犳墽琛屼汉锛宼askId={}", taskId);
                 return;
             }
 
@@ -959,7 +959,7 @@
                 }
                 // 璇ョ敤鎴峰凡鏈夐�氱煡璁板綍锛岃烦杩�
                 if (existingUserIds.contains(assignee.getUserId())) {
-                    log.info("鐢ㄦ埛宸叉湁閫氱煡璁板綍锛岃烦杩囧垱寤猴紝taskId={}, userId={}", taskId, assignee.getUserId());
+//                    log.info("鐢ㄦ埛宸叉湁閫氱煡璁板綍锛岃烦杩囧垱寤猴紝taskId={}, userId={}", taskId, assignee.getUserId());
                     continue;
                 }
 
@@ -983,18 +983,19 @@
                 NotifyTask created = notifyTaskService.createNotifyTask(notifyTask);
                 if (created != null) {
                     notifyTasks.add(created);
-                    log.info("鍒涘缓閫氱煡浠诲姟鎴愬姛锛宨d={}, userId={}", created.getId(), user.getUserId());
+//                    log.info("鍒涘缓閫氱煡浠诲姟鎴愬姛锛宨d={}, userId={}", created.getId(), user.getUserId());
                 }
             }
 
             // 6. 鍒嗗彂閫氱煡浠诲姟
             if (!notifyTasks.isEmpty()) {
                 int successCount = notifyDispatchService.dispatchNotifies(notifyTasks);
-                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟閫氱煡鍒嗗彂瀹屾垚锛宼askId={}, 鍒嗗彂鏁伴噺={}, 鎴愬姛鏁伴噺={}",
-                        taskId, notifyTasks.size(), successCount);
-            } else {
-                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟鏃犻渶鏂板閫氱煡锛宼askId={}", taskId);
+//                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟閫氱煡鍒嗗彂瀹屾垚锛宼askId={}, 鍒嗗彂鏁伴噺={}, 鎴愬姛鏁伴噺={}",
+//                        taskId, notifyTasks.size(), successCount);
             }
+//            else {
+//                log.info("鏃х郴缁熷悓姝ヨ浆杩愬崟鏃犻渶鏂板閫氱煡锛宼askId={}", taskId);
+//            }
 
             // 5. 鍚屾椂淇濈暀鍘熸湁鐨勫井淇¢�氱煡鏈嶅姟锛堝吋瀹癸級
             // List<Long> userIds = new ArrayList<>();
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java
index 65a144b..c1ab831 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java
@@ -439,7 +439,7 @@
         }
         if (createVO.getPrice() != null) {
             existingInfo.setTransferPrice(createVO.getPrice());
-            log.info("浠诲姟ID:{},serviceOrdId:{} 鏇存柊浠锋牸:{}",existingInfo.getTaskId(),existingInfo.getLegacyServiceOrdId(), createVO.getPrice());
+//            log.info("浠诲姟ID:{},serviceOrdId:{} 鏇存柊浠锋牸:{}",existingInfo.getTaskId(),existingInfo.getLegacyServiceOrdId(), createVO.getPrice());
         }
         
         // 鏇存柊鍗曟嵁绫诲瀷ID
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 0af806d..e0b0412 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
@@ -121,7 +121,7 @@
 //            logger.info("鏌ヨ鍒� {} 杈嗘椿璺冭溅杈嗭紝鏌ヨ鑰楁椂: {}ms", vehicleIds != null ? vehicleIds.size() : 0, queryTime);
             
             if (vehicleIds == null || vehicleIds.isEmpty()) {
-//                logger.info("娌℃湁鎵惧埌娲昏穬杞﹁締");
+                logger.info("娌℃湁鎵惧埌娲昏穬杞﹁締");
                 return 0;
             }
             
@@ -280,7 +280,7 @@
             List<VehicleGps> gpsList = vehicleGpsMapper.selectGpsDataByTimeRange(vehicleId, startTimeStr, endTimeStr);
             
             if (gpsList == null || gpsList.isEmpty()) {
-//                logger.debug("杞﹁締ID: {} 鍦ㄦ椂闂磋寖鍥� {} 鍒� {} 鍐呮棤GPS鏁版嵁", vehicleId, startTime, endTime);
+//                logger.info("杞﹁締ID: {} 鍦ㄦ椂闂磋寖鍥� {} 鍒� {} 鍐呮棤GPS鏁版嵁", vehicleId, startTime, endTime);
                 return 0;
             }
             
@@ -597,7 +597,7 @@
             for (Date statDate : affectedDates) {
                 try {
                     mileageStatsService.aggregateFromSegmentMileage(vehicleId, statDate);
-//                    logger.info("杞﹁締 {} 鏃ユ湡 {} 鐨勭粺璁℃暟鎹凡鑷姩姹囨�荤敓鎴�", vehicleId, statDate);
+                    logger.info("杞﹁締 {} 鏃ユ湡 {} 鐨勭粺璁℃暟鎹凡鑷姩姹囨�荤敓鎴�", vehicleId, statDate);
                 } catch (Exception e) {
                     logger.error("杞﹁締 {} 鏃ユ湡 {} 鑷姩姹囨�荤粺璁″け璐�", vehicleId, statDate, e);
                 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java
index 8ff2c77..78c4c21 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java
@@ -123,7 +123,7 @@
             List<VehicleGps> gpsList = vehicleGpsMapper.selectGpsDataByTimeRange(vehicleId, dayStartStr, dayEndStr);
             
             if (gpsList == null || gpsList.isEmpty()) {
-                logger.info("---> 杞﹁締ID:{} 鍦ㄦ棩鏈�:{} 鏃燝PS鏁版嵁", vehicleId, statDate);
+//                logger.info("---> 杞﹁締ID:{} 鍦ㄦ棩鏈�:{} 鏃燝PS鏁版嵁", vehicleId, statDate);
                 return null;
             }
 //            logger.info("---> 杞﹁締ID:{} GPS鏁版嵁鏉℃暟:{}", vehicleId, gpsList.size());
@@ -476,17 +476,17 @@
 //            logger.info("杞﹁締ID: {} 鍦ㄦ棩鏈�: {} 鏈� {} 涓换鍔�", vehicleId, statDate, taskCount);
             List<VehicleGpsSegmentMileage> mileages = this.getTaskDistanceMileage(vehicleId, dayStart, dayEnd).stream().filter(e -> e.getSegmentDistance() != null && e.getSegmentDistance().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
 //            logger.info("杞﹁締ID: {} 鍦ㄦ棩鏈�: {} 鏈� {} 涓垎娈甸噷绋嬫暟鎹�", vehicleId, statDate, mileages.size());
-            Integer totalGpsPoints = mileages != null ? mileages.stream()
-                .filter(segment -> segment.getGpsPointCount() != null)
-                .mapToInt(VehicleGpsSegmentMileage::getGpsPointCount)
-                .sum() : 0;
+            Integer totalGpsPoints = mileages.stream()
+                            .filter(segment -> segment.getGpsPointCount() != null)
+                            .mapToInt(VehicleGpsSegmentMileage::getGpsPointCount)
+                            .sum();
             BigDecimal taskDistance = getTaskDistance(taskIntervals, mileages);
             BigDecimal totalDistance = calculateTotalMileage(segments);
             BigDecimal nonTaskDistance = totalDistance.subtract(taskDistance);
             
             // 闃叉闄ら浂閿欒
             BigDecimal taskRatio = BigDecimal.ZERO;
-            if (totalDistance != null && totalDistance.compareTo(BigDecimal.ZERO) > 0) {
+            if (totalDistance.compareTo(BigDecimal.ZERO) > 0) {
                 taskRatio = taskDistance.divide(totalDistance, 4, RoundingMode.HALF_UP);
             }
             // 3. 姹囨�婚噷绋嬫暟鎹�
@@ -533,8 +533,8 @@
             }
             
 //            logger.info("杞﹁締ID: {} 鏃ユ湡: {} 浠庡垎娈垫眹鎬诲畬鎴� - 鎬婚噷绋�: {}km, 浠诲姟閲岀▼: {}km, 闈炰换鍔¢噷绋�: {}km, 鍒嗘鏁�: {}",
-//                       vehicleId, statDate, totalMileage, taskMileage, nonTaskMileage, segments.size());
-            
+//                       vehicleId, statDate, stats.getTotalMileage(), stats.getTaskMileage(),stats.getNonTaskMileage(), segments.size());
+
             return stats;
             
         } catch (Exception e) {
diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
index 8b6f6c8..aea0bf2 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
@@ -79,7 +79,7 @@
                segment_distance, gps_point_count, gps_ids, task_id, task_code, calculate_method
         FROM tb_vehicle_gps_segment_mileage
         WHERE vehicle_id = #{vehicleId}
-          AND segment_start_time between #{startDate} and #{endDate}
+          AND segment_start_time between #{startTime} and #{endTime}
           AND segment_end_time &gt;= #{startTime}
           AND segment_distance &gt; 0
         ORDER BY segment_start_time

--
Gitblit v1.9.1