From 2d4d43ff9ad0e9e48d4e146c7bc8b7a14a7c22ac Mon Sep 17 00:00:00 2001 From: cxw <1520264117@qq.com> Date: Thu, 14 Nov 2024 13:38:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B4=AA=E6=B0=B4=E9=A2=84?= =?UTF-8?q?=E6=8A=A5=E8=87=AA=E5=8A=A8=E6=89=A7=E8=A1=8C=E6=96=B9=E6=A1=88?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ForecastTaskController.java | 22 +++++++++---------- .../project/xyt/model/ForecastTask.java | 16 ++++++++++++++ .../project/xyt/schedule/TaskGroupJob.java | 8 ++++++- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java b/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java index cdf54b5..a91caa0 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/ForecastTaskController.java @@ -45,9 +45,9 @@ public class ForecastTaskController { public R insert(@Validated(Insert.class) @RequestBody ForecastTask dto) { dto.setId(IdWorker.getId()); boolean result = service.save(dto); -// if (result) { -// taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); -// } + if (result) { + taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); + } return R.ok(result ? dto : null); } @@ -61,11 +61,11 @@ public class ForecastTaskController { dto.setChtm(oldTask.getChtm()); dto.setUpdateTm(new Date()); boolean result = service.updateById(dto); -// if (result) { -// // 先删除,再重新添加 -// taskGroupHandler.removeCronJob(String.valueOf(dto.getId())); -// taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); -// } + if (result) { + // 先删除,再重新添加 + taskGroupHandler.removeCronJob(String.valueOf(dto.getId())); + taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto); + } return R.ok(result ? dto : null); } @@ -73,9 +73,9 @@ public class ForecastTaskController { @GetMapping("/del/{id}") public R del(@Schema(name = "id") @PathVariable("id") Serializable id) { boolean b = service.removeById(id); -// if (b) { -// taskGroupHandler.removeCronJob((String) id); -// } + if (b) { + taskGroupHandler.removeCronJob((String) id); + } return R.ok(service.removeById(id)); } diff --git a/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java b/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java index 1eca9a2..a7544eb 100644 --- a/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java +++ b/src/main/java/com/gunshi/project/xyt/model/ForecastTask.java @@ -138,4 +138,20 @@ public class ForecastTask extends GenericPageParams implements Serializable { @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") @TableField(exist = false) private Date endTime; + + /** + * 上一次执行时间 + */ + @TableField(value="last_excute_tm") + @Schema(description="上一次执行时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date lastExcuteTm; + + /** + * 上一次结果保存时间 + */ + @TableField(value="last_resultsave_tm") + @Schema(description="上一次结果保存时间") + @JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8") + private Date lastResultsaveTm; } diff --git a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java b/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java index fa4cf35..ba6e6e5 100644 --- a/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java +++ b/src/main/java/com/gunshi/project/xyt/schedule/TaskGroupJob.java @@ -13,6 +13,7 @@ import com.gunshi.project.xyt.model.ForecastUseparam; import com.gunshi.project.xyt.service.AttResBaseService; import com.gunshi.project.xyt.service.ForecastProjectService; import com.gunshi.project.xyt.service.ForecastResultsService; +import com.gunshi.project.xyt.service.ForecastTaskService; import com.gunshi.project.xyt.service.ForecastUseparamService; import lombok.extern.slf4j.Slf4j; import org.quartz.Job; @@ -57,6 +58,8 @@ public class TaskGroupJob implements Job { @Autowired private ForecastProjectService forecastProjectService; + @Autowired + private ForecastTaskService forecastTaskService; @Override public void execute(JobExecutionContext context) throws JobExecutionException { @@ -65,6 +68,7 @@ public class TaskGroupJob implements Job { String jobId = (String) jdMap.get("jobId"); ForecastTask forecastTask = (ForecastTask) jdMap.get("forecastTask"); log.info("{}----TaskGroupJob-计划执行开始===>jobId:{}", sdf.format(nowDate), jobId); + forecastTask.setLastExcuteTm(nowDate); try { // 根据执行时间、预热期、预见期获取对应的预报、开始、结束时间 Date nowTime = sdfMinute.parse(sdf.format(nowDate)); @@ -112,7 +116,7 @@ public class TaskGroupJob implements Job { forecastProject.setProjectTm(nowTime); forecastProject.setStartTm(startTime); forecastProject.setEndTm(endTime); - forecastProject.setUserId("0000000000_系统"); + forecastProject.setUserId("1_系统"); forecastProject.setForecastPeriod(forecastPeriod); forecastProject.setForecastWarm(forecastWarm); forecastProject.setTimeInterval(forecastTask.getTimeInterval()); @@ -121,10 +125,12 @@ public class TaskGroupJob implements Job { boolean save = forecastProjectService.save(forecastProject); if (save) { forecastProjectService.saveForecastResults(forecastProject); + forecastTask.setLastResultsaveTm(nowDate); } } } } + forecastTaskService.updateById(forecastTask); } catch (Exception e) { throw new RuntimeException(e); }