package com.ruoyi.system.service;
|
|
import java.util.List;
|
import org.springframework.web.multipart.MultipartFile;
|
import com.ruoyi.system.domain.SysTask;
|
import com.ruoyi.system.domain.SysTaskVehicle;
|
import com.ruoyi.system.domain.SysTaskAttachment;
|
import com.ruoyi.system.domain.vo.TaskQueryVO;
|
import com.ruoyi.system.domain.vo.TaskCreateVO;
|
import com.ruoyi.system.domain.vo.TaskUpdateVO;
|
import com.ruoyi.system.domain.vo.TaskStatisticsVO;
|
import com.ruoyi.system.domain.enums.TaskStatus;
|
|
/**
|
* 任务管理Service接口
|
*
|
* @author ruoyi
|
* @date 2024-01-15
|
*/
|
public interface ISysTaskService {
|
|
/**
|
* 查询任务管理
|
*
|
* @param taskId 任务管理主键
|
* @return 任务管理
|
*/
|
public SysTask selectSysTaskByTaskId(Long taskId);
|
|
/**
|
* 查询任务管理列表
|
*
|
* @param queryVO 任务查询对象
|
* @return 任务管理集合
|
*/
|
public List<SysTask> selectSysTaskList(TaskQueryVO queryVO);
|
|
/**
|
* 新增任务管理
|
*
|
* @param createVO 任务创建对象
|
* @return 结果
|
*/
|
public int insertSysTask(TaskCreateVO createVO);
|
|
/**
|
* 修改任务管理
|
*
|
* @param updateVO 任务更新对象
|
* @return 结果
|
*/
|
public int updateSysTask(TaskUpdateVO updateVO);
|
|
/**
|
* 批量删除任务管理
|
*
|
* @param taskIds 需要删除的任务管理主键集合
|
* @return 结果
|
*/
|
public int deleteSysTaskByTaskIds(Long[] taskIds);
|
|
/**
|
* 分配任务
|
*
|
* @param taskId 任务ID
|
* @param assigneeId 执行人ID
|
* @param remark 备注
|
* @return 结果
|
*/
|
public int assignTask(Long taskId, Long assigneeId, String remark);
|
|
/**
|
* 变更任务状态
|
*
|
* @param taskId 任务ID
|
* @param newStatus 新状态
|
* @param remark 备注
|
* @return 结果
|
*/
|
public int changeTaskStatus(Long taskId, TaskStatus newStatus, String remark);
|
|
/**
|
* 上传任务附件
|
*
|
* @param taskId 任务ID
|
* @param file 文件
|
* @return 结果
|
*/
|
public int uploadAttachment(Long taskId, MultipartFile file);
|
|
/**
|
* 删除任务附件
|
*
|
* @param attachmentId 附件ID
|
* @return 结果
|
*/
|
public int deleteAttachment(Long attachmentId);
|
|
/**
|
* 分配车辆给任务
|
*
|
* @param taskId 任务ID
|
* @param vehicleId 车辆ID
|
* @param remark 备注
|
* @return 结果
|
*/
|
public int assignVehicleToTask(Long taskId, Long vehicleId, String remark);
|
|
/**
|
* 取消任务车辆分配
|
*
|
* @param taskId 任务ID
|
* @param vehicleId 车辆ID
|
* @return 结果
|
*/
|
public int unassignVehicleFromTask(Long taskId, Long vehicleId);
|
|
/**
|
* 批量分配车辆给任务
|
*
|
* @param taskId 任务ID
|
* @param vehicleIds 车辆ID列表
|
* @param remark 备注
|
* @return 结果
|
*/
|
public int assignMultipleVehiclesToTask(Long taskId, List<Long> vehicleIds, String remark);
|
|
/**
|
* 查询任务关联的车辆
|
*
|
* @param taskId 任务ID
|
* @return 任务车辆关联列表
|
*/
|
public List<SysTaskVehicle> getTaskVehicles(Long taskId);
|
|
/**
|
* 查询可用车辆
|
*
|
* @param deptId 部门ID
|
* @param taskType 任务类型
|
* @return 可用车辆列表
|
*/
|
public List<SysTaskVehicle> getAvailableVehicles(Long deptId, String taskType);
|
|
/**
|
* 查询任务统计信息
|
*
|
* @return 任务统计信息
|
*/
|
public TaskStatisticsVO getTaskStatistics();
|
|
/**
|
* 查询超时任务列表
|
*
|
* @return 超时任务列表
|
*/
|
public List<SysTask> selectOverdueTasks();
|
|
/**
|
* 查询我的任务列表
|
*
|
* @param userId 用户ID
|
* @return 我的任务列表
|
*/
|
public List<SysTask> selectMyTasks(Long userId);
|
|
/**
|
* 获取任务详情(包含关联数据)
|
*
|
* @param taskId 任务ID
|
* @return 任务详情
|
*/
|
public SysTask getTaskDetail(Long taskId);
|
}
|