From 6dc5133d10158f9f70df153f8ede6b76a3186c16 Mon Sep 17 00:00:00 2001 From: ialbert Date: Mon, 24 Jul 2023 10:59:47 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BD=D0=B0=205=20=D1=88=D0=B0=D0=B3=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../session/stage/impl/InspectionObligations.java | 12 ++++++++---- .../impl/InspectionObligationsDepositReturn.java | 14 +++++++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java index 92137a4f0..6c944cdcd 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligations.java @@ -64,11 +64,15 @@ public class InspectionObligations implements ISessionStage { RegistryStatus.POOL.getKey()); Collection registriesToProcess = registryImdg.getCollectionObjectsBySQL(sqlCondition); - Map> registriesByGroup = registriesToProcess.stream(). - collect(Collectors.groupingBy(Registry::getGroupId)); + List>> registriesByGroupSorted = registriesToProcess.stream(). + collect(Collectors.groupingBy(Registry::getGroupId)) + .entrySet() + .stream() + .sorted(Map.Entry.comparingByKey()) + .toList(); - log.info("found {} ({} groups) registries by sql: {}", registriesToProcess.size(), registriesByGroup.size(), sqlCondition); - for (Map.Entry> entry : registriesByGroup.entrySet()) { + log.info("found {} ({} groups) registries by sql: {}", registriesToProcess.size(), registriesByGroupSorted.size(), sqlCondition); + for (Map.Entry> entry : registriesByGroupSorted) { List group = entry.getValue(); List obligationsInGroup = group.stream().filter(registry -> IEnumKey.getEnumByKey(RegistryDesignation.class, registry.getRegistryDesignation()) == RegistryDesignation.O).toList(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java index 24c8ebecc..fb7aa2aa2 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InspectionObligationsDepositReturn.java @@ -58,12 +58,16 @@ public class InspectionObligationsDepositReturn implements ISessionStage { RegistryCodeSqlBuilder.getInstance(OS_T, OM_T, TS_T, TM_T).build(), RegistryStatus.POOL.getKey()); - Map> registriesByGroup = registryImdg.getCollectionObjectsBySQL(sqlCondition) - .stream(). - collect(Collectors.groupingBy(Registry::getGroupId)); - log.info("registry groups found {}", registriesByGroup.size()); + List>> registriesByGroupSorted = registryImdg.getCollectionObjectsBySQL(sqlCondition) + .stream() + .collect(Collectors.groupingBy(Registry::getGroupId)) + .entrySet() + .stream() + .sorted(Map.Entry.comparingByKey()) + .toList(); + log.info("registry groups found {}", registriesByGroupSorted.size()); - for (Map.Entry> entry : registriesByGroup.entrySet()) { + for (Map.Entry> entry : registriesByGroupSorted) { List group = entry.getValue(); Optional omtInGroupO = group.stream().filter(registry -> equalByRgs(OM_T, registry)).findFirst(); if (omtInGroupO.isEmpty()) {