diff --git a/src/main/java/com/ruoyi/task/controller/convert/TaskStatControllerConvert.java b/src/main/java/com/ruoyi/task/controller/convert/TaskStatControllerConvert.java index 77e3148..d0365ce 100644 --- a/src/main/java/com/ruoyi/task/controller/convert/TaskStatControllerConvert.java +++ b/src/main/java/com/ruoyi/task/controller/convert/TaskStatControllerConvert.java @@ -27,7 +27,7 @@ public class TaskStatControllerConvert { dto.setMonth(apiDTO.getMonth()); dto.setTaskCategory(apiDTO.getTaskCategory()); dto.setTaskType(apiDTO.getTaskType()); - dto.setStatus(apiDTO.getStatus()); + dto.setStatusList(apiDTO.getStatusList()); dto.setRouteId(apiDTO.getRouteId()); dto.setUavId(apiDTO.getUavId()); return dto; diff --git a/src/main/java/com/ruoyi/task/service/dto/TaskStatQueryServiceDTO.java b/src/main/java/com/ruoyi/task/service/dto/TaskStatQueryServiceDTO.java index 94e4fbe..58bd743 100644 --- a/src/main/java/com/ruoyi/task/service/dto/TaskStatQueryServiceDTO.java +++ b/src/main/java/com/ruoyi/task/service/dto/TaskStatQueryServiceDTO.java @@ -4,6 +4,8 @@ import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.api.enums.TaskCategoryEnum; import com.ruoyi.task.api.enums.TaskTypeEnum; +import java.util.List; + /** * 任务统计查询DTO * @@ -24,8 +26,8 @@ public class TaskStatQueryServiceDTO { /** 任务类型 */ private TaskTypeEnum taskType; - /** 状态 */ - private StatusEnum status; + /** 状态列表 */ + private List statusList; /** 航线ID */ private Long routeId; @@ -65,12 +67,12 @@ public class TaskStatQueryServiceDTO { this.taskType = taskType; } - public StatusEnum getStatus() { - return status; + public List getStatusList() { + return statusList; } - public void setStatus(StatusEnum status) { - this.status = status; + public void setStatusList(List statusList) { + this.statusList = statusList; } public Long getRouteId() { 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 a4767a2..6648759 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java @@ -195,7 +195,6 @@ public class TaskServiceImpl implements ITaskService { Task task = new Task(); task.setRouteId(queryDTO.getRouteId()); task.setUavId(queryDTO.getUavId()); - task.setStatus(queryDTO.getStatus()); task.setTaskCategory(queryDTO.getTaskCategory()); task.setTaskType(queryDTO.getTaskType()); @@ -207,6 +206,12 @@ public class TaskServiceImpl implements ITaskService { for (Task t : tasks) { if (t.getStartTime() != null) { + // 如果指定了状态列表,则过滤状态 + if (queryDTO.getStatusList() != null && !queryDTO.getStatusList().isEmpty() + && !queryDTO.getStatusList().contains(t.getStatus())) { + continue; + } + calendar.setTime(t.getStartTime()); int year = calendar.get(Calendar.YEAR); if (year == queryDTO.getYear()) { @@ -228,7 +233,6 @@ public class TaskServiceImpl implements ITaskService { Task task = new Task(); task.setRouteId(queryDTO.getRouteId()); task.setUavId(queryDTO.getUavId()); - task.setStatus(queryDTO.getStatus()); task.setTaskCategory(queryDTO.getTaskCategory()); task.setTaskType(queryDTO.getTaskType()); @@ -240,6 +244,12 @@ public class TaskServiceImpl implements ITaskService { for (Task t : tasks) { if (t.getStartTime() != null) { + // 如果指定了状态列表,则过滤状态 + if (queryDTO.getStatusList() != null && !queryDTO.getStatusList().isEmpty() + && !queryDTO.getStatusList().contains(t.getStatus())) { + continue; + } + calendar.setTime(t.getStartTime()); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1;