修改过滤接口

This commit is contained in:
孙小云 2026-03-06 10:38:28 +08:00
parent c500939a90
commit d8d36480d8
1 changed files with 27 additions and 0 deletions

View File

@ -185,13 +185,40 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
@Override @Override
public List<TaskPlanDTO> getTaskPlanList(TaskPlanQueryDTO queryDTO) { public List<TaskPlanDTO> 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 taskPlan = new TaskPlan(); TaskPlan taskPlan = new TaskPlan();
taskPlan.setRouteId(queryDTO.getRouteId()); taskPlan.setRouteId(queryDTO.getRouteId());
taskPlan.setUavId(queryDTO.getUavId());
taskPlan.setStatus(queryDTO.getStatus()); taskPlan.setStatus(queryDTO.getStatus());
taskPlan.setPlanType(queryDTO.getPlanType()); taskPlan.setPlanType(queryDTO.getPlanType());
taskPlan.setCycleType(queryDTO.getCycleType());
// 这里需要注意TaskPlan类中没有airportCode和routeName字段
// 这些字段可能需要通过关联查询来实现过滤
// 但目前我们先按照现有的结构实现基本过滤
List<TaskPlan> taskPlans = taskPlanDomain.getTaskPlanList(taskPlan); List<TaskPlan> 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); return TaskPlanDTOConvert.toDTOList(taskPlans);
} }