a-tuoheng-task/src/main/java/com/ruoyi/task/service/api/ITaskService.java

113 lines
2.7 KiB
Java

package com.ruoyi.task.service.api;
import com.ruoyi.task.api.domain.TaskResultVO;
import com.ruoyi.task.api.enums.StatusEnum;
import com.ruoyi.task.service.dto.TaskDTO;
import com.ruoyi.task.service.dto.TaskQueryDTO;
import com.ruoyi.task.service.dto.TaskStatQueryServiceDTO;
import com.ruoyi.task.service.dto.TaskStatByYearServiceDTO;
import com.ruoyi.task.service.dto.TaskStatByMonthServiceDTO;
import java.util.List;
public interface ITaskService {
/**
* 创建无关联计划的任务
* @param taskDTO 任务DTO
* @return 任务ID
*/
Long createTaskWithoutPlan(TaskDTO taskDTO);
/**
* 根据ID获取任务
* @param taskId 任务ID
* @return 任务DTO
*/
TaskDTO getTaskById(Long taskId);
/**
* 复杂条件查询任务列表
* @param queryDTO 查询条件DTO
* @return 任务列表
*/
List<TaskDTO> getTaskList(TaskQueryDTO queryDTO);
/**
* 更新任务
* @param taskDTO 任务DTO
* @return 是否成功
*/
boolean updateTask(TaskDTO taskDTO);
/**
* 删除任务
* @param taskId 任务ID
* @return 是否成功
*/
boolean deleteTask(Long taskId);
/**
* 根据无人机ID查询任务列表
* @param uavId 无人机ID
* @return 任务列表
*/
List<TaskDTO> getTaskByUavId(String uavId);
/**
* 根据无人机ID获取最新的一条任务
* @param uavId 无人机ID
* @return 任务DTO
*/
TaskDTO getCurrentTaskByUavId(String uavId);
// /**
// * 修改实际开始执行时间
// * @param taskId 任务ID
// * @return 是否成功
// */
// boolean updateActualStartTime(Long taskId);
//
// /**
// * 修改实际执行结束时间
// * @param taskId 任务ID
// * @return 是否成功
// */
// boolean updateActualEndTime(Long taskId);
/**
* 修改执行状态
* @param taskId 任务ID
* @param status 任务状态
* @return 是否成功
*/
boolean updateTaskStatus(Long taskId, TaskResultVO status);
/**
* 设置 recovery 为 true
* @param taskId 任务ID
* @return 是否成功
*/
boolean updateTaskRecovery(Long taskId);
/**
* 查询待自动执行的任务
* @return 待执行任务列表
*/
List<TaskDTO> getPendingTasksForAutoExecute();
/**
* 按年统计任务
* @param queryDTO 查询条件
* @return 按年统计结果
*/
TaskStatByYearServiceDTO getTaskStatByYear(TaskStatQueryServiceDTO queryDTO);
/**
* 按年月统计任务
* @param queryDTO 查询条件
* @return 按年月统计结果
*/
TaskStatByMonthServiceDTO getTaskStatByMonth(TaskStatQueryServiceDTO queryDTO);
}