---
plannerAllToday set up
This commit is contained in:
aalehin 2022-12-08 19:33:50 +03:00
parent af5d18ba36
commit 52605cfc48

View file

@ -20,18 +20,32 @@ public class Util {
IMap<Long, Planner> plannerMap = hazelcastInstance.getMap(Map_Planner);
IMap<Long, ClearingCalendar> clearingCalendarMap = hazelcastInstance.getMap(Map_ClearingCalendar);
IMap<Long, PlannerTemplate> plannerTemplateMap = hazelcastInstance.getMap(Map_PlannerTemplate);
IMap<Long, PlannerAllToday> plannerAllTodayMap = hazelcastInstance.getMap(Map_PlannerAllToday);
LocalDate currentDate = LocalDate.now();
List<PlannerAllToday> listOfPlannerAllToday = new ArrayList<>();
//= plannerMap.values().stream().filter((x) -> x.getClearingDate().isEqual(currentDate)).toList();
if (!plannerMap.isEmpty()) {
switch (currentDate.getDayOfWeek()) {
case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> listOfPlannerAllToday.addAll(getPlannersOnMonday2Friday(currentDate, clearingCalendarMap, plannerTemplateMap));
case SUNDAY, SATURDAY -> listOfPlannerAllToday.addAll(getPlannersOnSunday2Saturday());
case SUNDAY, SATURDAY -> listOfPlannerAllToday.addAll(getPlannersOnSunday2Saturday(currentDate, clearingCalendarMap, plannerTemplateMap));
}
}
PlannerAllToday plannerAllToday = new PlannerAllToday();
plannerMap.values().stream().filter((x) -> x.getClearingDate().isEqual(currentDate)).forEach((x) -> {
if (x.getTaskStatus().equalsIgnoreCase("ACTV")) {
listOfPlannerAllToday.add(createPlannerAllTodayFromPlanner(x));
}
if (x.getTaskStatus().equalsIgnoreCase("CNCL") || x.getTaskStatus().equalsIgnoreCase("BLKD")) {
listOfPlannerAllToday.removeIf((allToday) -> !x.getTaskTime().equals(allToday.getTaskTime()) ||
!x.getTask().equalsIgnoreCase(allToday.getTask()));
}
});
for (PlannerAllToday plannerAllToday : listOfPlannerAllToday) {
plannerAllToday.setId(hazelcastInstance.getIdGenerator(MAP_SEQUENCE_NAME).newId());
plannerAllTodayMap.put(plannerAllToday.getId(), plannerAllToday);
}
}
private static List<PlannerAllToday> getPlannersOnMonday2Friday(LocalDate currentDate, IMap<Long, ClearingCalendar> clearingCalendarMap, IMap<Long, PlannerTemplate> plannerTemplateMap) {
@ -41,13 +55,16 @@ public class Util {
res.add(createPlannerAllTodayFromPlannerTemplate(plannerTemplate));
}
} else {
Optional<ClearingCalendar> clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> {
return calendar.getClearingDate().isEqual(currentDate);
}).findFirst();
Optional<ClearingCalendar> clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> calendar.getClearingDate().isEqual(currentDate)).findFirst();
if (clearingCalendarOptional.isPresent()) {
ClearingCalendar calendar = clearingCalendarOptional.get();
if (calendar.getDayStatus().equalsIgnoreCase("active")) { //todo уточнить какой здесь может быть статус
if (calendar.getDayStatus().equalsIgnoreCase("BDAY")) { //todo уточнить какой здесь может быть статус
if (calendar.getCompanyId() != null && calendar.getCompanyId() != 0) {
for (PlannerTemplate plannerTemplate :
plannerTemplateMap.values()) {
res.add(createPlannerAllTodayFromPlannerTemplate(plannerTemplate));
}
}
}
}
}
@ -55,23 +72,41 @@ public class Util {
return res;
}
private static List<PlannerAllToday> getPlannersOnSunday2Saturday() {
private static List<PlannerAllToday> getPlannersOnSunday2Saturday(LocalDate currentDate, IMap<Long, ClearingCalendar> clearingCalendarMap, IMap<Long, PlannerTemplate> plannerTemplateMap) {
List<PlannerAllToday> res = new ArrayList<>();
Optional<ClearingCalendar> clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> calendar.getClearingDate().isEqual(currentDate)).findFirst();
if (clearingCalendarOptional.isPresent()) {
ClearingCalendar clearingCalendar = clearingCalendarOptional.get();
if (clearingCalendar.getDayStatus().equalsIgnoreCase("BDAY")) {
for (PlannerTemplate plannerTemplate : plannerTemplateMap.values()) {
res.add(createPlannerAllTodayFromPlannerTemplate(plannerTemplate));
}
}
}
return res;
}
private static PlannerAllToday createPlannerAllTodayFromPlanner(Planner planner) {
PlannerAllToday res = new PlannerAllToday();
res.setTask(planner.getTask());
res.setTaskTime(planner.getTaskTime());
res.setClearingDate(planner.getClearingDate());
res.setMarket(planner.getMarket());
res.setTaskStatus(planner.getTaskStatus());
res.setSecurityId(planner.getSecurityId());
res.setParent("PLNR");
res.setParentId(planner.getId());
return res;
}
private static PlannerAllToday createPlannerAllTodayFromPlannerTemplate(PlannerTemplate plannerTemplate) {
PlannerAllToday res = new PlannerAllToday();
res.setTask(plannerTemplate.getTask());
res.setTaskTime(plannerTemplate.getTaskTime());
res.setTaskStatus(plannerTemplate.getTaskStatus());
res.setParent("TMPL");
res.setParentId(plannerTemplate.getId());
return res;
}
}