From 09e6dc3fb7266620fafb5e341808a8eb36e080a1 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 13 十二月 2025 22:51:52 +0800
Subject: [PATCH] feat:增加企业微信消息提醒
---
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java | 131 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 120 insertions(+), 11 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 de3a1c3..38d32fe 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,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);
/**
* 鎵归噺鍒犻櫎浠诲姟绠$悊
@@ -99,7 +135,7 @@
* @param category 闄勪欢鍒嗙被
* @return 缁撴灉
*/
- public int uploadAttachment(Long taskId, MultipartFile file, String category);
+ public Long uploadAttachment(Long taskId, MultipartFile file, String category);
/**
* 浠庡井淇ediaId涓婁紶浠诲姟闄勪欢
@@ -108,9 +144,9 @@
* @param accessToken 寰俊AccessToken
* @param mediaId 寰俊mediaId
* @param category 闄勪欢鍒嗙被
- * @return 缁撴灉
+ * @return
*/
- public int uploadAttachmentFromWechat(Long taskId, String accessToken, String mediaId, String category);
+ public Long uploadAttachmentFromWechat(Long taskId, String accessToken, String mediaId, String category);
/**
* 鍒犻櫎浠诲姟闄勪欢
@@ -128,6 +164,8 @@
*/
public SysTaskAttachment getAttachmentById(Long attachmentId);
+
+ public List<SysTaskAttachment> getAttachmentsByTaskId(Long taskId);
/**
* 鍒嗛厤杞﹁締缁欎换鍔�
*
@@ -136,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);
/**
* 鍙栨秷浠诲姟杞﹁締鍒嗛厤
@@ -155,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);
/**
* 鏌ヨ浠诲姟鍏宠仈鐨勮溅杈�
@@ -203,4 +241,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