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/mapper/SysTaskMapper.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 1 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTaskMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTaskMapper.java
index 6a914c5..c3e01e0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTaskMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTaskMapper.java
@@ -1,9 +1,16 @@
 package com.ruoyi.system.mapper;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.common.annotation.DataSource;
+import com.ruoyi.common.enums.DataSourceType;
 import com.ruoyi.system.domain.SysTask;
 import com.ruoyi.system.domain.vo.TaskQueryVO;
+import com.ruoyi.system.domain.vo.DeptOrderStatVO;
 import com.ruoyi.system.domain.vo.TaskStatisticsVO;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 浠诲姟绠$悊Mapper鎺ュ彛
@@ -11,6 +18,7 @@
  * @author ruoyi
  * @date 2024-01-15
  */
+@DataSource(DataSourceType.MASTER)
 public interface SysTaskMapper {
     
     /**
@@ -24,7 +32,7 @@
     /**
      * 鏌ヨ浠诲姟绠$悊鍒楄〃
      * 
-     * @param sysTask 浠诲姟绠$悊
+     * @param queryVO 浠诲姟绠$悊
      * @return 浠诲姟绠$悊闆嗗悎
      */
     public List<SysTask> selectSysTaskList(TaskQueryVO queryVO);
@@ -92,6 +100,14 @@
     public SysTask selectSysTaskByTaskCode(String taskCode);
 
     /**
+     * 鏌ヨ鎸囧畾鏃ユ湡鍓嶇紑鐨勬渶澶т换鍔$紪鍙�
+     * 
+     * @param datePrefix 鏃ユ湡鍓嶇紑锛堝锛歍ASK20250923锛�
+     * @return 鏈�澶т换鍔$紪鍙�
+     */
+    public String selectMaxTaskCodeByDatePrefix(String datePrefix);
+
+    /**
      * 鏇存柊浠诲姟鐘舵��
      * 
      * @param sysTask 浠诲姟淇℃伅
@@ -106,4 +122,61 @@
      * @return 缁撴灉
      */
     public int assignTask(SysTask sysTask);
+
+    /**
+     * 鏌ヨ杞﹁締姝e湪杩涜涓殑浠诲姟
+     * 姝e湪杩涜涓殑浠诲姟鏄寚鐘舵�佷笉涓猴細PENDING锛堝緟澶勭悊锛夈�丆OMPLETED锛堝凡瀹屾垚锛夈�丆ANCELLED锛堝凡鍙栨秷锛夌殑浠诲姟
+     * 
+     * @param vehicleId 杞﹁締ID
+     * @return 姝e湪杩涜涓殑浠诲姟鍒楄〃
+     */
+    public List<SysTask> selectActiveTasksByVehicleId(Long vehicleId);
+
+    /**
+     * 鏍规嵁鏃堕棿鍜岃溅杈嗘潵鏌ヨ璇ヨ溅杈嗘槸鍚︽鍦ㄤ换鍔′腑
+     * @param vehicleId
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public List<SysTask> selectTaskByVehicleIdAndDate(@Param("vehicleId") Long vehicleId,
+                                                      @Param("startTime") String startTime,
+                                                      @Param("endTime") String endTime);
+    
+    /**
+     * 鏍规嵁鑱旂郴浜虹數璇濆拰鍒涘缓鏃ユ湡鏌ヨ浠诲姟鏁伴噺
+     * 
+     * @param phone 鑱旂郴浜虹數璇�
+     * @param createDate 浠诲姟鍒涘缓鏃ユ湡锛堟牸寮忥細YYYY-MM-DD锛�
+     * @return 浠诲姟鏁伴噺
+     */
+    public int countTaskByPhoneAndDate(@Param("phone") String phone, @Param("createDate") String createDate);
+    
+    /**
+     * 鏌ヨ杞﹁締鍦ㄦ寚瀹氭椂闂磋寖鍥村唴鐨勪换鍔″垪琛�
+     * 
+     * @param params 鍖呭惈vehicleId銆乻tartTime銆乪ndTime鐨勫弬鏁癕ap
+     * @return 浠诲姟鍒楄〃
+     */
+    public List<SysTask> selectVehicleTasksInTimeRange(Map<String, Object> params);
+    
+    /**
+     * 浼樺寲鐨勫鐮佹煡璇㈡柟娉曪紝鍏宠仈sys_task_emergency琛ㄥ苟璁$畻dispatchCode鍜宻erviceCode
+     * 
+     * @param queryVO 浠诲姟鏌ヨ瀵硅薄
+     * @return 浠诲姟绠$悊闆嗗悎
+     */
+    public List<SysTask> selectSysTaskListByMultiCodeOptimized(TaskQueryVO queryVO);
+    /**
+     * 鎸夊垎鍏徃鎸夊ぉ缁熻褰曞崟鏁伴噺
+     *
+     * @param deptIds   鍒嗗叕鍙窱D鍒楄〃锛堜负null鏃舵煡鍏ㄩ儴锛�
+     * @param startDate 寮�濮嬫棩鏈燂紝yyyy-MM-dd
+     * @param endDate   缁撴潫鏃ユ湡锛寉yyy-MM-dd
+     * @return 缁熻缁撴灉鍒楄〃
+     */
+    List<DeptOrderStatVO> selectDeptOrderStat(
+            @Param("deptIds") List<Long> deptIds,
+            @Param("startDate") String startDate,
+            @Param("endDate") String endDate);
 }

--
Gitblit v1.9.1