wlzboy
2 天以前 8cb5d3440208a3be3e772e65f1bd0ec63031ba62
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTaskVehicleService.java
@@ -1,23 +1,17 @@
package com.ruoyi.system.service;
import java.util.List;
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);
    /**
     * 查询任务车辆关联列表
@@ -25,7 +19,15 @@
     * @param sysTaskVehicle 任务车辆关联
     * @return 任务车辆关联集合
     */
    public List<SysTaskVehicle> selectSysTaskVehicleList(SysTaskVehicle sysTaskVehicle);
    List<SysTaskVehicle> selectSysTaskVehicleList(SysTaskVehicle sysTaskVehicle);
    /**
     * 查询任务车辆关联信息
     *
     * @param id 任务车辆关联主键
     * @return 任务车辆关联信息
     */
    SysTaskVehicle selectSysTaskVehicleById(Long id);
    /**
     * 根据任务ID查询关联车辆列表
@@ -33,7 +35,7 @@
     * @param taskId 任务ID
     * @return 任务车辆关联集合
     */
    public List<SysTaskVehicle> selectSysTaskVehicleByTaskId(Long taskId);
    List<SysTaskVehicle> selectSysTaskVehicleByTaskId(Long taskId);
    /**
     * 新增任务车辆关联
@@ -41,7 +43,7 @@
     * @param sysTaskVehicle 任务车辆关联
     * @return 结果
     */
    public int insertSysTaskVehicle(SysTaskVehicle sysTaskVehicle);
    int insertSysTaskVehicle(SysTaskVehicle sysTaskVehicle);
    /**
     * 修改任务车辆关联
@@ -49,15 +51,7 @@
     * @param sysTaskVehicle 任务车辆关联
     * @return 结果
     */
    public int updateSysTaskVehicle(SysTaskVehicle sysTaskVehicle);
    /**
     * 批量删除任务车辆关联
     *
     * @param ids 需要删除的任务车辆关联主键集合
     * @return 结果
     */
    public int deleteSysTaskVehicleByIds(Long[] ids);
    int updateSysTaskVehicle(SysTaskVehicle sysTaskVehicle);
    /**
     * 删除任务车辆关联信息
@@ -65,51 +59,73 @@
     * @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);
    /**
     * 取消任务车辆分配
@@ -118,7 +134,7 @@
     * @param vehicleId 车辆ID
     * @return 结果
     */
    public int unassignVehicleFromTask(Long taskId, Long vehicleId);
    int unassignVehicleFromTask(Long taskId, Long vehicleId);
    /**
     * 批量分配车辆给任务
@@ -126,9 +142,19 @@
     * @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);
    /**
     * 查询可用车辆
@@ -137,14 +163,22 @@
     * @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 taskId 任务ID
     * @param vehicleId 车辆ID
     * @return true-已分配,false-未分配
     */
    boolean checkVehicleAssigned(Long taskId, Long vehicleId);
}