From 52605cfc483e43acc48804810a768af3b3af2012 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 8 Dec 2022 19:33:50 +0300 Subject: [PATCH 1/3] http://jira.mfd.msk:8088/browse/CLS-51 --- plannerAllToday set up --- .../ru/spcex/clearing/imdg/util/Util.java | 61 +++++++++++++++---- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java index be82af6fd..acf8a31cc 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java @@ -20,18 +20,32 @@ public class Util { IMap plannerMap = hazelcastInstance.getMap(Map_Planner); IMap clearingCalendarMap = hazelcastInstance.getMap(Map_ClearingCalendar); IMap plannerTemplateMap = hazelcastInstance.getMap(Map_PlannerTemplate); + IMap plannerAllTodayMap = hazelcastInstance.getMap(Map_PlannerAllToday); LocalDate currentDate = LocalDate.now(); List 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 getPlannersOnMonday2Friday(LocalDate currentDate, IMap clearingCalendarMap, IMap plannerTemplateMap) { @@ -41,13 +55,16 @@ public class Util { res.add(createPlannerAllTodayFromPlannerTemplate(plannerTemplate)); } } else { - Optional clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> { - return calendar.getClearingDate().isEqual(currentDate); - }).findFirst(); + Optional 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 getPlannersOnSunday2Saturday() { + private static List getPlannersOnSunday2Saturday(LocalDate currentDate, IMap clearingCalendarMap, IMap plannerTemplateMap) { List res = new ArrayList<>(); - + Optional 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; - } } From 4059c57c9e40477db228782f49521d36f03ef449 Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 8 Dec 2022 19:35:07 +0300 Subject: [PATCH 2/3] http://jira.mfd.msk:8088/browse/CLS-51 --- small fix up --- .../imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java index acf8a31cc..8e75d85fc 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/Util.java @@ -58,7 +58,7 @@ public class Util { Optional clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> calendar.getClearingDate().isEqual(currentDate)).findFirst(); if (clearingCalendarOptional.isPresent()) { ClearingCalendar calendar = clearingCalendarOptional.get(); - if (calendar.getDayStatus().equalsIgnoreCase("BDAY")) { //todo уточнить какой здесь может быть статус + if (calendar.getDayStatus().equalsIgnoreCase("BDAY")) { if (calendar.getCompanyId() != null && calendar.getCompanyId() != 0) { for (PlannerTemplate plannerTemplate : plannerTemplateMap.values()) { From 094659eca16149091e17d1aec774875e84ed104a Mon Sep 17 00:00:00 2001 From: aalehin Date: Thu, 8 Dec 2022 19:37:07 +0300 Subject: [PATCH 3/3] http://jira.mfd.msk:8088/browse/CLS-78 --- fix up --- .../service/PlannerAllTodayService.java | 33 ------------------- 1 file changed, 33 deletions(-) delete mode 100644 clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerAllTodayService.java diff --git a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerAllTodayService.java b/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerAllTodayService.java deleted file mode 100644 index 88515a082..000000000 --- a/clearing-parent/scheduler-service/src/main/java/ru/spcex/clearing/scheduler/service/PlannerAllTodayService.java +++ /dev/null @@ -1,33 +0,0 @@ -package ru.spcex.clearing.scheduler.service; - -import org.apache.kafka.clients.consumer.Consumer; -import org.apache.kafka.clients.producer.Producer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.scheduler.PlannerAllToday; -import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.service.QueueConsumer; -import ru.spcex.platform.imdg.api.Imdg; -import ru.spcex.platform.imdg.api.ImdgProvider; - -@Service -public class PlannerAllTodayService extends QueueConsumer implements InitializingBean { - private final Logger log = LoggerFactory.getLogger(getClass()); - private final Imdg schedulerAllTodayMap; - - @Autowired - public PlannerAllTodayService(Consumer kafkaQueue, Producer kafkaProducer, - ImdgProvider imdgProvider) { - super(kafkaQueue, kafkaProducer); - this.schedulerAllTodayMap = imdgProvider.getImdg(IMDGDistributedNames.Map_PlannerAllToday, PlannerAllToday.class); - } - - @Override - public void afterPropertiesSet() { - init(); - } - -}