修改过滤接口
This commit is contained in:
parent
c500939a90
commit
d8d36480d8
|
|
@ -185,13 +185,40 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
|||
|
||||
@Override
|
||||
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 = 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<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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue