From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'
---
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java | 186 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 186 insertions(+), 0 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
new file mode 100644
index 0000000..362d630
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java
@@ -0,0 +1,186 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+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;
+
+/**
+ * 浠诲姟绠$悊Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2024-01-15
+ */
+public interface ISysTaskService {
+
+ /**
+ * 鏌ヨ浠诲姟绠$悊
+ *
+ * @param taskId 浠诲姟绠$悊涓婚敭
+ * @return 浠诲姟绠$悊
+ */
+ public SysTask selectSysTaskByTaskId(Long taskId);
+
+ /**
+ * 鏌ヨ浠诲姟绠$悊鍒楄〃
+ *
+ * @param queryVO 浠诲姟鏌ヨ瀵硅薄
+ * @return 浠诲姟绠$悊闆嗗悎
+ */
+ public List<SysTask> selectSysTaskList(TaskQueryVO queryVO);
+
+ /**
+ * 鏂板浠诲姟绠$悊
+ *
+ * @param createVO 浠诲姟鍒涘缓瀵硅薄
+ * @return 缁撴灉
+ */
+ public int insertSysTask(TaskCreateVO createVO);
+
+ /**
+ * 淇敼浠诲姟绠$悊
+ *
+ * @param updateVO 浠诲姟鏇存柊瀵硅薄
+ * @return 缁撴灉
+ */
+ public int updateSysTask(TaskUpdateVO updateVO);
+
+ /**
+ * 鎵归噺鍒犻櫎浠诲姟绠$悊
+ *
+ * @param taskIds 闇�瑕佸垹闄ょ殑浠诲姟绠$悊涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteSysTaskByTaskIds(Long[] taskIds);
+
+ /**
+ * 鍒嗛厤浠诲姟
+ *
+ * @param taskId 浠诲姟ID
+ * @param assigneeId 鎵ц浜篒D
+ * @param remark 澶囨敞
+ * @return 缁撴灉
+ */
+ public int assignTask(Long taskId, Long assigneeId, String remark);
+
+ /**
+ * 鍙樻洿浠诲姟鐘舵��
+ *
+ * @param taskId 浠诲姟ID
+ * @param newStatus 鏂扮姸鎬�
+ * @param remark 澶囨敞
+ * @return 缁撴灉
+ */
+ public int changeTaskStatus(Long taskId, TaskStatus newStatus, String remark);
+
+ /**
+ * 鍙樻洿浠诲姟鐘舵�侊紙鍚獹PS浣嶇疆淇℃伅锛�
+ *
+ * @param taskId 浠诲姟ID
+ * @param newStatus 鏂扮姸鎬�
+ * @param remark 澶囨敞
+ * @param locationLog GPS浣嶇疆淇℃伅鏃ュ織瀵硅薄
+ * @return 缁撴灉
+ */
+ public int changeTaskStatusWithLocation(Long taskId, TaskStatus newStatus, String remark, SysTaskLog locationLog);
+
+ /**
+ * 涓婁紶浠诲姟闄勪欢
+ *
+ * @param taskId 浠诲姟ID
+ * @param file 鏂囦欢
+ * @return 缁撴灉
+ */
+ public int uploadAttachment(Long taskId, MultipartFile file);
+
+ /**
+ * 鍒犻櫎浠诲姟闄勪欢
+ *
+ * @param attachmentId 闄勪欢ID
+ * @return 缁撴灉
+ */
+ public int deleteAttachment(Long attachmentId);
+
+ /**
+ * 鍒嗛厤杞﹁締缁欎换鍔�
+ *
+ * @param taskId 浠诲姟ID
+ * @param vehicleId 杞﹁締ID
+ * @param remark 澶囨敞
+ * @return 缁撴灉
+ */
+ public int assignVehicleToTask(Long taskId, Long vehicleId, String remark);
+
+ /**
+ * 鍙栨秷浠诲姟杞﹁締鍒嗛厤
+ *
+ * @param taskId 浠诲姟ID
+ * @param vehicleId 杞﹁締ID
+ * @return 缁撴灉
+ */
+ public int unassignVehicleFromTask(Long taskId, Long vehicleId);
+
+ /**
+ * 鎵归噺鍒嗛厤杞﹁締缁欎换鍔�
+ *
+ * @param taskId 浠诲姟ID
+ * @param vehicleIds 杞﹁締ID鍒楄〃
+ * @param remark 澶囨敞
+ * @return 缁撴灉
+ */
+ public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark);
+
+ /**
+ * 鏌ヨ浠诲姟鍏宠仈鐨勮溅杈�
+ *
+ * @param taskId 浠诲姟ID
+ * @return 浠诲姟杞﹁締鍏宠仈鍒楄〃
+ */
+ public List<SysTaskVehicle> getTaskVehicles(Long taskId);
+
+ /**
+ * 鏌ヨ鍙敤杞﹁締
+ *
+ * @param deptId 閮ㄩ棬ID
+ * @param taskType 浠诲姟绫诲瀷
+ * @return 鍙敤杞﹁締鍒楄〃
+ */
+ public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType);
+
+ /**
+ * 鏌ヨ浠诲姟缁熻淇℃伅
+ *
+ * @return 浠诲姟缁熻淇℃伅
+ */
+ public TaskStatisticsVO getTaskStatistics();
+
+ /**
+ * 鏌ヨ瓒呮椂浠诲姟鍒楄〃
+ *
+ * @return 瓒呮椂浠诲姟鍒楄〃
+ */
+ public List<SysTask> selectOverdueTasks();
+
+ /**
+ * 鏌ヨ鎴戠殑浠诲姟鍒楄〃
+ *
+ * @param userId 鐢ㄦ埛ID
+ * @return 鎴戠殑浠诲姟鍒楄〃
+ */
+ public List<SysTask> selectMyTasks(Long userId);
+
+ /**
+ * 鑾峰彇浠诲姟璇︽儏锛堝寘鍚叧鑱旀暟鎹級
+ *
+ * @param taskId 浠诲姟ID
+ * @return 浠诲姟璇︽儏
+ */
+ public SysTask getTaskDetail(Long taskId);
+}
--
Gitblit v1.9.1