This commit is contained in:
parent
589302a37d
commit
1610ef8ed4
|
|
@ -35,14 +35,41 @@ public class TaskServiceImpl implements ITaskService {
|
|||
|
||||
@Override
|
||||
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 = 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<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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue