From a3aa635f5935090636415ac488aaf40dd99e34fd 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 13:13:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/task/domain/model/TaskPlan.java | 2 +- .../service/impl/TaskPlanServiceImpl.java | 24 +++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ruoyi/task/domain/model/TaskPlan.java b/src/main/java/com/ruoyi/task/domain/model/TaskPlan.java index 4f8d785..cb784a9 100644 --- a/src/main/java/com/ruoyi/task/domain/model/TaskPlan.java +++ b/src/main/java/com/ruoyi/task/domain/model/TaskPlan.java @@ -39,7 +39,7 @@ public class TaskPlan { /** 结束日期 */ private Date endDate; - /** 执行时间(仅在定义任务时有效) */ + /** 执行时间 */ private Date executeTime; /** 航线ID */ 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 8d0ee0b..1c83f2c 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java @@ -152,8 +152,28 @@ public class TaskPlanServiceImpl implements ITaskPlanService { task.setExecuteType(taskPlan.getExecuteType()); task.setRouteId(taskPlan.getRouteId()); task.setUavId(taskPlan.getUavId()); - task.setStartTime(calendar.getTime()); - task.setEndTime(calendar.getTime()); + + // 设置任务开始时间:使用日历日期 + 计划的执行时间 + if (taskPlan.getExecuteTime() != null) { + java.util.Calendar taskCalendar = java.util.Calendar.getInstance(); + taskCalendar.setTime(calendar.getTime()); + java.util.Calendar executeTimeCalendar = java.util.Calendar.getInstance(); + executeTimeCalendar.setTime(taskPlan.getExecuteTime()); + taskCalendar.set(java.util.Calendar.HOUR_OF_DAY, executeTimeCalendar.get(java.util.Calendar.HOUR_OF_DAY)); + taskCalendar.set(java.util.Calendar.MINUTE, executeTimeCalendar.get(java.util.Calendar.MINUTE)); + taskCalendar.set(java.util.Calendar.SECOND, executeTimeCalendar.get(java.util.Calendar.SECOND)); + task.setStartTime(taskCalendar.getTime()); + + // 简单设置结束时间为开始时间后1小时(可根据实际需求调整) +// java.util.Calendar endTaskCalendar = (java.util.Calendar) taskCalendar.clone(); +// endTaskCalendar.add(java.util.Calendar.HOUR_OF_DAY, 1); +// task.setEndTime(endTaskCalendar.getTime()); + } else { + // 如果没有设置执行时间,使用日历时间作为开始和结束时间 + task.setStartTime(calendar.getTime()); + task.setEndTime(calendar.getTime()); + } + task.setStatus(StatusEnum.PENDING); // 待执行 task.setDescription("由任务计划自动创建");