This commit is contained in:
孙小云 2026-03-06 10:52:23 +08:00
parent 589302a37d
commit 1610ef8ed4
1 changed files with 27 additions and 0 deletions

View File

@ -35,14 +35,41 @@ public class TaskServiceImpl implements ITaskService {
@Override @Override
public List<TaskDTO> getTaskList(TaskQueryDTO queryDTO) { public List<TaskDTO> getTaskList(TaskQueryDTO queryDTO) {
// 如果传递了id功能就等同于用ID去获取值
if (queryDTO.getId() != null) {
TaskDTO taskDTO = getTaskById(queryDTO.getId());
return taskDTO != null ? java.util.Collections.singletonList(taskDTO) : java.util.Collections.emptyList();
}
// 创建Task对象作为查询条件 // 创建Task对象作为查询条件
Task task = new Task(); Task task = new Task();
task.setRouteId(queryDTO.getRouteId()); task.setRouteId(queryDTO.getRouteId());
task.setUavId(queryDTO.getUavId());
task.setStatus(queryDTO.getStatus()); task.setStatus(queryDTO.getStatus());
task.setTaskCategory(queryDTO.getTaskCategory()); task.setTaskCategory(queryDTO.getTaskCategory());
task.setTaskType(queryDTO.getTaskType()); task.setTaskType(queryDTO.getTaskType());
task.setExecuteType(queryDTO.getExecuteType());
// 这里需要注意Task类中没有airportCodePlanTypeEnum和CycleTypeEnum字段
// 这些字段可能需要通过关联查询来实现过滤
// 但目前我们先按照现有的结构实现基本过滤
List<Task> tasks = taskDomain.getTaskList(task); List<Task> tasks = taskDomain.getTaskList(task);
// 过滤时间范围只有当startTimeStart和startTimeEnd都传时才使用
if (queryDTO.getStartTimeStart() != null && queryDTO.getStartTimeEnd() != null) {
java.util.Date startTimeStart = queryDTO.getStartTimeStart();
java.util.Date startTimeEnd = queryDTO.getStartTimeEnd();
tasks = tasks.stream()
.filter(t -> {
java.util.Date taskStartTime = t.getStartTime();
return taskStartTime != null &&
!taskStartTime.before(startTimeStart) &&
!taskStartTime.after(startTimeEnd);
})
.collect(java.util.stream.Collectors.toList());
}
return TaskDTOConvert.toDTOList(tasks); return TaskDTOConvert.toDTOList(tasks);
} }