修复洪水预报自动执行方案任务
parent
f6b357f5bb
commit
2d4d43ff9a
|
|
@ -45,9 +45,9 @@ public class ForecastTaskController {
|
||||||
public R<ForecastTask> insert(@Validated(Insert.class) @RequestBody ForecastTask dto) {
|
public R<ForecastTask> insert(@Validated(Insert.class) @RequestBody ForecastTask dto) {
|
||||||
dto.setId(IdWorker.getId());
|
dto.setId(IdWorker.getId());
|
||||||
boolean result = service.save(dto);
|
boolean result = service.save(dto);
|
||||||
// if (result) {
|
if (result) {
|
||||||
// taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto);
|
taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto);
|
||||||
// }
|
}
|
||||||
return R.ok(result ? dto : null);
|
return R.ok(result ? dto : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -61,11 +61,11 @@ public class ForecastTaskController {
|
||||||
dto.setChtm(oldTask.getChtm());
|
dto.setChtm(oldTask.getChtm());
|
||||||
dto.setUpdateTm(new Date());
|
dto.setUpdateTm(new Date());
|
||||||
boolean result = service.updateById(dto);
|
boolean result = service.updateById(dto);
|
||||||
// if (result) {
|
if (result) {
|
||||||
// // 先删除,再重新添加
|
// 先删除,再重新添加
|
||||||
// taskGroupHandler.removeCronJob(String.valueOf(dto.getId()));
|
taskGroupHandler.removeCronJob(String.valueOf(dto.getId()));
|
||||||
// taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto);
|
taskGroupHandler.addCronJob(String.valueOf(dto.getId()), dto);
|
||||||
// }
|
}
|
||||||
return R.ok(result ? dto : null);
|
return R.ok(result ? dto : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -73,9 +73,9 @@ public class ForecastTaskController {
|
||||||
@GetMapping("/del/{id}")
|
@GetMapping("/del/{id}")
|
||||||
public R<Boolean> del(@Schema(name = "id") @PathVariable("id") Serializable id) {
|
public R<Boolean> del(@Schema(name = "id") @PathVariable("id") Serializable id) {
|
||||||
boolean b = service.removeById(id);
|
boolean b = service.removeById(id);
|
||||||
// if (b) {
|
if (b) {
|
||||||
// taskGroupHandler.removeCronJob((String) id);
|
taskGroupHandler.removeCronJob((String) id);
|
||||||
// }
|
}
|
||||||
return R.ok(service.removeById(id));
|
return R.ok(service.removeById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -138,4 +138,20 @@ public class ForecastTask extends GenericPageParams implements Serializable {
|
||||||
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
|
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private Date endTime;
|
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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import com.gunshi.project.xyt.model.ForecastUseparam;
|
||||||
import com.gunshi.project.xyt.service.AttResBaseService;
|
import com.gunshi.project.xyt.service.AttResBaseService;
|
||||||
import com.gunshi.project.xyt.service.ForecastProjectService;
|
import com.gunshi.project.xyt.service.ForecastProjectService;
|
||||||
import com.gunshi.project.xyt.service.ForecastResultsService;
|
import com.gunshi.project.xyt.service.ForecastResultsService;
|
||||||
|
import com.gunshi.project.xyt.service.ForecastTaskService;
|
||||||
import com.gunshi.project.xyt.service.ForecastUseparamService;
|
import com.gunshi.project.xyt.service.ForecastUseparamService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.quartz.Job;
|
import org.quartz.Job;
|
||||||
|
|
@ -57,6 +58,8 @@ public class TaskGroupJob implements Job {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ForecastProjectService forecastProjectService;
|
private ForecastProjectService forecastProjectService;
|
||||||
|
@Autowired
|
||||||
|
private ForecastTaskService forecastTaskService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(JobExecutionContext context) throws JobExecutionException {
|
public void execute(JobExecutionContext context) throws JobExecutionException {
|
||||||
|
|
@ -65,6 +68,7 @@ public class TaskGroupJob implements Job {
|
||||||
String jobId = (String) jdMap.get("jobId");
|
String jobId = (String) jdMap.get("jobId");
|
||||||
ForecastTask forecastTask = (ForecastTask) jdMap.get("forecastTask");
|
ForecastTask forecastTask = (ForecastTask) jdMap.get("forecastTask");
|
||||||
log.info("{}----TaskGroupJob-计划执行开始===>jobId:{}", sdf.format(nowDate), jobId);
|
log.info("{}----TaskGroupJob-计划执行开始===>jobId:{}", sdf.format(nowDate), jobId);
|
||||||
|
forecastTask.setLastExcuteTm(nowDate);
|
||||||
try {
|
try {
|
||||||
// 根据执行时间、预热期、预见期获取对应的预报、开始、结束时间
|
// 根据执行时间、预热期、预见期获取对应的预报、开始、结束时间
|
||||||
Date nowTime = sdfMinute.parse(sdf.format(nowDate));
|
Date nowTime = sdfMinute.parse(sdf.format(nowDate));
|
||||||
|
|
@ -112,7 +116,7 @@ public class TaskGroupJob implements Job {
|
||||||
forecastProject.setProjectTm(nowTime);
|
forecastProject.setProjectTm(nowTime);
|
||||||
forecastProject.setStartTm(startTime);
|
forecastProject.setStartTm(startTime);
|
||||||
forecastProject.setEndTm(endTime);
|
forecastProject.setEndTm(endTime);
|
||||||
forecastProject.setUserId("0000000000_系统");
|
forecastProject.setUserId("1_系统");
|
||||||
forecastProject.setForecastPeriod(forecastPeriod);
|
forecastProject.setForecastPeriod(forecastPeriod);
|
||||||
forecastProject.setForecastWarm(forecastWarm);
|
forecastProject.setForecastWarm(forecastWarm);
|
||||||
forecastProject.setTimeInterval(forecastTask.getTimeInterval());
|
forecastProject.setTimeInterval(forecastTask.getTimeInterval());
|
||||||
|
|
@ -121,10 +125,12 @@ public class TaskGroupJob implements Job {
|
||||||
boolean save = forecastProjectService.save(forecastProject);
|
boolean save = forecastProjectService.save(forecastProject);
|
||||||
if (save) {
|
if (save) {
|
||||||
forecastProjectService.saveForecastResults(forecastProject);
|
forecastProjectService.saveForecastResults(forecastProject);
|
||||||
|
forecastTask.setLastResultsaveTm(nowDate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
forecastTaskService.updateById(forecastTask);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue