From 4fdde57a837b47b0a04aa17a7627c21b7425eda2 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期五, 26 十二月 2025 23:25:11 +0800
Subject: [PATCH] feat: 优化取消时,调度单中显示原因

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskStatusPushServiceImpl.java |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 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 a9b79e8..72e4127 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
@@ -129,6 +129,10 @@
                     log.info("鍙栨秷杞繍浠诲姟: {}", emergency.getLegacyServiceOrdId());
                     cancelTask(emergency.getLegacyServiceOrdId(), emergency.getCancelReason(), emergency.getCancelBy());
                 }
+                if(LongUtil.isNotEmpty(emergency.getLegacyDispatchOrdId())){
+                    log.info("鍙栨秷璋冨害鍗�: {}", emergency.getLegacyDispatchOrdId());
+                    cancelDispatch(emergency.getLegacyDispatchOrdId(), emergency.getCancelReason(), emergency.getCancelBy());
+                }
             }
             // 鎺ㄩ�佺姸鎬佸埌鏃х郴缁�
             boolean result = updateLegacyTaskStatus(emergency.getLegacyDispatchOrdId(), targetStatusCode);
@@ -150,7 +154,11 @@
             return false;
         }
     }
-    
+
+    private void cancelDispatch(Long legacyDispatchOrdId, String cancelReason, String cancelReasonText) {
+        dispatchOrdService.cancelDispatchOrd(legacyDispatchOrdId, Integer.parseInt(cancelReason), cancelReasonText);
+    }
+
     /**
      * 鎵归噺鎺ㄩ�佷换鍔$姸鎬佸埌鏃х郴缁�
      * 浣跨敤鍒嗛〉鏌ヨ锛岀‘淇濇墍鏈夌鍚堟潯浠剁殑浠诲姟閮借兘琚帹閫�
@@ -223,7 +231,7 @@
     private void cancelTask(Long serviceOrderId, String cancelReason, String cancelBy){
         // 鍙栨秷浠诲姟锛屾洿鏂癝QL Server涓殑ServiceOrder琛�
         try {
-            if (serviceOrderId == null || serviceOrderId <= 0) {
+            if (LongUtil.isEmpty(serviceOrderId)) {
                 log.warn("ServiceOrderID涓虹┖锛屾棤娉曞彇娑堜换鍔�");
                 return;
             }

--
Gitblit v1.9.1