From 40a8157440e3b906da8f52e07d939d78c3f4c313 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 12 四月 2026 16:14:06 +0800
Subject: [PATCH] feat: 任务增加统计、同步增加通知

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskService.java |   70 +++++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 4 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 38d32fe..21f81b5 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
@@ -20,6 +20,14 @@
 public interface ISysTaskService {
 
     public Boolean dispatchSyncEvent(Long taskId);
+
+    /**
+     * 鍒ゆ柇浠诲姟鏄惁鎬婚儴鎺ㄩ��
+     * @param taskCreatorId
+     * @param taskDeptId
+     * @return
+     */
+    public Boolean isTaskHeaderPush(Long taskCreatorId,Long taskDeptId);
     /**
      * 鏌ヨ浠诲姟绠$悊
      * 
@@ -51,19 +59,29 @@
      * @param createVO 浠诲姟鍒涘缓瀵硅薄
      * @return 缁撴灉
      */
-    public int insertSysTask(TaskCreateVO createVO);
+    /**
+     * 鏂板浠诲姟
+     * 
+     * @param createVO 浠诲姟鍒涘缓淇℃伅
+     * @return 浠诲姟ID
+     */
+    public Long insertSysTask(TaskCreateVO createVO);
 
     /**
      * 鏂板浠诲姟绠$悊锛堝厑璁镐粠澶栭儴浼犲叆鐢ㄦ埛淇℃伅銆侀儴闂ㄤ俊鎭拰鏃堕棿淇℃伅锛�
      * 
      * @param createVO 浠诲姟鍒涘缓瀵硅薄
+     * @param serviceOrderId 鏈嶅姟鍗旾D
+     * @param dispatchOrderId 璋冨害鍗旾D
+     * @param serviceOrdNo 鏈嶅姟鍗曠紪鍙�
      * @param userId 鐢ㄦ埛ID
+     * @param userName 鐢ㄦ埛鍚嶇О
      * @param deptId 閮ㄩ棬ID
      * @param createTime 鍒涘缓鏃堕棿
      * @param updateTime 鏇存柊鏃堕棿
-     * @return 缁撴灉
+     * @return 浠诲姟ID
      */
-    public int insertTask(TaskCreateVO createVO,String serviceOrderId,String dispatchOrderId, String serviceOrdNo, Long userId,String userName, Long deptId, Date createTime, Date updateTime);
+    public Long insertTask(TaskCreateVO createVO,Long serviceOrderId,Long dispatchOrderId, String serviceOrdNo, Long userId,String userName, Long deptId, Date createTime, Date updateTime);
 
     /**
      * 淇敼浠诲姟绠$悊
@@ -86,7 +104,7 @@
      * @param updateTime
      * @return
      */
-    public int updateTask(TaskUpdateVO updateVO, String serviceOrderId, String dispatchOrderId, String serviceOrdNo, Long userId, String userName, Long deptId, Date createTime, Date updateTime);
+    public int updateTask(TaskUpdateVO updateVO, Long serviceOrderId, Long dispatchOrderId, String serviceOrdNo, Long userId, String userName, Long deptId, Date createTime, Date updateTime);
 
     /**
      * 鎵归噺鍒犻櫎浠诲姟绠$悊
@@ -117,6 +135,14 @@
     public int changeTaskStatus(Long taskId, TaskStatus newStatus, String remark);
 
     /**
+     * 寮哄埗瀹屾垚浠诲姟锛堟寚瀹氬疄闄呭紑濮嬫椂闂村拰缁撴潫鏃堕棿锛�
+     * 
+     * @param task 浠诲姟淇℃伅锛堝寘鍚玹askId銆乼askStatus銆乤ctualStartTime銆乤ctualEndTime銆乺emark锛�
+     * @return 缁撴灉
+     */
+    public int forceCompleteTask(SysTask task);
+
+    /**
      * 鍙樻洿浠诲姟鐘舵�侊紙鍚獹PS浣嶇疆淇℃伅锛�
      * 
      * @param taskId 浠诲姟ID
@@ -127,6 +153,23 @@
      */
     public int changeTaskStatusWithLocation(Long taskId, TaskStatus newStatus, String remark, SysTaskLog locationLog);
 
+    /**
+     * 淇濆瓨浠诲姟鍙栨秷淇℃伅锛堜粎闄愯浆杩愪换鍔★級
+     * 
+     * @param taskId 浠诲姟ID
+     * @param cancelReason 鍙栨秷鍘熷洜锛堟暟鎹瓧鍏竧ask_cancel_reason鐨剉alue锛�
+     * @return 缁撴灉
+     */
+    public int saveCancelInfo(Long taskId, String cancelReason);
+
+    /**
+     * 淇濆瓨浠诲姟鍙栨秷淇℃伅锛堝惈鍙栨秷浜猴級
+     * @param taskId
+     * @param cancelReason
+     * @param cancelBy
+     * @return
+     */
+    public int saveCancel(Long taskId, String cancelReason,String cancelBy,Date cancelTime);
     /**
      * 涓婁紶浠诲姟闄勪欢
      * 
@@ -311,5 +354,24 @@
      * @return 缁撴灉
      */
     public com.ruoyi.common.core.domain.AjaxResult cancelAssigneeReady(Long taskId, Long userId);
+    
+    /**
+     * 妫�鏌ヤ换鍔℃槸鍚﹂噸澶嶏紙鏍规嵁鑱旂郴浜虹數璇濆拰鍒涘缓鏃ユ湡锛�
+     * 
+     * @param phone 鑱旂郴浜虹數璇�
+     * @param createDate 浠诲姟鍒涘缓鏃ユ湡锛堟牸寮忥細YYYY-MM-DD锛�
+     * @return true-瀛樺湪閲嶅锛宖alse-涓嶉噸澶�
+     */
+    public boolean checkTaskDuplicate(String phone, String createDate);
+
+    /**
+     * 鎸夊垎鍏徃鎸夊ぉ缁熻褰曞崟鏁伴噺
+     *
+     * @param deptIds   鍒嗗叕鍙窱D鍒楄〃锛堜负null鎴栫┖鏃舵煡鍏ㄩ儴锛�
+     * @param startDate 寮�濮嬫棩鏈燂紝yyyy-MM-dd
+     * @param endDate   缁撴潫鏃ユ湡锛寉yyy-MM-dd
+     * @return 缁熻缁撴灉鍒楄〃
+     */
+    List<DeptOrderStatVO> selectDeptOrderStat(List<Long> deptIds, String startDate, String endDate);
 
 }

--
Gitblit v1.9.1