From b9e9cde65890851f4ca2d7b4809b802b88937ddf Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 01 四月 2026 23:05:48 +0800
Subject: [PATCH]  feat:同步状态优化

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

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 72e4127..af792e6 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
@@ -134,6 +134,27 @@
                     cancelDispatch(emergency.getLegacyDispatchOrdId(), emergency.getCancelReason(), emergency.getCancelBy());
                 }
             }
+            
+            // 鍒ゆ柇鏄惁闇�瑕佹洿鏂板疄闄呭紑濮嬫椂闂达細浠庡緟澶勭悊杞埌鍏朵粬鐘舵�侊紙闄ゅ彇娑堝锛�
+            if ( targetStatusCode != 10 && task.getActualStartTime() != null) {
+                try {
+                    int rows = dispatchOrdService.updateDispatchOrdActualDate(
+                        emergency.getLegacyDispatchOrdId(), 
+                        task.getActualStartTime());
+                    if (rows > 0) {
+                        log.info("銆愭柊鎺ㄦ棫銆戞洿鏂板疄闄呭紑濮嬫椂闂存垚鍔燂紝浠诲姟ID: {}, DispatchOrdID: {}, 瀹為檯寮�濮嬫椂闂�: {}",
+                            taskId, emergency.getLegacyDispatchOrdId(), task.getActualStartTime());
+                    } else {
+                        log.warn("銆愭柊鎺ㄦ棫銆戞洿鏂板疄闄呭紑濮嬫椂闂村け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", 
+                            emergency.getLegacyDispatchOrdId());
+                    }
+                } catch (Exception e) {
+                    log.error("銆愭柊鎺ㄦ棫銆戞洿鏂板疄闄呭紑濮嬫椂闂村紓甯革紝DispatchOrdID: {}", 
+                        emergency.getLegacyDispatchOrdId(), e);
+                    // 涓嶆姏鍑哄紓甯革紝缁х画鎵ц鐘舵�佹帹閫�
+                }
+            }
+            
             // 鎺ㄩ�佺姸鎬佸埌鏃х郴缁�
             boolean result = updateLegacyTaskStatus(emergency.getLegacyDispatchOrdId(), targetStatusCode);
             
@@ -174,7 +195,7 @@
         
         try {
             int totalSuccessCount = 0;
-            int pageSize = 200; // 姣忛〉200鏉�
+            int pageSize = 5; // 姣忛〉10鏉�
             int offset = 0;
             
             while (true) {
@@ -242,6 +263,7 @@
             
             if (cancelReason != null && !cancelReason.isEmpty()) {
                 try {
+                    log.info("鍙栨秷鍘熷洜 cancelReason:{},鍙栨秷浜�:{}", cancelReason, cancelBy);
                     cancelReasonId = Integer.parseInt(cancelReason);
                     // 浠庢暟鎹瓧鍏告煡璇㈠彇娑堝師鍥犳枃鏈�
                     String dictLabel = sysDictDataService.selectDictLabel("task_cancel_reason", cancelReason);
@@ -251,7 +273,7 @@
                         cancelReasonText = "[鍙栨秷鎿嶄綔:" + (cancelBy != null ? cancelBy : "绯荤粺") + "]";
                     }
                 } catch (NumberFormatException e) {
-                    log.warn("鍙栨秷鍘熷洜ID鏍煎紡閿欒: {}", cancelReason);
+                    log.error("鍙栨秷鍘熷洜ID鏍煎紡閿欒: {}", cancelReason,e);
                     cancelReasonText = "[鍙栨秷鎿嶄綔:" + (cancelBy != null ? cancelBy : "绯荤粺") + "] " + cancelReason;
                 }
             } else {
@@ -283,10 +305,10 @@
         try {
             // 鐩存帴閫氳繃Service璋冪敤Mapper鏇存柊SQL Server鏁版嵁搴�
             int rows = dispatchOrdService.updateDispatchOrdState(dispatchOrdId, statusCode);
-//            log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, StateInt: {}", dispatchOrdId, statusCode);
+            log.debug("鏇存柊鏃х郴缁熺姸鎬侊紝DispatchOrdID: {}, statusCode: {}", dispatchOrdId, statusCode);
             if (rows > 0) {
-//                log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, StateInt: {}",
-//                    dispatchOrdId, statusCode);
+                log.debug("鏇存柊鏃х郴缁熺姸鎬佹垚鍔燂紝DispatchOrdID: {}, statusCode: {}",
+                    dispatchOrdId, statusCode);
                 return true;
             } else {
 //                log.warn("鏇存柊鏃х郴缁熺姸鎬佸け璐ワ紝鏈壘鍒板搴旇皟搴﹀崟锛孌ispatchOrdID: {}", dispatchOrdId);

--
Gitblit v1.9.1