Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
fc42ca0c8f
2 changed files with 48 additions and 46 deletions
|
|
@ -20,18 +20,32 @@ public class Util {
|
||||||
IMap<Long, Planner> plannerMap = hazelcastInstance.getMap(Map_Planner);
|
IMap<Long, Planner> plannerMap = hazelcastInstance.getMap(Map_Planner);
|
||||||
IMap<Long, ClearingCalendar> clearingCalendarMap = hazelcastInstance.getMap(Map_ClearingCalendar);
|
IMap<Long, ClearingCalendar> clearingCalendarMap = hazelcastInstance.getMap(Map_ClearingCalendar);
|
||||||
IMap<Long, PlannerTemplate> plannerTemplateMap = hazelcastInstance.getMap(Map_PlannerTemplate);
|
IMap<Long, PlannerTemplate> plannerTemplateMap = hazelcastInstance.getMap(Map_PlannerTemplate);
|
||||||
|
IMap<Long, PlannerAllToday> plannerAllTodayMap = hazelcastInstance.getMap(Map_PlannerAllToday);
|
||||||
LocalDate currentDate = LocalDate.now();
|
LocalDate currentDate = LocalDate.now();
|
||||||
List<PlannerAllToday> listOfPlannerAllToday = new ArrayList<>();
|
List<PlannerAllToday> listOfPlannerAllToday = new ArrayList<>();
|
||||||
//= plannerMap.values().stream().filter((x) -> x.getClearingDate().isEqual(currentDate)).toList();
|
|
||||||
|
|
||||||
if (!plannerMap.isEmpty()) {
|
if (!plannerMap.isEmpty()) {
|
||||||
switch (currentDate.getDayOfWeek()) {
|
switch (currentDate.getDayOfWeek()) {
|
||||||
case MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY -> listOfPlannerAllToday.addAll(getPlannersOnMonday2Friday(currentDate, clearingCalendarMap, plannerTemplateMap));
|
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) {
|
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));
|
res.add(createPlannerAllTodayFromPlannerTemplate(plannerTemplate));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Optional<ClearingCalendar> clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> {
|
Optional<ClearingCalendar> clearingCalendarOptional = clearingCalendarMap.values().stream().filter((calendar) -> calendar.getClearingDate().isEqual(currentDate)).findFirst();
|
||||||
return calendar.getClearingDate().isEqual(currentDate);
|
|
||||||
}).findFirst();
|
|
||||||
if (clearingCalendarOptional.isPresent()) {
|
if (clearingCalendarOptional.isPresent()) {
|
||||||
ClearingCalendar calendar = clearingCalendarOptional.get();
|
ClearingCalendar calendar = clearingCalendarOptional.get();
|
||||||
if (calendar.getDayStatus().equalsIgnoreCase("active")) { //todo уточнить какой здесь может быть статус
|
if (calendar.getDayStatus().equalsIgnoreCase("BDAY")) {
|
||||||
|
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;
|
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<>();
|
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;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static PlannerAllToday createPlannerAllTodayFromPlanner(Planner planner) {
|
private static PlannerAllToday createPlannerAllTodayFromPlanner(Planner planner) {
|
||||||
PlannerAllToday res = new PlannerAllToday();
|
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;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static PlannerAllToday createPlannerAllTodayFromPlannerTemplate(PlannerTemplate plannerTemplate) {
|
private static PlannerAllToday createPlannerAllTodayFromPlannerTemplate(PlannerTemplate plannerTemplate) {
|
||||||
PlannerAllToday res = new PlannerAllToday();
|
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;
|
return res;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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<PlannerAllToday> schedulerAllTodayMap;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public PlannerAllTodayService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
|
||||||
ImdgProvider imdgProvider) {
|
|
||||||
super(kafkaQueue, kafkaProducer);
|
|
||||||
this.schedulerAllTodayMap = imdgProvider.getImdg(IMDGDistributedNames.Map_PlannerAllToday, PlannerAllToday.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterPropertiesSet() {
|
|
||||||
init();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Add table
Reference in a new issue