修复洪水预报自动执行方案任务执行

master
cxw 2024-11-14 14:48:14 +08:00
parent 2d4d43ff9a
commit e3f6304665
2 changed files with 6 additions and 8 deletions

View File

@ -19,13 +19,11 @@ import lombok.extern.slf4j.Slf4j;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@ -62,7 +60,7 @@ public class TaskGroupJob implements Job {
private ForecastTaskService forecastTaskService;
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
public void execute(JobExecutionContext context) {
Date nowDate = new Date();
JobDataMap jdMap = context.getJobDetail().getJobDataMap();
String jobId = (String) jdMap.get("jobId");
@ -71,7 +69,7 @@ public class TaskGroupJob implements Job {
forecastTask.setLastExcuteTm(nowDate);
try {
// 根据执行时间、预热期、预见期获取对应的预报、开始、结束时间
Date nowTime = sdfMinute.parse(sdf.format(nowDate));
Date nowTime = sdfMinute.parse(sdfMinute.format(nowDate));
Date forecastTime = nowTime;
Date startTime;
Date endTime;
@ -134,6 +132,6 @@ public class TaskGroupJob implements Job {
} catch (Exception e) {
throw new RuntimeException(e);
}
log.info("{}----TaskGroupJob-计划执行结束===>jobId:{}", sdf.format(LocalDateTime.now()), jobId);
log.info("{}----TaskGroupJob-计划执行结束===>jobId:{}", sdf.format(new Date()), jobId);
}
}

View File

@ -36,9 +36,9 @@ public class TaskGroupJobRunner implements CommandLineRunner {
@Override
public void run(String... args) {
// 初始加载数据库里状态为正常的定时任务
List<ForecastTask> TaskList = forecastTaskService.list(new QueryWrapper<ForecastTask>().eq("status", "0"));
if (CollectionUtils.isNotEmpty(TaskList)) {
Map<Long, ForecastTask> jobMap = TaskList.stream()
List<ForecastTask> taskList = forecastTaskService.list(new QueryWrapper<ForecastTask>().eq("status", "0"));
if (CollectionUtils.isNotEmpty(taskList)) {
Map<Long, ForecastTask> jobMap = taskList.stream()
.collect(Collectors.toMap(ForecastTask::getId, Function.identity(), (key1, key2)->key2));
for (Map.Entry<Long, ForecastTask> entry : jobMap.entrySet()) {
taskGroupHandler.addCronJob(String.valueOf(entry.getKey()), entry.getValue());