| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import com.ruoyi.system.domain.SysTaskVehicle; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 任务车辆关联Service接口 |
| | | * 任务车辆服务接口 |
| | | * |
| | | * @author ruoyi |
| | | * @date 2024-01-15 |
| | | */ |
| | | public interface ISysTaskVehicleService { |
| | | |
| | | /** |
| | | * 查询任务车辆关联 |
| | | * |
| | | * @param id 任务车辆关联主键 |
| | | * @return 任务车辆关联 |
| | | */ |
| | | public SysTaskVehicle selectSysTaskVehicleById(Long id); |
| | | |
| | | /** |
| | | * 查询任务车辆关联列表 |
| | |
| | | * @param sysTaskVehicle 任务车辆关联 |
| | | * @return 任务车辆关联集合 |
| | | */ |
| | | public List<SysTaskVehicle> selectSysTaskVehicleList(SysTaskVehicle sysTaskVehicle); |
| | | List<SysTaskVehicle> selectSysTaskVehicleList(SysTaskVehicle sysTaskVehicle); |
| | | |
| | | /** |
| | | * 查询任务车辆关联信息 |
| | | * |
| | | * @param id 任务车辆关联主键 |
| | | * @return 任务车辆关联信息 |
| | | */ |
| | | SysTaskVehicle selectSysTaskVehicleById(Long id); |
| | | |
| | | /** |
| | | * 根据任务ID查询关联车辆列表 |
| | |
| | | * @param taskId 任务ID |
| | | * @return 任务车辆关联集合 |
| | | */ |
| | | public List<SysTaskVehicle> selectSysTaskVehicleByTaskId(Long taskId); |
| | | List<SysTaskVehicle> selectSysTaskVehicleByTaskId(Long taskId); |
| | | |
| | | /** |
| | | * 新增任务车辆关联 |
| | |
| | | * @param sysTaskVehicle 任务车辆关联 |
| | | * @return 结果 |
| | | */ |
| | | public int insertSysTaskVehicle(SysTaskVehicle sysTaskVehicle); |
| | | int insertSysTaskVehicle(SysTaskVehicle sysTaskVehicle); |
| | | |
| | | /** |
| | | * 修改任务车辆关联 |
| | |
| | | * @param sysTaskVehicle 任务车辆关联 |
| | | * @return 结果 |
| | | */ |
| | | public int updateSysTaskVehicle(SysTaskVehicle sysTaskVehicle); |
| | | |
| | | /** |
| | | * 批量删除任务车辆关联 |
| | | * |
| | | * @param ids 需要删除的任务车辆关联主键集合 |
| | | * @return 结果 |
| | | */ |
| | | public int deleteSysTaskVehicleByIds(Long[] ids); |
| | | int updateSysTaskVehicle(SysTaskVehicle sysTaskVehicle); |
| | | |
| | | /** |
| | | * 删除任务车辆关联信息 |
| | |
| | | * @param id 任务车辆关联主键 |
| | | * @return 结果 |
| | | */ |
| | | public int deleteSysTaskVehicleById(Long id); |
| | | int deleteSysTaskVehicleById(Long id); |
| | | |
| | | /** |
| | | * 根据任务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 |
| | | * @return 结果 |
| | | * @param vehicleIds 车辆ID列表 |
| | | * @param userName 操作人用户名 |
| | | */ |
| | | public int deleteSysTaskVehicleByTaskId(Long taskId); |
| | | void saveTaskVehicles(Long taskId, List<Long> vehicleIds, String userName); |
| | | |
| | | /** |
| | | * 根据任务ID和车辆ID删除关联 |
| | | * 保存任务车辆关联(指定时间) |
| | | * |
| | | * @param taskId 任务ID |
| | | * @param vehicleId 车辆ID |
| | | * @return 结果 |
| | | * @param vehicleIds 车辆ID列表 |
| | | * @param userName 操作人用户名 |
| | | * @param assignTime 分配时间 |
| | | * @param createTime 创建时间 |
| | | * @param updateTime 更新时间 |
| | | */ |
| | | public int deleteSysTaskVehicleByTaskIdAndVehicleId(Long taskId, Long vehicleId); |
| | | void saveTaskVehicles(Long taskId, List<Long> vehicleIds, String userName, |
| | | Date assignTime, Date createTime, Date updateTime); |
| | | |
| | | /** |
| | | * 检查任务车辆关联是否存在 |
| | | * 更新任务车辆关联 |
| | | * |
| | | * @param taskId 任务ID |
| | | * @param vehicleId 车辆ID |
| | | * @return 结果 |
| | | * @param newVehicleIds 新的车辆ID列表 |
| | | * @param userName 操作人用户名 |
| | | * @return 是否有变更 |
| | | */ |
| | | public int checkTaskVehicleExists(Long taskId, Long vehicleId); |
| | | |
| | | /** |
| | | * 批量新增任务车辆关联 |
| | | * |
| | | * @param sysTaskVehicleList 任务车辆关联列表 |
| | | * @return 结果 |
| | | */ |
| | | public int batchInsertSysTaskVehicle(List<SysTaskVehicle> sysTaskVehicleList); |
| | | |
| | | /** |
| | | * 分配车辆给任务 |
| | | * |
| | | boolean updateTaskVehicles(Long taskId, List<Long> newVehicleIds, String userName); |
| | | /* |
| | | * @param taskId 任务ID |
| | | * @param vehicleId 车辆ID |
| | | * @param remark 备注 |
| | | * @param userId 操作人ID |
| | | * @param userName 操作人用户名 |
| | | * @return 结果 |
| | | */ |
| | | public int assignVehicleToTask(Long taskId, Long vehicleId, String remark); |
| | | int assignVehicleToTask(Long taskId, Long vehicleId, String remark, Long userId, String userName); |
| | | |
| | | /** |
| | | * 取消任务车辆分配 |
| | |
| | | * @param vehicleId 车辆ID |
| | | * @return 结果 |
| | | */ |
| | | public int unassignVehicleFromTask(Long taskId, Long vehicleId); |
| | | int unassignVehicleFromTask(Long taskId, Long vehicleId); |
| | | |
| | | /** |
| | | * 批量分配车辆给任务 |
| | |
| | | * @param taskId 任务ID |
| | | * @param vehicleIds 车辆ID列表 |
| | | * @param remark 备注 |
| | | * @param userId 操作人ID |
| | | * @param userName 操作人用户名 |
| | | * @return 结果 |
| | | */ |
| | | public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark); |
| | | int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark, Long userId, String userName); |
| | | |
| | | /** |
| | | * 查询任务关联的车辆 |
| | | * |
| | | * @param taskId 任务ID |
| | | * @return 任务车辆关联列表 |
| | | */ |
| | | List<SysTaskVehicle> getTaskVehicles(Long taskId); |
| | | |
| | | /** |
| | | * 查询可用车辆 |
| | |
| | | * @param taskType 任务类型 |
| | | * @return 可用车辆列表 |
| | | */ |
| | | public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType); |
| | | List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType); |
| | | |
| | | /** |
| | | * 更新任务车辆关联状态 |
| | | * 删除任务的所有车辆关联 |
| | | * |
| | | * @param id 关联ID |
| | | * @param status 新状态 |
| | | * @param taskId 任务ID |
| | | * @return 结果 |
| | | */ |
| | | public int updateTaskVehicleStatus(Long id, String status); |
| | | int deleteTaskVehiclesByTaskId(Long taskId); |
| | | |
| | | /** |
| | | * 批量获取车辆当前任务状态 |
| | | * 检查车辆是否已分配给任务 |
| | | * |
| | | * @param vehicleIds 车辆ID列表 |
| | | * @return Map<车辆ID, Map<"taskCode": 任务编号, "taskStatus": 任务状态>> |
| | | * @param taskId 任务ID |
| | | * @param vehicleId 车辆ID |
| | | * @return true-已分配,false-未分配 |
| | | */ |
| | | public Map<Long, Map<String, Object>> batchGetVehicleCurrentTaskStatus(List<Long> vehicleIds); |
| | | |
| | | /** |
| | | * 更新任务车辆关联状态(新方法) |
| | | * |
| | | * @param id 关联ID |
| | | * @param status 新状态 |
| | | * @return 结果 |
| | | */ |
| | | public int updateSysTaskVehicleStatus(Long id, String status); |
| | | boolean checkVehicleAssigned(Long taskId, Long vehicleId); |
| | | } |