From d8d36480d8ae201250ad8e31afe29b515160144d 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:38:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=87=E6=BB=A4=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TaskPlanServiceImpl.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java b/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java index a4ded21..b151bc7 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java @@ -185,13 +185,40 @@ public class TaskPlanServiceImpl implements ITaskPlanService { @Override public List getTaskPlanList(TaskPlanQueryDTO queryDTO) { + // 如果传递了id,功能就等同于getTaskPlanById + if (queryDTO.getId() != null) { + TaskPlanDTO taskPlanDTO = getTaskPlanById(queryDTO.getId()); + return taskPlanDTO != null ? java.util.Collections.singletonList(taskPlanDTO) : java.util.Collections.emptyList(); + } + // 创建TaskPlan对象作为查询条件 TaskPlan taskPlan = new TaskPlan(); taskPlan.setRouteId(queryDTO.getRouteId()); + taskPlan.setUavId(queryDTO.getUavId()); taskPlan.setStatus(queryDTO.getStatus()); taskPlan.setPlanType(queryDTO.getPlanType()); + taskPlan.setCycleType(queryDTO.getCycleType()); + + // 这里需要注意:TaskPlan类中没有airportCode和routeName字段, + // 这些字段可能需要通过关联查询来实现过滤, + // 但目前我们先按照现有的结构实现基本过滤 List taskPlans = taskPlanDomain.getTaskPlanList(taskPlan); + + // 过滤时间范围(只有当startDateStart和startDateEnd都传时才使用) + if (queryDTO.getStartDateStart() != null && queryDTO.getStartDateEnd() != null) { + java.util.Date startDateStart = queryDTO.getStartDateStart(); + java.util.Date startDateEnd = queryDTO.getStartDateEnd(); + taskPlans = taskPlans.stream() + .filter(plan -> { + java.util.Date planStartDate = plan.getStartDate(); + return planStartDate != null && + !planStartDate.before(startDateStart) && + !planStartDate.after(startDateEnd); + }) + .collect(java.util.stream.Collectors.toList()); + } + return TaskPlanDTOConvert.toDTOList(taskPlans); }