From 355dda1f90c70ab04c4517688da37d1a4236f112 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 23 十二月 2025 21:43:30 +0800
Subject: [PATCH] fix:优化保存

---
 app/pages/index.vue                                                                          |    4 
 ruoyi-common/src/main/java/com/ruoyi/common/utils/BigDecimalUtil.java                        |   56 +++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/listener/TaskMessageListener.java                |   39 ++++-
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java    |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusSyncServiceImpl.java      |   20 +-
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java         |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskAssigneeServiceImpl.java     |   16 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java |    4 
 app/pages/task/index.vue                                                                     |   10 +
 ruoyi-admin/src/main/resources/application.yml                                               |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskStatusPushConverter.java               |   28 ++--
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskServiceImpl.java             |   16 --
 ruoyi-system/src/main/java/com/ruoyi/system/service/IVehicleInfoService.java                 |    1 
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java                   |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/LegacyTransferSyncServiceImpl.java  |    6 
 ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml                              |    1 
 app/pagesTask/detail.vue                                                                     |   24 ++--
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleSyncServiceImpl.java         |   12 +
 ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml             |    6 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java      |   52 ++++----
 ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml                   |    8 
 21 files changed, 209 insertions(+), 109 deletions(-)

diff --git a/app/pages/index.vue b/app/pages/index.vue
index d86d564..caf793a 100644
--- a/app/pages/index.vue
+++ b/app/pages/index.vue
@@ -510,7 +510,9 @@
                 startLocation: task.departureAddress || task.startLocation || "鏈缃�",
                 endLocation: task.destinationAddress || task.endLocation || "鏈缃�",
                 startTime: task.plannedStartTime
-                  ? formatDateTime(task.plannedStartTime, "YYYY-MM-DD HH:mm")
+                  ? (task.plannedStartTime.startsWith('1900') || task.plannedStartTime.startsWith('1970') 
+                    ? '鏈垎閰嶆椂闂�' 
+                    : formatDateTime(task.plannedStartTime, "YYYY-MM-DD HH:mm"))
                   : "鏈缃�",
                 assignee: task.assigneeName || "鏈垎閰�",
                 taskNo: task.taskCode || "鏈煡缂栧彿",
diff --git a/app/pages/task/index.vue b/app/pages/task/index.vue
index 4bc55ec..4a9c45c 100644
--- a/app/pages/task/index.vue
+++ b/app/pages/task/index.vue
@@ -168,7 +168,7 @@
               <!-- 浠诲姟缂栧彿鍜屽紑濮嬫椂闂村湪鍚屼竴琛屾樉绀猴紝浣嗗垎寮�涓�浜� -->
               <view class="task-code-row">
                 <text class="task-code">{{ task.showTaskCode }}</text>
-                <text class="task-time">鍑哄彂鏃堕棿:{{ task.startTime }}</text>
+                <text class="task-time">{{ task.startTime }}</text>
               </view>
 
               <!-- 浠诲姟璇︾粏淇℃伅 -->
@@ -457,7 +457,9 @@
                 task.destinationAddress || task.endLocation || "鏈缃�"
               ),
               startTime: task.plannedStartTime
-                ? formatDateTime(task.plannedStartTime, "YYYY-MM-DD HH:mm")
+                ? (task.plannedStartTime.startsWith('1900') || task.plannedStartTime.startsWith('1970') 
+                  ? '鏈垎閰嶆椂闂�' 
+                  : formatDateTime(task.plannedStartTime, "YYYY-MM-DD HH:mm"))
                 : "鏈缃�",
               assignee: task.assigneeName || "鏈垎閰�",
             };
@@ -569,7 +571,9 @@
                 task.destinationAddress || task.endLocation || "鏈缃�"
               ),
               startTime: task.plannedStartTime
-                ? formatDateTime(task.plannedStartTime, "YYYY-MM-DD HH:mm")
+                ? (task.plannedStartTime.startsWith('1900') || task.plannedStartTime.startsWith('1970') 
+                  ? '鏈垎閰嶆椂闂�' 
+                  : formatDateTime(task.plannedStartTime, "YYYY-MM-DD HH:mm"))
                 : "鏈缃�",
               assignee: task.assigneeName || "鏈垎閰�",
             };
diff --git a/app/pagesTask/detail.vue b/app/pagesTask/detail.vue
index 771094a..4034c6a 100644
--- a/app/pagesTask/detail.vue
+++ b/app/pagesTask/detail.vue
@@ -535,9 +535,9 @@
           return '鏈缃�'
         }
         const formatted = formatDateTime(this.taskDetail.plannedStartTime, 'YYYY-MM-DD HH:mm')
-        // 濡傛灉骞翠唤鏄�1900,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭璁剧疆
-        if (formatted && formatted.startsWith('1900')) {
-          return '鏈缃�'
+        // 濡傛灉骞翠唤鏄�1900鎴�1970,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭鍒嗛厤鏃堕棿
+        if (formatted && (formatted.startsWith('1900') || formatted.startsWith('1970'))) {
+          return '鏈垎閰嶆椂闂�'
         }
         return formatted
       },
@@ -547,9 +547,9 @@
           return '鏈缃�'
         }
         const formatted = formatDateTime(this.taskDetail.plannedEndTime, 'YYYY-MM-DD HH:mm')
-        // 濡傛灉骞翠唤鏄�1900,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭璁剧疆
-        if (formatted && formatted.startsWith('1900')) {
-          return '鏈缃�'
+        // 濡傛灉骞翠唤鏄�1900鎴�1970,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭鍒嗛厤鏃堕棿
+        if (formatted && (formatted.startsWith('1900') || formatted.startsWith('1970'))) {
+          return '鏈垎閰嶆椂闂�'
         }
         return formatted
       },
@@ -559,9 +559,9 @@
           return '鏈缃�'
         }
         const formatted = formatDateTime(this.taskDetail.actualStartTime, 'YYYY-MM-DD HH:mm')
-        // 濡傛灉骞翠唤鏄�1900,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭璁剧疆
-        if (formatted && formatted.startsWith('1900')) {
-          return '鏈缃�'
+        // 濡傛灉骞翠唤鏄�1900鎴�1970,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭鍒嗛厤鏃堕棿
+        if (formatted && (formatted.startsWith('1900') || formatted.startsWith('1970'))) {
+          return '鏈垎閰嶆椂闂�'
         }
         return formatted
       },
@@ -571,9 +571,9 @@
           return '鏈缃�'
         }
         const formatted = formatDateTime(this.taskDetail.actualEndTime, 'YYYY-MM-DD HH:mm')
-        // 濡傛灉骞翠唤鏄�1900,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭璁剧疆
-        if (formatted && formatted.startsWith('1900')) {
-          return '鏈缃�'
+        // 濡傛灉骞翠唤鏄�1900鎴�1970,琛ㄧず鏃犳晥鏃ユ湡,鏄剧ず涓烘湭鍒嗛厤鏃堕棿
+        if (formatted && (formatted.startsWith('1900') || formatted.startsWith('1970'))) {
+          return '鏈垎閰嶆椂闂�'
         }
         return formatted
       }
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 105bc73..4219d2c 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -58,7 +58,7 @@
     basename: i18n/messages
   profiles:
     # 鐜 dev|test|prod
-    active: dev
+    active: prod
   # 鏂囦欢涓婁紶
   servlet:
     multipart:
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/BigDecimalUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/BigDecimalUtil.java
index f7c2216..ff07c0c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/BigDecimalUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/BigDecimalUtil.java
@@ -6,4 +6,60 @@
     public static Boolean isZero(BigDecimal bigDecimal) {
         return bigDecimal.compareTo(BigDecimal.ZERO) == 0;
     }
+
+
+public static Boolean izBigZero(BigDecimal bigDecimal) {
+    return bigDecimal != null && bigDecimal.compareTo(BigDecimal.ZERO) > 0;
 }
+
+
+        /**
+         * 鍒ゆ柇 num1 鏄惁绛変簬 num2
+         */
+        public static boolean equals(BigDecimal num1, BigDecimal num2) {
+            if (num1 == null || num2 == null) {
+                return false; // 鎴栨牴鎹笟鍔℃姏绌烘寚閽堝紓甯�
+            }
+            return num1.compareTo(num2) == 0;
+        }
+
+        /**
+         * 鍒ゆ柇 num1 鏄惁澶т簬 num2
+         */
+        public static boolean greaterThan(BigDecimal num1, BigDecimal num2) {
+            if (num1 == null || num2 == null) {
+                return false;
+            }
+            return num1.compareTo(num2) > 0;
+        }
+
+        /**
+         * 鍒ゆ柇 num1 鏄惁澶т簬绛変簬 num2
+         */
+        public static boolean greaterThanOrEqual(BigDecimal num1, BigDecimal num2) {
+            if (num1 == null || num2 == null) {
+                return false;
+            }
+            return num1.compareTo(num2) >= 0;
+        }
+
+        /**
+         * 鍒ゆ柇 num1 鏄惁灏忎簬 num2
+         */
+        public static boolean lessThan(BigDecimal num1, BigDecimal num2) {
+            if (num1 == null || num2 == null) {
+                return false;
+            }
+            return num1.compareTo(num2) < 0;
+        }
+
+        /**
+         * 鍒ゆ柇 num1 鏄惁灏忎簬绛変簬 num2
+         */
+        public static boolean lessThanOrEqual(BigDecimal num1, BigDecimal num2) {
+            if (num1 == null || num2 == null) {
+                return false;
+            }
+            return num1.compareTo(num2) <= 0;
+        }
+    }
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java
index 3c724a9..811a110 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/LegacySystemSyncTask.java
@@ -123,10 +123,10 @@
      * cron琛ㄨ揪寮�: 0 0/5 * * * ? (姣�5鍒嗛挓鎵ц涓�娆�)
      */
     public void syncTaskStatusFromLegacy() {
-        log.info("寮�濮嬫墽琛屼换鍔$姸鎬佸悓姝ュ畾鏃朵换鍔★紙浠庢棫绯荤粺鍒版柊绯荤粺锛�");
+//        log.info("寮�濮嬫墽琛屼换鍔$姸鎬佸悓姝ュ畾鏃朵换鍔★紙浠庢棫绯荤粺鍒版柊绯荤粺锛�");
         try {
             int successCount = taskStatusSyncService.batchSyncTaskStatusFromLegacy();
-            log.info("浠诲姟鐘舵�佸悓姝ュ畬鎴愶紝鎴愬姛鍚屾: {} 涓换鍔�", successCount);
+//            log.info("浠诲姟鐘舵�佸悓姝ュ畬鎴愶紝鎴愬姛鍚屾: {} 涓换鍔�", successCount);
         } catch (Exception e) {
             log.error("浠诲姟鐘舵�佸悓姝ュ紓甯�", e);
         }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/listener/TaskMessageListener.java b/ruoyi-system/src/main/java/com/ruoyi/system/listener/TaskMessageListener.java
index 588e0e7..d280de3 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/listener/TaskMessageListener.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/listener/TaskMessageListener.java
@@ -418,6 +418,8 @@
         return content.toString();
     }
 
+    @Autowired
+    private ITaskStatusSyncService taskStatusSyncService;
     /**
      * 鐩戝惉浠诲姟鐘舵�佸彉鏇翠簨浠�
      * 
@@ -426,26 +428,43 @@
     @Async
     @EventListener
     public void handleTaskStatusChangedEvent(TaskStatusChangedEvent event) {
+
+        sendTaskStatusToLocal(event);
+        sendTaskStatusToLegacy(event.getTaskId());
+
+    }
+
+    private void sendTaskStatusToLegacy(Long taskId) {
+        try{
+            taskStatusSyncService.syncTaskStatusFromLegacy(taskId);
+        }catch (Exception e){
+            log.error("浠诲姟鐘舵�佸悓姝ュ埌鏃х郴缁熷紓甯� taskId:{}",taskId, e);
+        }
+    }
+
+
+
+    private  void sendTaskStatusToLocal(TaskStatusChangedEvent event) {
         try {
-            log.info("鏀跺埌浠诲姟鐘舵�佸彉鏇翠簨浠讹紝浠诲姟ID锛歿}锛屾棫鐘舵�侊細{}锛屾柊鐘舵�侊細{}", 
+            log.info("鏀跺埌浠诲姟鐘舵�佸彉鏇翠簨浠讹紝浠诲姟ID锛歿}锛屾棫鐘舵�侊細{}锛屾柊鐘舵�侊細{}",
                     event.getTaskId(), event.getOldStatus(), event.getNewStatus());
-            
+            //鍙戣捣鐘舵�佸悓姝�
             // 鏋勫缓鐘舵�佸彉鏇村唴瀹�
             String statusContent = getStatusChangeContent(event.getNewStatus(), event.getNewStatusDesc());
-            
+
             // 鏀堕泦鎵�鏈夐渶瑕侀�氱煡鐨勭敤鎴稩D锛堟墽琛屼汉+鍒涘缓浜猴紝鍘婚噸锛�
             java.util.Set<Long> receiverIds = new java.util.HashSet<>();
-            
+
             // 娣诲姞鎵ц浜�
             if (event.getAssigneeIds() != null) {
                 receiverIds.addAll(event.getAssigneeIds());
             }
-            
+
             // 娣诲姞鍒涘缓浜猴紙濡傛灉涓嶆槸鎵ц浜猴級
             if (event.getCreatorId() != null) {
                 receiverIds.add(event.getCreatorId());
             }
-            
+
             // 缁欐瘡涓敤鎴峰彂閫佹秷鎭�
             for (Long receiverId : receiverIds) {
                 SysUser user = sysUserMapper.selectUserById(receiverId);
@@ -453,7 +472,7 @@
                     log.warn("鎵句笉鍒扮敤鎴蜂俊鎭紝鐢ㄦ埛ID锛歿}", receiverId);
                     continue;
                 }
-                
+
                 // 鍒涘缓娑堟伅
                 SysMessage message = new SysMessage();
                 message.setMessageType("STATUS");
@@ -468,13 +487,13 @@
                 message.setIsRead("0");
                 message.setCreateTime(DateUtils.getNowDate());
                 message.setDelFlag("0");
-                
+
                 // 淇濆瓨娑堟伅
                 sysMessageMapper.insertSysMessage(message);
-                log.info("浠诲姟鐘舵�佸彉鏇存秷鎭凡淇濆瓨锛屾秷鎭疘D锛歿}锛屾柊鐘舵�侊細{}锛屾帴鏀朵汉锛歿}", 
+                log.info("浠诲姟鐘舵�佸彉鏇存秷鎭凡淇濆瓨锛屾秷鎭疘D锛歿}锛屾柊鐘舵�侊細{}锛屾帴鏀朵汉锛歿}",
                         message.getMessageId(), event.getNewStatus(), user.getNickName());
             }
-            
+
         } catch (Exception e) {
             log.error("澶勭悊浠诲姟鐘舵�佸彉鏇翠簨浠跺け璐�", e);
         }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IVehicleInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IVehicleInfoService.java
index 32be3be..5b3fd1d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IVehicleInfoService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IVehicleInfoService.java
@@ -15,6 +15,7 @@
      */
     public VehicleInfo selectVehicleInfoById(Long vehicleId);
 
+    public VehicleInfo selectVehicleInfoByCarId(Integer carId);
     /**
      * 閫氳繃杞︾墝鍙锋煡璇㈣溅杈嗕俊鎭�
      * 
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 0298175..42962b5 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
@@ -477,8 +477,8 @@
                createTaskVo.setServiceOrdVIP("0");
            }
 
-           Integer FromHQ2_is = MapValueUtils.getIntegerValue(order, "FromHQ2_is");
-           if(IntegerUtil.isNotEmpty(FromHQ2_is)){
+           Integer FromHQ_is = MapValueUtils.getIntegerValue(order, "FromHQ_is");
+           if(IntegerUtil.isNotEmpty(FromHQ_is)){
                createTaskVo.setFromHQ2_is("1");
            }else{
                createTaskVo.setFromHQ2_is("0");
@@ -598,7 +598,7 @@
                 String carLicense = legacyTransferSyncMapper.selectCarLicenseByCarID(carID);
                 if (StringUtils.isNotEmpty(carLicense)) {
                     // 鏍规嵁杞︾墝鍙锋煡璇㈡柊绯荤粺涓殑杞﹁締ID
-                    log.info("杞繍浠诲姟,ServiceOrdID:{},杞﹁締杞︾墝:{}",serviceOrdID,carLicense);
+//                    log.info("杞繍浠诲姟,ServiceOrdID:{},杞﹁締杞︾墝:{}",serviceOrdID,carLicense);
 //                    log.debug("杞﹁締杞︾墝鍙�: {}", carLicense);
                     
                     // 棣栧厛灏濊瘯閫氳繃VehicleInfoMapper鏌ヨ杞﹁締淇℃伅
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 54d7964..6b50a98 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
@@ -1,5 +1,6 @@
 package com.ruoyi.system.service.impl;
 
+import com.ruoyi.common.utils.BigDecimalUtil;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.SysTask;
@@ -433,7 +434,7 @@
         }
         
         // 鏇存柊璐圭敤淇℃伅
-        if (createVO.getDistance() != null) {
+        if (createVO.getDistance() != null && BigDecimalUtil.izBigZero(createVO.getDistance())) {
             existingInfo.setTransferDistance(createVO.getDistance());
         }
         if (createVO.getPrice() != null) {
@@ -480,6 +481,7 @@
 
         existingInfo.setServiceOrdVip(createVO.getServiceOrdVIP());
         existingInfo.setFromHq2Is(createVO.getFromHQ2_is());
+
         // 鎵ц鏇存柊
         sysTaskEmergencyMapper.updateSysTaskEmergency(existingInfo);
     }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskAssigneeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskAssigneeServiceImpl.java
index 1953b3d..f64a13c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskAssigneeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskAssigneeServiceImpl.java
@@ -74,7 +74,9 @@
             return false;
         }
         try {
-            List<Long> newAssigneeIds = newAssignees.stream().map(TaskCreateVO.AssigneeInfo::getUserId).collect(Collectors.toList());
+            //杩囨护鍒嗛厤浜轰笉瑕佸嚭鐜伴噸澶�
+
+            List<Long> newAssigneeIds = newAssignees.stream().map(TaskCreateVO.AssigneeInfo::getUserId).distinct().collect(Collectors.toList());
             // 鏌ヨ鐜版湁鐨勬墽琛屼汉鍛�
             List<SysTaskAssignee> existingAssignees = sysTaskAssigneeMapper.selectSysTaskAssigneeByTaskId(taskId);
 
@@ -83,11 +85,17 @@
             List<Long> assigneesToDelete = existingAssignees.stream().map(SysTaskAssignee::getUserId)
                     .filter(id -> !newAssigneeIds.contains(id))
                     .collect(Collectors.toList());
+            Map<Long, TaskCreateVO.AssigneeInfo> addedAssignees = new HashMap<>();
+            for(TaskCreateVO.AssigneeInfo assigneeInfo:newAssignees){
+                Long userId = assigneeInfo.getUserId();
+                if(!existingAssigneeIds.contains(userId) && !addedAssignees.containsKey(userId)){
+                    addedAssignees.put(userId, assigneeInfo);
+                }
+            }
 
             // 鎵惧嚭闇�瑕佹坊鍔犵殑鎵ц浜猴紙鍦ㄦ柊鍒楄〃涓瓨鍦ㄤ絾鍦ㄦ暟鎹簱涓笉瀛樺湪锛�
-            List<TaskCreateVO.AssigneeInfo> assigneesToAdd = newAssignees.stream()
-                    .filter(assignee -> !existingAssigneeIds.contains(assignee.getUserId()))
-                    .collect(Collectors.toList());
+            List<TaskCreateVO.AssigneeInfo> assigneesToAdd = new ArrayList<>(addedAssignees.values());
+            //鎴戜滑瑕佸assigneesToAdd杩涜鍘婚噸澶勭悊锛屽userId杩涜鍘婚噸
 
 
             boolean hasChanges = !assigneesToDelete.isEmpty() || !assigneesToAdd.isEmpty();
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskServiceImpl.java
index 07c68f0..8f437dd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskServiceImpl.java
@@ -267,7 +267,6 @@
         task.setRemark(createVO.getRemark());
         task.setDelFlag("0");
 
-//        task.setIsHeadPush(isTaskHeaderPush(userId,task.getDeptId())?"1":"0");
         
         // 璁剧疆鍦板潃鍜屽潗鏍囦俊鎭�
         setAddressAndCoordinatesFromVO(task, createVO);
@@ -371,15 +370,6 @@
         task.setUpdateBy(userName);
         task.setRemark(createVO.getRemark());
         task.setDelFlag("0");
-
-//        Boolean isHeadPush=this.isTaskHeaderPush(userId, deptId);
-//        if(isHeadPush){
-//            task.setIsHeadPush("1");
-//        }else{
-//            task.setIsHeadPush("0");
-//        }
-
-
         
         // 璁剧疆鍦板潃鍜屽潗鏍囦俊鎭�
         setAddressAndCoordinatesFromVO(task, createVO);
@@ -480,7 +470,6 @@
      * @return 缁撴灉
      */
     @Override
-    @Transactional
     public int updateSysTask(TaskUpdateVO updateVO, Boolean updateFromLegacy) {
         SysTask task = sysTaskMapper.selectSysTaskByTaskId(updateVO.getTaskId());
         if (task == null) {
@@ -520,7 +509,7 @@
         }
         Boolean hasSetDepartureFlag=false;
         //璁剧疆鎬婚儴鎺ㄩ��
-//        task.setIsHeadPush(this.isTaskHeaderPush(task.getCreatorId(), task.getDeptId())?"1":"0");
+
         // 鑷姩鑾峰彇鍑哄彂鍦癎PS鍧愭爣锛堝鏋滄洿鏂颁簡鍦板潃浣嗙己澶卞潗鏍囷級
         if (updateVO.getDepartureAddress() != null && 
             (updateVO.getDepartureLongitude() == null || updateVO.getDepartureLatitude() == null) && 
@@ -820,7 +809,8 @@
 
             Boolean hasEmergencyInfo = updateVO.getHospitalOut() != null || updateVO.getHospitalIn() != null || updateVO.getPatient() != null
                     || updateVO.getPrice() != null || updateVO.getDistance() != null;
-
+//            Boolean isHeadPush=isTaskHeaderPush(task.getCreatorId(),task.getDeptId());
+//            updateVO.setFromHQ2_is(isHeadPush?"1":"0");
 
             // 浣跨敤TaskCreateVO鐨勫瓧娈垫潵鏇存柊鎬ユ晳杞繍淇℃伅
             if (hasEmergencyInfo) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
index 3c47332..93a4c36 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java
@@ -51,13 +51,13 @@
     @Transactional
     public boolean pushTaskStatusToLegacy(Long taskId) {
         if (!legacyConfig.isEnabled()) {
-            log.info("鏃х郴缁熷悓姝ュ凡绂佺敤锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
+//            log.info("鏃х郴缁熷悓姝ュ凡绂佺敤锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
             return false;
         }
         
         try {
             // 鏌ヨ浠诲姟淇℃伅
-            log.debug("銆愭柊鎺ㄦ棫銆戞煡璇换鍔D: {}", taskId);
+//            log.debug("銆愭柊鎺ㄦ棫銆戞煡璇换鍔D: {}", taskId);
             SysTask task = sysTaskMapper.selectSysTaskByTaskId(taskId);
             if (task == null) {
                 log.error("銆愭柊鎺ㄦ棫銆戜换鍔′笉瀛樺湪锛屼换鍔D: {}", taskId);
@@ -66,7 +66,7 @@
             
             // 鍙帹閫佹�ユ晳杞繍浠诲姟
             if (!"EMERGENCY_TRANSFER".equals(task.getTaskType())) {
-                log.info("闈炴�ユ晳杞繍浠诲姟锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
+//                log.info("闈炴�ユ晳杞繍浠诲姟锛岃烦杩囩姸鎬佹帹閫侊紝浠诲姟ID: {}", taskId);
                 return false;
             }
             
@@ -93,8 +93,8 @@
             // 杞崲涓烘棫绯荤粺鐘舵�佺爜
             Integer targetStatusCode = TaskStatusPushConverter.convertToLegacyStatus(newTaskStatus);
             if (targetStatusCode == null) {
-                log.debug("銆愭柊鎺ㄦ棫銆戜换鍔$姸鎬佷笉闇�瑕佹帹閫佸埌鏃х郴缁燂紝浠诲姟ID: {}, 鐘舵��: {}",
-                    taskId, newTaskStatus.getInfo());
+//                log.debug("銆愭柊鎺ㄦ棫銆戜换鍔$姸鎬佷笉闇�瑕佹帹閫佸埌鏃х郴缁燂紝浠诲姟ID: {}, 鐘舵��: {}",
+//                    taskId, newTaskStatus.getInfo());
                 return false;
             }
             
@@ -110,22 +110,22 @@
             // 鍒ゆ柇鏄惁闇�瑕佹洿鏂帮紙鍖呭惈闃叉鐘舵�佸�掗��鐨勬鏌ワ級
             // 濡傛灉鏃х郴缁熺姸鎬佸凡缁� >= 鏂扮郴缁熻鎺ㄩ�佺殑鐘舵�侊紝璇存槑鏃х郴缁熺姸鎬佹洿鏂帮紝鏂扮郴缁熻惤鍚庯紝涓嶅簲璇ユ帹閫�
             if (!TaskStatusPushConverter.shouldUpdateLegacyStatus(targetStatusCode, currentLegacyStatus)) {
-                log.info("銆愭柊鎺ㄦ棫銆戞柊绯荤粺鐘舵�佽惤鍚庢垨绛変簬鏃х郴缁熺姸鎬侊紝璺宠繃鎺ㄩ�侊紝浠诲姟ID: {}, 鏂扮郴缁熺姸鎬�: {} ({}鈫抺}), 鏃х郴缁熺姸鎬�: {} ({})",
-                    taskId, 
-                    task.getTaskStatus(), newTaskStatus.getInfo(), targetStatusCode,
-                    currentLegacyStatus, TaskStatusPushConverter.getLegacyStatusDescription(currentLegacyStatus));
+//                log.info("銆愭柊鎺ㄦ棫銆戞柊绯荤粺鐘舵�佽惤鍚庢垨绛変簬鏃х郴缁熺姸鎬侊紝璺宠繃鎺ㄩ�侊紝浠诲姟ID: {}, 鏂扮郴缁熺姸鎬�: {} ({}鈫抺}), 鏃х郴缁熺姸鎬�: {} ({})",
+//                    taskId,
+//                    task.getTaskStatus(), newTaskStatus.getInfo(), targetStatusCode,
+//                    currentLegacyStatus, TaskStatusPushConverter.getLegacyStatusDescription(currentLegacyStatus));
                 return true; // 杩斿洖true锛屽洜涓鸿繖涓嶇畻澶辫触锛屽彧鏄笉闇�瑕佹帹閫�
             }
             
             // 鎺ㄩ�佺姸鎬佸埌鏃х郴缁�
             boolean result = updateLegacyTaskStatus(emergency.getLegacyDispatchOrdId(), targetStatusCode);
             
-            if (result) {
-                log.info("銆愭柊鎺ㄦ棫銆戜换鍔$姸鎬佹帹閫佹垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}, 鏃х姸鎬�: {} ({}), 鏂扮姸鎬�: {} ({})",
-                    taskId, emergency.getLegacyDispatchOrdId(),
-                    currentLegacyStatus, TaskStatusPushConverter.getLegacyStatusDescription(currentLegacyStatus),
-                    targetStatusCode, TaskStatusPushConverter.getLegacyStatusDescription(targetStatusCode));
-            } else {
+            if (!result) {
+//                log.info("銆愭柊鎺ㄦ棫銆戜换鍔$姸鎬佹帹閫佹垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}, 鏃х姸鎬�: {} ({}), 鏂扮姸鎬�: {} ({})",
+//                    taskId, emergency.getLegacyDispatchOrdId(),
+//                    currentLegacyStatus, TaskStatusPushConverter.getLegacyStatusDescription(currentLegacyStatus),
+//                    targetStatusCode, TaskStatusPushConverter.getLegacyStatusDescription(targetStatusCode));
+//            } else {
                 log.error("銆愭柊鎺ㄦ棫銆戜换鍔$姸鎬佹帹閫佸け璐ワ紝浠诲姟ID: {}, DispatchOrdID: {}",
                     taskId, emergency.getLegacyDispatchOrdId());
             }
@@ -161,11 +161,11 @@
                 List<SysTaskEmergency> syncedTasks = sysTaskEmergencyService.selectSyncedTasksForStatusUpdate(offset, pageSize);
                 
                 if (syncedTasks == null || syncedTasks.isEmpty()) {
-                    log.info("銆愭柊鎺ㄦ棫銆戞病鏈夋洿澶氶渶瑕佹帹閫佺姸鎬佺殑浠诲姟锛宱ffset: {}", offset);
+//                    log.info("銆愭柊鎺ㄦ棫銆戞病鏈夋洿澶氶渶瑕佹帹閫佺姸鎬佺殑浠诲姟锛宱ffset: {}", offset);
                     break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
                 }
                 
-                log.info("銆愭柊鎺ㄦ棫銆戝紑濮嬫帹閫佺姸鎬佺 {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, syncedTasks.size());
+//                log.info("銆愭柊鎺ㄦ棫銆戝紑濮嬫帹閫佺姸鎬佺 {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, syncedTasks.size());
                 
                 int pageSuccessCount = 0;
                 for (SysTaskEmergency emergency : syncedTasks) {
@@ -179,25 +179,25 @@
                         Thread.sleep(200); // 姣忎釜璇锋眰闂撮殧0.2绉�
                     } catch (InterruptedException e) {
                         Thread.currentThread().interrupt();
-                        log.warn("銆愭柊鎺ㄦ棫銆戞帹閫佺姸鎬佽涓柇");
+//                        log.warn("銆愭柊鎺ㄦ棫銆戞帹閫佺姸鎬佽涓柇");
                         return totalSuccessCount + pageSuccessCount;
                     }
                 }
                 
                 totalSuccessCount += pageSuccessCount;
-                log.info("鐘舵�佺 {} 椤垫帹閫佸畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}", 
-                    (offset / pageSize) + 1, syncedTasks.size(), pageSuccessCount);
+//                log.info("鐘舵�佺 {} 椤垫帹閫佸畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
+//                    (offset / pageSize) + 1, syncedTasks.size(), pageSuccessCount);
                 
                 // 濡傛灉鏈〉鏁版嵁灏戜簬姣忛〉澶у皬锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤�
                 if (syncedTasks.size() < pageSize) {
-                    log.info("銆愭柊鎺ㄦ棫銆戝凡鍒拌揪鏈�鍚庝竴椤碉紝鐘舵�佹帹閫佺粨鏉�");
+//                    log.info("銆愭柊鎺ㄦ棫銆戝凡鍒拌揪鏈�鍚庝竴椤碉紝鐘舵�佹帹閫佺粨鏉�");
                     break;
                 }
                 
                 offset += pageSize; // 涓嬩竴椤�
             }
             
-            log.info("銆愭柊鎺ㄦ棫銆戞壒閲忔帹閫佷换鍔$姸鎬佸畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
+//            log.info("銆愭柊鎺ㄦ棫銆戞壒閲忔帹閫佷换鍔$姸鎬佸畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
             return totalSuccessCount;
             
         } catch (Exception e) {
@@ -217,13 +217,13 @@
         try {
             // 鐩存帴閫氳繃Service璋冪敤Mapper鏇存柊SQL Server鏁版嵁搴�
             int rows = dispatchOrdService.updateDispatchOrdState(dispatchOrdId, statusCode);
-            log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, StateInt: {}", dispatchOrdId, statusCode);
+//            log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, StateInt: {}", dispatchOrdId, statusCode);
             if (rows > 0) {
-                log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, StateInt: {}", 
-                    dispatchOrdId, statusCode);
+//                log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, StateInt: {}",
+//                    dispatchOrdId, statusCode);
                 return true;
             } else {
-                log.warn("鏇存柊鏃х郴缁熺姸鎬佸け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", dispatchOrdId);
+//                log.warn("鏇存柊鏃х郴缁熺姸鎬佸け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", dispatchOrdId);
                 return false;
             }
             
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusSyncServiceImpl.java
index c04dbc0..d717e76 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusSyncServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusSyncServiceImpl.java
@@ -108,7 +108,7 @@
     @Override
     public int batchSyncTaskStatusFromLegacy() {
         if (!legacyConfig.isEnabled()) {
-            log.info("鏃х郴缁熷悓姝ュ凡绂佺敤");
+//            log.info("鏃х郴缁熷悓姝ュ凡绂佺敤");
             return 0;
         }
         
@@ -122,11 +122,11 @@
                 List<SysTaskEmergency> syncedTasks = sysTaskEmergencyService.selectSyncedTasksForStatusUpdate(offset, pageSize);
                 
                 if (syncedTasks == null || syncedTasks.isEmpty()) {
-                    log.info("娌℃湁鏇村闇�瑕佸悓姝ョ姸鎬佺殑浠诲姟锛宱ffset: {}", offset);
+//                    log.info("娌℃湁鏇村闇�瑕佸悓姝ョ姸鎬佺殑浠诲姟锛宱ffset: {}", offset);
                     break; // 娌℃湁鏇村鏁版嵁锛岄��鍑哄惊鐜�
                 }
                 
-                log.info("寮�濮嬪悓姝ョ姸鎬佺 {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, syncedTasks.size());
+//                log.info("寮�濮嬪悓姝ョ姸鎬佺 {} 椤碉紝浠诲姟鏁伴噺: {}", (offset / pageSize) + 1, syncedTasks.size());
                 
                 // 2. 鎻愬彇璋冨害鍗旾D鍒楄〃
                 List<Long> dispatchOrdIDs = new ArrayList<>();
@@ -141,7 +141,7 @@
                 }
                 
                 if (dispatchOrdIDs.isEmpty()) {
-                    log.warn("鏈〉娌℃湁鏈夋晥鐨勮皟搴﹀崟ID");
+//                    log.warn("鏈〉娌℃湁鏈夋晥鐨勮皟搴﹀崟ID");
                     offset += pageSize;
                     continue;
                 }
@@ -178,7 +178,7 @@
                     // 鑾峰彇鏃х郴缁熺姸鎬�
                     Integer legacyStatus = dispatchIdToStateMap.get(dispatchOrdId);
                     if (legacyStatus == null) {
-                        log.warn("鏈壘鍒拌皟搴﹀崟鐘舵�侊紝DispatchOrdID: {}", dispatchOrdId);
+//                        log.warn("鏈壘鍒拌皟搴﹀崟鐘舵�侊紝DispatchOrdID: {}", dispatchOrdId);
                         continue;
                     }
                     
@@ -190,19 +190,19 @@
                 }
                 
                 totalSuccessCount += pageSuccessCount;
-                log.info("鐘舵�佺 {} 椤靛悓姝ュ畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}", 
-                    (offset / pageSize) + 1, syncedTasks.size(), pageSuccessCount);
-                
+//                log.info("鐘舵�佺 {} 椤靛悓姝ュ畬鎴愶紝鎬绘暟: {}, 鎴愬姛: {}",
+//                    (offset / pageSize) + 1, syncedTasks.size(), pageSuccessCount);
+//
                 // 濡傛灉鏈〉鏁版嵁灏戜簬姣忛〉澶у皬锛岃鏄庡凡缁忔槸鏈�鍚庝竴椤�
                 if (syncedTasks.size() < pageSize) {
-                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝鐘舵�佸悓姝ョ粨鏉�");
+//                    log.info("宸插埌杈炬渶鍚庝竴椤碉紝鐘舵�佸悓姝ョ粨鏉�");
                     break;
                 }
                 
                 offset += pageSize; // 涓嬩竴椤�
             }
             
-            log.info("鎵归噺鍚屾浠诲姟鐘舵�佸畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
+//            log.info("鎵归噺鍚屾浠诲姟鐘舵�佸畬鎴愶紝鎬绘垚鍔熸暟: {}", totalSuccessCount);
             return totalSuccessCount;
             
         } catch (Exception e) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
index a04d09a..7c4bfd2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleInfoServiceImpl.java
@@ -47,6 +47,11 @@
         return vehicleInfoMapper.selectVehicleInfoWithDeptsById(vehicleId);
     }
 
+    @Override
+    public VehicleInfo selectVehicleInfoByCarId(Integer carId) {
+        return vehicleInfoMapper.selectVehicleInfoByCarId(carId);
+    }
+
     /**
      * 鏌ヨ杞﹁締淇℃伅锛堝寘鍚鍒嗗叕鍙稿叧鑱旓級
      * 
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 2d1eeaf..b76e681 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
@@ -473,9 +473,9 @@
 
             List<TaskTimeInterval> taskIntervals = vehicleMileageStatsMapper.selectTaskTimeIntervals(vehicleId, dayStart, dayEnd);
             Integer taskCount = taskIntervals != null ? taskIntervals.size() : 0;
-            logger.info("杞﹁締ID: {} 鍦ㄦ棩鏈�: {} 鏈� {} 涓换鍔�", vehicleId, statDate, taskCount);
+//            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());
+//            logger.info("杞﹁締ID: {} 鍦ㄦ棩鏈�: {} 鏈� {} 涓垎娈甸噷绋嬫暟鎹�", vehicleId, statDate, mileages.size());
             Integer totalGpsPoints = mileages != null ? mileages.stream()
                 .filter(segment -> segment.getGpsPointCount() != null)
                 .mapToInt(VehicleGpsSegmentMileage::getGpsPointCount)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleSyncServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleSyncServiceImpl.java
index 56fc2c2..860c875 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleSyncServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleSyncServiceImpl.java
@@ -46,7 +46,9 @@
     @Autowired
     private VehicleInfoMapper vehicleInfoMapper;
 
-
+    private VehicleInfo findVehicleByCarId(Integer carId){
+        return vehicleInfoService.selectVehicleInfoByCarId(carId);
+    }
     /**
      * 鍚屾杞﹁締鏁版嵁鍒癕ySQL
      * 
@@ -87,6 +89,11 @@
 
                     // 鏌ヨ杞﹁締鏄惁瀛樺湪
                     VehicleInfo existingVehicle = findVehicleByPlateNumber(plateNumber);
+                    if(existingVehicle==null){
+                        existingVehicle = findVehicleByCarId(vehicleDTO.getCarId());
+                    }
+
+
 
                     // 瑙f瀽鎵�鏈夊垎鍏徃ID锛圕arOrdClass鍙兘鍖呭惈澶氫釜缂栫爜锛屽锛欻B,TI锛�
                     List<VehicleDept> vehicleDepts = parseVehicleDepts(vehicleDTO.getCarOrdClass());
@@ -215,6 +222,9 @@
         return license;
     }
 
+    private VehicleInfo findByCarId(Integer carId){
+        return vehicleInfoService.selectVehicleInfoByCarId(carId);
+    }
     /**
      * 鏍规嵁杞︾墝鍙锋煡鎵捐溅杈嗭紙妯$硦鍖归厤锛�
      * 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskStatusPushConverter.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskStatusPushConverter.java
index b8af81c..7e1fe24 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskStatusPushConverter.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/TaskStatusPushConverter.java
@@ -40,7 +40,7 @@
             case PENDING:        // 寰呭鐞� - 涓嶅悓姝�
             case ARRIVED:        // 宸插埌杈� - 涓嶅悓姝�
             default:
-                log.debug("鏂扮郴缁熺姸鎬佷笉闇�瑕佸悓姝ュ埌鏃х郴缁�: {}", taskStatus.getInfo());
+//                log.debug("鏂扮郴缁熺姸鎬佷笉闇�瑕佸悓姝ュ埌鏃х郴缁�: {}", taskStatus.getInfo());
                 return null;
         }
     }
@@ -55,18 +55,18 @@
      */
     public static boolean shouldUpdateLegacyStatus(Integer newStatusCode, Integer oldStatusCode) {
         if (newStatusCode == null || oldStatusCode == null) {
-            log.warn("鐘舵�佺爜涓虹┖锛岃烦杩囨洿鏂帮紝鏂扮姸鎬佺爜: {}, 鏃х姸鎬佺爜: {}", newStatusCode, oldStatusCode);
+//            log.warn("鐘舵�佺爜涓虹┖锛岃烦杩囨洿鏂帮紝鏂扮姸鎬佺爜: {}, 鏃х姸鎬佺爜: {}", newStatusCode, oldStatusCode);
             return false;
         }
         
         // 闃叉鐘舵�佸�掗��锛氭棫绯荤粺鐘舵�� >= 鏂扮郴缁熻鎺ㄩ�佺殑鐘舵�佹椂锛屼笉鏇存柊
         // 鍘熷洜锛氬彲鑳芥槸鏃х郴缁熷凡缁忓鐞嗕簡鏇存柊鐨勭姸鎬侊紝鑰屾柊绯荤粺鐢变簬鏃堕棿宸繕娌℃湁鍚屾鍒�
         if (oldStatusCode >= newStatusCode) {
-            log.info("鏃х郴缁熺姸鎬�({}) >= 鏂扮郴缁熺洰鏍囩姸鎬�({})锛岃烦杩囨帹閫侊紝闃叉鐘舵�佸�掗��锛�" +
-                "鏃х郴缁�: {} ({}), 鏂扮郴缁熺洰鏍�: {} ({})", 
-                oldStatusCode, newStatusCode,
-                oldStatusCode, getLegacyStatusDescription(oldStatusCode),
-                newStatusCode, getLegacyStatusDescription(newStatusCode));
+//            log.info("鏃х郴缁熺姸鎬�({}) >= 鏂扮郴缁熺洰鏍囩姸鎬�({})锛岃烦杩囨帹閫侊紝闃叉鐘舵�佸�掗��锛�" +
+//                "鏃х郴缁�: {} ({}), 鏂扮郴缁熺洰鏍�: {} ({})",
+//                oldStatusCode, newStatusCode,
+//                oldStatusCode, getLegacyStatusDescription(oldStatusCode),
+//                newStatusCode, getLegacyStatusDescription(newStatusCode));
             return false;
         }
         
@@ -74,17 +74,17 @@
         if (oldStatusCode >= 8) {
             // 鏃х郴缁熷凡缁忔槸瀹屾垚鎬侊紙8,9,10锛夛紝涓嶅簲璇ヨ浠讳綍涓棿鐘舵�佽鐩�
             if (newStatusCode < 8) {
-                log.warn("鏃х郴缁熷凡鏄粓鎬�({})(锛歿})锛屾嫆缁濇帹閫佷腑闂寸姸鎬�({})(锛歿})", 
-                    oldStatusCode, getLegacyStatusDescription(oldStatusCode),
-                    newStatusCode, getLegacyStatusDescription(newStatusCode));
+//                log.warn("鏃х郴缁熷凡鏄粓鎬�({})(锛歿})锛屾嫆缁濇帹閫佷腑闂寸姸鎬�({})(锛歿})",
+//                    oldStatusCode, getLegacyStatusDescription(oldStatusCode),
+//                    newStatusCode, getLegacyStatusDescription(newStatusCode));
                 return false;
             }
         }
         
-        log.debug("鍏佽鎺ㄩ�佺姸鎬侊紝鏃х郴缁�: {} ({}), 鏂扮郴缁熺洰鏍�: {} ({})",
-            oldStatusCode, getLegacyStatusDescription(oldStatusCode),
-            newStatusCode, getLegacyStatusDescription(newStatusCode));
-        
+//        log.debug("鍏佽鎺ㄩ�佺姸鎬侊紝鏃х郴缁�: {} ({}), 鏂扮郴缁熺洰鏍�: {} ({})",
+//            oldStatusCode, getLegacyStatusDescription(oldStatusCode),
+//            newStatusCode, getLegacyStatusDescription(newStatusCode));
+//
         return true;
     }
     
diff --git a/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml b/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
index 5ecdb9a..f638746 100644
--- a/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/LegacyTransferSyncMapper.xml
@@ -47,7 +47,7 @@
         <result property="DispatchOrdNo" column="DispatchOrdNo" />
         <result property="DispatchOrdClass" column="DispatchOrdClass" />
         <result property="ServiceOrdVIP" column="ServiceOrdVIP" />
-        <result property="FromHQ2_is" column="FromHQ2_is" />
+        <result property="FromHQ_is" column="FromHQ_is" />
         <result property="DispatchOrd_NS_Time" column="DispatchOrd_NS_Time" />
 
     </resultMap>
@@ -65,7 +65,7 @@
             a.ServiceOrdID,
             a.Old_ServiceOrdID_TXT,
             a.ServiceOrdNo,
-            a.FromHQ2_is,
+            a.FromHQ_is,
             a.ServiceOrdVIP,
             a.ServiceOrdTraVia,
             a.ServiceOrdApptDate,
@@ -119,7 +119,7 @@
             a.ServiceOrdID,
             a.Old_ServiceOrdID_TXT,
             a.ServiceOrdTraVia,
-             a.FromHQ2_is,
+            a.FromHQ_is,
             a.ServiceOrdVIP,
             a.ServiceOrdNo,
             a.ServiceOrdApptDate,
@@ -171,7 +171,7 @@
         SELECT
         a.ServiceOrdID,
         a.Old_ServiceOrdID_TXT,
-        a.FromHQ2_is,
+        a.FromHQ_is,
         a.ServiceOrdVIP,
         a.ServiceOrdTraVia,
         a.ServiceOrdNo,
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
index dd017b9..3206401 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysTaskMapper.xml
@@ -265,7 +265,6 @@
             <if test="creatorId != null">#{creatorId},</if>
             <if test="assigneeId != null">#{assigneeId},</if>
             <if test="deptId != null">#{deptId},</if>
-            <if test="isHeadPush != null">#{isHeadPush},</if>
             <if test="createTime != null">#{createTime},</if>
             now(),
             <if test="createBy != null">#{createBy},</if>
diff --git a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
index 674cfdd..99955c2 100644
--- a/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/VehicleGpsSegmentMileageMapper.xml
@@ -62,7 +62,11 @@
     </select>
 
     <select id="selectSegmentsByDateRange" resultMap="VehicleGpsSegmentMileageResult">
-        <include refid="selectVehicleGpsSegmentMileageVo"/>
+        SELECT segment_id, vehicle_id, vehicle_no, segment_start_time, segment_end_time,
+        start_longitude, start_latitude, end_longitude, end_latitude,
+        segment_distance, gps_point_count, task_id, task_code
+        FROM tb_vehicle_gps_segment_mileage
+
         WHERE vehicle_id = #{vehicleId}
           AND segment_start_time &lt;= #{endDate}
           AND segment_end_time &gt;= #{startDate}

--
Gitblit v1.9.1