From 1610ef8ed4c8145e0c610967340c58bcc81997ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Fri, 6 Mar 2026 10:52:23 +0800 Subject: [PATCH] xx --- .../task/service/impl/TaskServiceImpl.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java index fa95b91..2ad03e0 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java @@ -35,14 +35,41 @@ public class TaskServiceImpl implements ITaskService { @Override public List 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 = new Task(); task.setRouteId(queryDTO.getRouteId()); + task.setUavId(queryDTO.getUavId()); task.setStatus(queryDTO.getStatus()); task.setTaskCategory(queryDTO.getTaskCategory()); task.setTaskType(queryDTO.getTaskType()); + task.setExecuteType(queryDTO.getExecuteType()); + + // 这里需要注意:Task类中没有airportCode、PlanTypeEnum和CycleTypeEnum字段, + // 这些字段可能需要通过关联查询来实现过滤, + // 但目前我们先按照现有的结构实现基本过滤 List 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); }