|
@@ -222,6 +222,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
|
|
|
|
|
|
for (ApsHazardInvestigationTemplateDo mainData : tempList) {
|
|
|
+
|
|
|
String tempId = mainData.getId();
|
|
|
// 获取本次需要生成任务的模板检查项
|
|
|
subList = templateZibiaoDos.stream()
|
|
@@ -259,7 +260,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
// 计划结束时间
|
|
|
Calendar endInstance = Calendar.getInstance();
|
|
|
startInstance.setTimeZone(TimeZone.getTimeZone("GMT+08:00")); // 设置时区为UTC
|
|
|
- ApsHazardInvestigationTemplateZibiaoDo updateGenerationDateDo = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
+ final ApsHazardInvestigationTemplateZibiaoDo[] updateGenerationDateDo = new ApsHazardInvestigationTemplateZibiaoDo[1];
|
|
|
// 因为存在计划开始和计划结束时间 所以需要将周期不同的数据单独提取出来处理
|
|
|
Map<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> groupByCycle = tempData.stream().collect(Collectors.groupingBy(ApsHazardInvestigationTemplateZibiaoDo::getInspectioncycle));
|
|
|
Map<String, List<ApsHazardInvestigationTemplateZibiaoDo>> dataMap = new HashMap<>();
|
|
@@ -269,6 +270,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
int cycle = task.getKey();
|
|
|
List<ApsHazardInvestigationTemplateZibiaoDo> tasks = task.getValue();
|
|
|
for (ApsHazardInvestigationTemplateZibiaoDo apsHazardInvestigationTemplateZibiaoDo : tasks) {
|
|
|
+ updateGenerationDateDo[0] = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
boolean sameDatePart = isSameDatePart(apsHazardInvestigationTemplateZibiaoDo.getGenerationdate(), today);
|
|
|
// 时间相同当天不再生成
|
|
|
if (sameDatePart) {
|
|
@@ -323,9 +325,9 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
// 移动到下一个周期
|
|
|
currentStart.add(Calendar.HOUR_OF_DAY, cycle);
|
|
|
}
|
|
|
- updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(currentStart.getTime());
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ updateGenerationDateDo[0].setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo[0].setGenerationdate(currentStart.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo[0]);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -354,22 +356,24 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
.filter(info -> info.getGenerationdate() == null ||
|
|
|
JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle()
|
|
|
).forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ updateGenerationDateDo[0] = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
|
|
|
- updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ updateGenerationDateDo[0].setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo[0].setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo[0]);
|
|
|
});
|
|
|
} else {
|
|
|
task.getValue()
|
|
|
.parallelStream()
|
|
|
.filter(info -> info.getGenerationdate() == null)
|
|
|
.forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ updateGenerationDateDo[0] = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
|
|
|
- updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ updateGenerationDateDo[0].setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo[0].setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo[0]);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -396,31 +400,18 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
for (Map.Entry<Integer, List<ApsHazardInvestigationTemplateZibiaoDo>> task : groupByCycle.entrySet()) {
|
|
|
endInstance.add(Calendar.MONTH, task.getKey() - 1);
|
|
|
// 如果当前时间是1月1号直接生成隐患任务
|
|
|
- if ((today.getMonth() == Month.JANUARY) && (today.getDayOfMonth() == 1)) {
|
|
|
- task.getValue()
|
|
|
- .parallelStream()
|
|
|
- .filter(info -> info.getGenerationdate() == null ||
|
|
|
- JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle())
|
|
|
- .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
- dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
-
|
|
|
- updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
- });
|
|
|
- } else {
|
|
|
- task.getValue().parallelStream()
|
|
|
- .filter(info -> info.getGenerationdate() == null)
|
|
|
- .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
- dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
-
|
|
|
- updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
- });
|
|
|
- }
|
|
|
+ task.getValue()
|
|
|
+ .parallelStream()
|
|
|
+ .filter(info -> info.getGenerationdate() == null ||
|
|
|
+ JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle())
|
|
|
+ .forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ updateGenerationDateDo[0] = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
+ dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
+ updateGenerationDateDo[0].setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo[0].setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo[0]);
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
} else if (SaveConstans.INSPECTION_CYCLE_UNIT.DAY.equals(checkCycleUnit)) {
|
|
|
// 对于天的任务 直接判断上次生成时间和当前时间相隔的天数是否满足要求
|
|
|
// 设置时间为23:59:59
|
|
@@ -440,10 +431,11 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|
|
.filter(info -> info.getGenerationdate() == null ||
|
|
|
JSCommonUtils.dateDifferenceExample(info.getGenerationdate(), today, checkCycleUnit) == info.getInspectioncycle())
|
|
|
.forEach(apsHazardInvestigationTemplateZibiaoDo -> {
|
|
|
+ updateGenerationDateDo[0] = new ApsHazardInvestigationTemplateZibiaoDo();
|
|
|
dataMap.computeIfAbsent(startInstance.getTime().getTime() + ";" + endInstance.getTime().getTime(), k -> new ArrayList<>()).add(apsHazardInvestigationTemplateZibiaoDo);
|
|
|
- updateGenerationDateDo.setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
- updateGenerationDateDo.setGenerationdate(startInstance.getTime());
|
|
|
- updateGenerationDateList.add(updateGenerationDateDo);
|
|
|
+ updateGenerationDateDo[0].setId(apsHazardInvestigationTemplateZibiaoDo.getId());
|
|
|
+ updateGenerationDateDo[0].setGenerationdate(startInstance.getTime());
|
|
|
+ updateGenerationDateList.add(updateGenerationDateDo[0]);
|
|
|
});
|
|
|
}
|
|
|
;
|