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); }