From 2f09efc660bf2cc94cbc5291ad25ca06fc9bdadf Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 24 一月 2026 22:03:09 +0800
Subject: [PATCH] feat: 增加OCR测试,车辆

---
 ruoyi-system/src/main/java/com/ruoyi/system/listener/TaskMessageListener.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 11 deletions(-)

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..88bfce9 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
@@ -65,6 +65,9 @@
     @Autowired
     private ISysTaskAssigneeService taskAssigneeService;
 
+    @Autowired
+    private ITaskStatusPushService taskStatusPushService;
+
     @Async
     @EventListener
     public void handleTaskDispatchEvent(TaskDispatchSyncEvent event) {
@@ -80,7 +83,7 @@
                    sendDispatchNotify(assigneeIds, task.getCreatorId(), event.getTaskId(),task.getShowTaskCode(), buildNotifyContent(task, emergency));
                }
             }
-
+            syncDispatchActualStartTime(emergency, task);
             Long taskId= event.getTaskId();
             Long dispatchOrdId= event.getDispatchOrderId();
             Long serviceOrdId= event.getServiceOrderId();
@@ -91,6 +94,19 @@
             log.error("澶勭悊浠诲姟娲惧彂鍚屾浜嬩欢澶辫触", ex);
         }
     }
+
+    private void syncDispatchActualStartTime(SysTaskEmergency emergency, SysTask task) {
+        try {
+            //杩欓噷涔熷悓姝ヤ竴涓嬪疄闄呮椂闂�
+            Long disatpchOrdId = emergency.getLegacyDispatchOrdId();
+            Date actualTime = task.getActualStartTime();
+            legacySystemSyncService.updateDispatchActualTime(disatpchOrdId, actualTime);
+        }catch (Exception ex){
+        log.error("鍚屾瀹為檯鏃堕棿澶辫触", ex);
+        }
+    }
+
+
     /**
      * 鐩戝惉浠诲姟鍒涘缓浜嬩欢
      * 
@@ -418,6 +434,8 @@
         return content.toString();
     }
 
+    @Autowired
+    private ITaskStatusSyncService taskStatusSyncService;
     /**
      * 鐩戝惉浠诲姟鐘舵�佸彉鏇翠簨浠�
      * 
@@ -426,26 +444,44 @@
     @Async
     @EventListener
     public void handleTaskStatusChangedEvent(TaskStatusChangedEvent event) {
+
+        sendTaskStatusToLocal(event);
+        sendTaskStatusToLegacy(event.getTaskId());
+
+    }
+
+    private void sendTaskStatusToLegacy(Long taskId) {
+        try{
+            log.info("浠诲姟鐘舵�佸悓姝ュ埌鏃х郴缁熷紑濮� taskId:{}",taskId);
+           taskStatusPushService.pushTaskStatusToLegacy(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 +489,7 @@
                     log.warn("鎵句笉鍒扮敤鎴蜂俊鎭紝鐢ㄦ埛ID锛歿}", receiverId);
                     continue;
                 }
-                
+
                 // 鍒涘缓娑堟伅
                 SysMessage message = new SysMessage();
                 message.setMessageType("STATUS");
@@ -468,13 +504,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);
         }

--
Gitblit v1.9.1