Исправил создание plannerAllToday если тек.день=ПН-ПТ и не задан clearingCalendar (т.е. нет записи).
This commit is contained in:
psemenkov 2023-05-19 19:41:05 +03:00
parent 8755f3e1ca
commit 2a8bda41e9

View file

@ -21,7 +21,7 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.scheduler.PlannerAllTodayBuilder;
import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.platform.enumeration.DayStatus;
import ru.spcex.platform.enumeration.Status;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
@ -106,7 +106,7 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
plannerTemplate.setSecurityId(req.getSecurityId());
plannerTemplateMap.insert(plannerTemplate);
if (todayWorkDay()) {
if (todayWorkDay() && Status.Active.equalsByKey(plannerTemplate.getTaskStatus())) {
PlannerAllToday plannerAllToday = PlannerAllTodayBuilder.builder().append(plannerTemplate).build();
plannerAllTodayMap.insert(plannerAllToday);
addToPlannerQueue(TaskManager.Process.add, plannerAllToday);
@ -143,7 +143,7 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
plannerAllToday.setId(oldPlannerAllToday.getId());
plannerAllTodayMap.insert(plannerAllToday);
addToPlannerQueue(TaskManager.Process.update, oldPlannerAllToday);
}else {
} else if (Status.Active.equalsByKey(plannerTemplate.getTaskStatus())) {
plannerAllTodayMap.insert(plannerAllToday);
addToPlannerQueue(TaskManager.Process.add, plannerAllToday);
}
@ -165,7 +165,7 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
if (todayWorkDay()) {
PlannerAllToday plannerAllToday = plannerAllTodayMap.getSingleObjectBySQL(String.format("parentId = %s", plannerTemplate.getId()));
if (plannerAllToday != null){
if (plannerAllToday != null) {
plannerAllTodayMap.delete(plannerAllToday);
addToPlannerQueue(TaskManager.Process.delete, plannerAllToday);
}
@ -178,13 +178,12 @@ public class PlannerTemplateService extends QueueConsumer implements Initializin
LocalDate currentDate = LocalDate.now();
boolean isWeekend = Arrays.asList(DayOfWeek.SATURDAY, DayOfWeek.SUNDAY).contains(currentDate.getDayOfWeek());
//проверим есть ли другие записи clearingCalendar с таким же clearingDate, если они актуальные ничего не удаляем
Collection<ClearingCalendar> clearingCalendars = clearingCalendarMap.getCollectionObjectsByFieldValues(Map.of("dayStatus", DayStatus.Workday.getKey(),
"clearingDate", currentDate));
Collection<ClearingCalendar> clearingCalendars = clearingCalendarMap.getCollectionObjectsByFieldValues(Map.of("clearingDate", currentDate));
if (clearingCalendars != null && !clearingCalendars.isEmpty()) {
for (ClearingCalendar calendar : clearingCalendars) {
if (isValidWorkday(calendar, isWeekend)) return true;
}
}
} else return !isWeekend;
return false;
}
}