wlzboy
6 天以前 09e6dc3fb7266620fafb5e341808a8eb36e080a1
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
package com.ruoyi.system.service;
 
import com.ruoyi.system.domain.SysTaskVehicle;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
 
/**
 * 任务车辆服务接口
 * 
 * @author ruoyi
 */
public interface ISysTaskVehicleService {
 
    /**
     * 查询任务车辆关联列表
     * 
     * @param sysTaskVehicle 任务车辆关联
     * @return 任务车辆关联集合
     */
    List<SysTaskVehicle> selectSysTaskVehicleList(SysTaskVehicle sysTaskVehicle);
 
    /**
     * 查询任务车辆关联信息
     * 
     * @param id 任务车辆关联主键
     * @return 任务车辆关联信息
     */
    SysTaskVehicle selectSysTaskVehicleById(Long id);
 
    /**
     * 根据任务ID查询关联车辆列表
     * 
     * @param taskId 任务ID
     * @return 任务车辆关联集合
     */
    List<SysTaskVehicle> selectSysTaskVehicleByTaskId(Long taskId);
 
    /**
     * 新增任务车辆关联
     * 
     * @param sysTaskVehicle 任务车辆关联
     * @return 结果
     */
    int insertSysTaskVehicle(SysTaskVehicle sysTaskVehicle);
 
    /**
     * 修改任务车辆关联
     * 
     * @param sysTaskVehicle 任务车辆关联
     * @return 结果
     */
    int updateSysTaskVehicle(SysTaskVehicle sysTaskVehicle);
 
    /**
     * 删除任务车辆关联信息
     * 
     * @param id 任务车辆关联主键
     * @return 结果
     */
    int deleteSysTaskVehicleById(Long id);
 
    /**
     * 批量删除任务车辆关联信息
     * 
     * @param ids 需要删除的主键集合
     * @return 结果
     */
    int deleteSysTaskVehicleByIds(Long[] ids);
 
    /**
     * 更新任务车辆关联状态
     * 
     * @param id 任务车辆关联主键
     * @param status 状态
     * @return 结果
     */
    int updateSysTaskVehicleStatus(Long id, String status);
 
    /**
     * 批量获取车辆当前任务状态
     * 
     * @param vehicleIds 车辆ID列表
     * @return 车辆任务状态映射
     */
    Map<Long, Map<String, Object>> batchGetVehicleCurrentTaskStatus(List<Long> vehicleIds);
 
    /**
     * 保存任务车辆关联
     * 
     * @param taskId 任务ID
     * @param vehicleIds 车辆ID列表
     * @param userName 操作人用户名
     */
    void saveTaskVehicles(Long taskId, List<Long> vehicleIds, String userName);
 
    /**
     * 保存任务车辆关联(指定时间)
     * 
     * @param taskId 任务ID
     * @param vehicleIds 车辆ID列表
     * @param userName 操作人用户名
     * @param assignTime 分配时间
     * @param createTime 创建时间
     * @param updateTime 更新时间
     */
    void saveTaskVehicles(Long taskId, List<Long> vehicleIds, String userName, 
                          Date assignTime, Date createTime, Date updateTime);
 
    /**
     * 更新任务车辆关联
     * 
     * @param taskId 任务ID
     * @param newVehicleIds 新的车辆ID列表
     * @param userName 操作人用户名
     * @return 是否有变更
     */
    boolean updateTaskVehicles(Long taskId, List<Long> newVehicleIds, String userName);
     /*
     * @param taskId 任务ID
     * @param vehicleId 车辆ID
     * @param remark 备注
     * @param userId 操作人ID
     * @param userName 操作人用户名
     * @return 结果
     */
    int assignVehicleToTask(Long taskId, Long vehicleId, String remark, Long userId, String userName);
 
    /**
     * 取消任务车辆分配
     * 
     * @param taskId 任务ID
     * @param vehicleId 车辆ID
     * @return 结果
     */
    int unassignVehicleFromTask(Long taskId, Long vehicleId);
 
    /**
     * 批量分配车辆给任务
     * 
     * @param taskId 任务ID
     * @param vehicleIds 车辆ID列表
     * @param remark 备注
     * @param userId 操作人ID
     * @param userName 操作人用户名
     * @return 结果
     */
    int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark, Long userId, String userName);
 
    /**
     * 查询任务关联的车辆
     * 
     * @param taskId 任务ID
     * @return 任务车辆关联列表
     */
    List<SysTaskVehicle> getTaskVehicles(Long taskId);
 
    /**
     * 查询可用车辆
     * 
     * @param deptId 部门ID
     * @param taskType 任务类型
     * @return 可用车辆列表
     */
    List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType);
 
    /**
     * 删除任务的所有车辆关联
     * 
     * @param taskId 任务ID
     * @return 结果
     */
    int deleteTaskVehiclesByTaskId(Long taskId);
 
    /**
     * 检查车辆是否已分配给任务
     * 
     * @param taskId 任务ID
     * @param vehicleId 车辆ID
     * @return true-已分配,false-未分配
     */
    boolean checkVehicleAssigned(Long taskId, Long vehicleId);
}