From 5d75fcaea0a3774052b7484a4ffe755258502363 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 06 十二月 2025 20:49:11 +0800
Subject: [PATCH] fix:开始执行人员就绪按钮

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java |  135 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 127 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 362d630..5664186 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;
 
 /**
@@ -45,12 +44,39 @@
     public int insertSysTask(TaskCreateVO createVO);
 
     /**
+     * 鏂板浠诲姟绠$悊锛堝厑璁镐粠澶栭儴浼犲叆鐢ㄦ埛淇℃伅銆侀儴闂ㄤ俊鎭拰鏃堕棿淇℃伅锛�
+     * 
+     * @param createVO 浠诲姟鍒涘缓瀵硅薄
+     * @param userId 鐢ㄦ埛ID
+     * @param deptId 閮ㄩ棬ID
+     * @param createTime 鍒涘缓鏃堕棿
+     * @param updateTime 鏇存柊鏃堕棿
+     * @return 缁撴灉
+     */
+    public int insertTask(TaskCreateVO createVO,String serviceOrderId,String 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, String serviceOrderId, String dispatchOrderId, String serviceOrdNo, Long userId, String userName, Long deptId, Date createTime, Date updateTime);
 
     /**
      * 鎵归噺鍒犻櫎浠诲姟绠$悊
@@ -96,9 +122,21 @@
      * 
      * @param taskId 浠诲姟ID
      * @param file 鏂囦欢
+     * @param category 闄勪欢鍒嗙被
      * @return 缁撴灉
      */
-    public int uploadAttachment(Long taskId, MultipartFile file);
+    public Long uploadAttachment(Long taskId, MultipartFile file, String category);
+    
+    /**
+     * 浠庡井淇ediaId涓婁紶浠诲姟闄勪欢
+     * 
+     * @param taskId 浠诲姟ID
+     * @param accessToken 寰俊AccessToken
+     * @param mediaId 寰俊mediaId
+     * @param category 闄勪欢鍒嗙被
+     * @return
+     */
+    public Long uploadAttachmentFromWechat(Long taskId, String accessToken, String mediaId, String category);
 
     /**
      * 鍒犻櫎浠诲姟闄勪欢
@@ -107,7 +145,17 @@
      * @return 缁撴灉
      */
     public int deleteAttachment(Long attachmentId);
+    
+    /**
+     * 鏍规嵁ID鑾峰彇闄勪欢璇︽儏
+     * 
+     * @param attachmentId 闄勪欢ID
+     * @return 闄勪欢璇︽儏
+     */
+    public SysTaskAttachment getAttachmentById(Long attachmentId);
 
+
+    public List<SysTaskAttachment> getAttachmentsByTaskId(Long taskId);
     /**
      * 鍒嗛厤杞﹁締缁欎换鍔�
      * 
@@ -116,7 +164,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);
 
     /**
      * 鍙栨秷浠诲姟杞﹁締鍒嗛厤
@@ -135,7 +183,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);
 
     /**
      * 鏌ヨ浠诲姟鍏宠仈鐨勮溅杈�
@@ -183,4 +231,75 @@
      * @return 浠诲姟璇︽儏
      */
     public SysTask getTaskDetail(Long taskId);
+
+    /**
+     * 妫�鏌ヨ溅杈嗘槸鍚︽湁姝e湪杩涜涓殑浠诲姟
+     * 姝e湪杩涜涓殑浠诲姟鏄寚鐘舵�佷笉涓猴細PENDING锛堝緟澶勭悊锛夈�丆OMPLETED锛堝凡瀹屾垚锛夈�丆ANCELLED锛堝凡鍙栨秷锛夌殑浠诲姟
+     * 
+     * @param vehicleId 杞﹁締ID
+     * @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