From 8cb5d3440208a3be3e772e65f1bd0ec63031ba62 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期三, 17 十二月 2025 08:37:14 +0800
Subject: [PATCH] feat: 增加服务单派发通知

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 106 insertions(+), 8 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java
index a5cdf19..a5a2a26 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java
@@ -1,15 +1,14 @@
 package com.ruoyi.system.service;
 
+import java.util.Date;
 import java.util.List;
+
+import com.ruoyi.system.domain.vo.*;
 import org.springframework.web.multipart.MultipartFile;
 import com.ruoyi.system.domain.SysTask;
 import com.ruoyi.system.domain.SysTaskLog;
 import com.ruoyi.system.domain.SysTaskVehicle;
 import com.ruoyi.system.domain.SysTaskAttachment;
-import com.ruoyi.system.domain.vo.TaskQueryVO;
-import com.ruoyi.system.domain.vo.TaskCreateVO;
-import com.ruoyi.system.domain.vo.TaskUpdateVO;
-import com.ruoyi.system.domain.vo.TaskStatisticsVO;
 import com.ruoyi.system.domain.enums.TaskStatus;
 
 /**
@@ -19,7 +18,8 @@
  * @date 2024-01-15
  */
 public interface ISysTaskService {
-    
+
+    public Boolean dispatchSyncEvent(Long taskId);
     /**
      * 鏌ヨ浠诲姟绠$悊
      * 
@@ -37,6 +37,15 @@
     public List<SysTask> selectSysTaskList(TaskQueryVO queryVO);
 
     /**
+     * 鏍规嵁浠诲姟缂栧彿銆佽皟搴﹀崟缂栧彿鎴栨湇鍔″崟缂栧彿鏌ヨ浠诲姟鍒楄〃
+     * 
+     * @param queryVO 浠诲姟鏌ヨ瀵硅薄
+     * @param taskCode 浠诲姟缂栧彿
+     * @return 浠诲姟绠$悊闆嗗悎
+     */
+    public List<SysTask> selectSysTaskListByMultiCode(TaskQueryVO queryVO, String taskCode);
+
+    /**
      * 鏂板浠诲姟绠$悊
      * 
      * @param createVO 浠诲姟鍒涘缓瀵硅薄
@@ -45,12 +54,39 @@
     public int insertSysTask(TaskCreateVO createVO);
 
     /**
+     * 鏂板浠诲姟绠$悊锛堝厑璁镐粠澶栭儴浼犲叆鐢ㄦ埛淇℃伅銆侀儴闂ㄤ俊鎭拰鏃堕棿淇℃伅锛�
+     * 
+     * @param createVO 浠诲姟鍒涘缓瀵硅薄
+     * @param userId 鐢ㄦ埛ID
+     * @param deptId 閮ㄩ棬ID
+     * @param createTime 鍒涘缓鏃堕棿
+     * @param updateTime 鏇存柊鏃堕棿
+     * @return 缁撴灉
+     */
+    public int insertTask(TaskCreateVO createVO,Long serviceOrderId,Long dispatchOrderId, String serviceOrdNo, Long userId,String userName, Long deptId, Date createTime, Date updateTime);
+
+    /**
      * 淇敼浠诲姟绠$悊
      * 
      * @param updateVO 浠诲姟鏇存柊瀵硅薄
      * @return 缁撴灉
      */
-    public int updateSysTask(TaskUpdateVO updateVO);
+    public int updateSysTask(TaskUpdateVO updateVO,Boolean updateFromLegacy);
+
+    /**
+     * 淇敼浠诲姟绠$悊锛堝厑璁镐粠澶栭儴浼犲叆鐢ㄦ埛淇℃伅銆侀儴闂ㄤ俊鎭拰鏃堕棿淇℃伅锛� 鐢ㄤ簬浠庢棫绯荤粺涓悓姝ヨ繃鏉�
+     * @param updateVO
+     * @param serviceOrderId
+     * @param dispatchOrderId
+     * @param serviceOrdNo
+     * @param userId
+     * @param userName
+     * @param deptId
+     * @param createTime
+     * @param updateTime
+     * @return
+     */
+    public int updateTask(TaskUpdateVO updateVO, Long serviceOrderId, Long dispatchOrderId, String serviceOrdNo, Long userId, String userName, Long deptId, Date createTime, Date updateTime);
 
     /**
      * 鎵归噺鍒犻櫎浠诲姟绠$悊
@@ -138,7 +174,7 @@
      * @param remark 澶囨敞
      * @return 缁撴灉
      */
-    public int assignVehicleToTask(Long taskId, Long vehicleId, String remark);
+    public int assignVehicleToTask(Long taskId, Long vehicleId, String remark,Long userId,String userName);
 
     /**
      * 鍙栨秷浠诲姟杞﹁締鍒嗛厤
@@ -157,7 +193,7 @@
      * @param remark 澶囨敞
      * @return 缁撴灉
      */
-    public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark);
+    public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark,Long userId,String userName);
 
     /**
      * 鏌ヨ浠诲姟鍏宠仈鐨勮溅杈�
@@ -214,4 +250,66 @@
      * @return 姝e湪杩涜涓殑浠诲姟鍒楄〃
      */
     public List<SysTask> checkVehicleActiveTasks(Long vehicleId);
+
+    /**
+     * 妫�鏌ヤ换鍔℃槸鍚﹀凡鍏宠仈鏃х郴缁熸湇鍔″崟ID
+     * 
+     * @param taskId 浠诲姟ID
+     * @return true-宸插叧鑱旓紝false-鏈叧鑱�
+     */
+    public boolean hasLegacyServiceOrdId(Long taskId);
+
+    /**
+     * 妫�鏌ヤ换鍔℃槸鍚﹀凡鍏宠仈鏃х郴缁熻皟搴﹀崟ID
+     * 
+     * @param taskId 浠诲姟ID
+     * @return true-宸插叧鑱旓紝false-鏈叧鑱�
+     */
+    public boolean hasLegacyDispatchOrdId(Long taskId);
+
+    /**
+     * 鏍规嵁鏃х郴缁熸湇鍔″崟ID妫�鏌ユ槸鍚﹀瓨鍦ㄤ换鍔�
+     * 
+     * @param legacyServiceOrdId 鏃х郴缁熸湇鍔″崟ID
+     * @return true-瀛樺湪锛宖alse-涓嶅瓨鍦�
+     */
+    public boolean existsByLegacyServiceOrdId(Long legacyServiceOrdId);
+
+    /**
+     * 鏍规嵁鏃х郴缁熻皟搴﹀崟ID妫�鏌ユ槸鍚﹀瓨鍦ㄤ换鍔�
+     * 
+     * @param legacyDispatchOrdId 鏃х郴缁熻皟搴﹀崟ID
+     * @return true-瀛樺湪锛宖alse-涓嶅瓨鍦�
+     */
+    public boolean existsByLegacyDispatchOrdId(Long legacyDispatchOrdId);
+
+    /**
+     * 妫�鏌ヤ换鍔℃槸鍚﹀彲浠ュ嚭鍙�
+     * 妫�鏌ワ細
+     * 1. 杞﹁締鏄惁鏈夋湭瀹屾垚鐨勪换鍔�
+     * 2. 鎵ц浜哄憳鏄惁鏈夋湭瀹屾垚鐨勪换鍔�
+     * 
+     * @param taskId 浠诲姟ID
+     * @return AjaxResult 鏍¢獙缁撴灉锛屽寘鍚� valid 鍜� conflicts 淇℃伅
+     */
+    public com.ruoyi.common.core.domain.AjaxResult checkTaskCanDepart(Long taskId);
+
+    /**
+     * 鎵ц浜虹偣鍑诲氨缁�
+     * 
+     * @param taskId 浠诲姟ID
+     * @param userId 鐢ㄦ埛ID
+     * @return 缁撴灉
+     */
+    public com.ruoyi.common.core.domain.AjaxResult setAssigneeReady(Long taskId, Long userId);
+
+    /**
+     * 鍙栨秷鎵ц浜哄氨缁�
+     * 
+     * @param taskId 浠诲姟ID
+     * @param userId 鐢ㄦ埛ID
+     * @return 缁撴灉
+     */
+    public com.ruoyi.common.core.domain.AjaxResult cancelAssigneeReady(Long taskId, Long userId);
+
 }

--
Gitblit v1.9.1