wlzboy
2 天以前 8cb5d3440208a3be3e772e65f1bd0ec63031ba62
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package com.ruoyi.system.mapper;
 
import java.util.Date;
import java.util.List;
 
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.TaskStatisticsVO;
import org.apache.ibatis.annotations.Param;
 
/**
 * 任务管理Mapper接口
 * 
 * @author ruoyi
 * @date 2024-01-15
 */
@DataSource(DataSourceType.MASTER)
public interface SysTaskMapper {
    
    /**
     * 查询任务管理
     * 
     * @param taskId 任务管理主键
     * @return 任务管理
     */
    public SysTask selectSysTaskByTaskId(Long taskId);
 
    /**
     * 查询任务管理列表
     * 
     * @param queryVO 任务管理
     * @return 任务管理集合
     */
    public List<SysTask> selectSysTaskList(TaskQueryVO queryVO);
 
    /**
     * 新增任务管理
     * 
     * @param sysTask 任务管理
     * @return 结果
     */
    public int insertSysTask(SysTask sysTask);
 
    /**
     * 修改任务管理
     * 
     * @param sysTask 任务管理
     * @return 结果
     */
    public int updateSysTask(SysTask sysTask);
 
    /**
     * 删除任务管理
     * 
     * @param taskId 任务管理主键
     * @return 结果
     */
    public int deleteSysTaskByTaskId(Long taskId);
 
    /**
     * 批量删除任务管理
     * 
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysTaskByTaskIds(Long[] taskIds);
 
    /**
     * 查询任务统计信息
     * 
     * @return 任务统计信息
     */
    public TaskStatisticsVO selectTaskStatistics();
 
    /**
     * 查询超时任务列表
     * 
     * @return 超时任务集合
     */
    public List<SysTask> selectOverdueTasks();
 
    /**
     * 查询我的任务列表
     * 
     * @param userId 用户ID
     * @return 我的任务集合
     */
    public List<SysTask> selectMyTasks(Long userId);
 
    /**
     * 根据任务编号查询任务
     * 
     * @param taskCode 任务编号
     * @return 任务信息
     */
    public SysTask selectSysTaskByTaskCode(String taskCode);
 
    /**
     * 查询指定日期前缀的最大任务编号
     * 
     * @param datePrefix 日期前缀(如:TASK20250923)
     * @return 最大任务编号
     */
    public String selectMaxTaskCodeByDatePrefix(String datePrefix);
 
    /**
     * 更新任务状态
     * 
     * @param sysTask 任务信息
     * @return 结果
     */
    public int updateTaskStatus(SysTask sysTask);
 
    /**
     * 分配任务
     * 
     * @param sysTask 任务信息
     * @return 结果
     */
    public int assignTask(SysTask sysTask);
 
    /**
     * 查询车辆正在进行中的任务
     * 正在进行中的任务是指状态不为:PENDING(待处理)、COMPLETED(已完成)、CANCELLED(已取消)的任务
     * 
     * @param vehicleId 车辆ID
     * @return 正在进行中的任务列表
     */
    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);
}