From 9b726a3c4f5d22c7b34452aec06fb98af7ba121f Mon Sep 17 00:00:00 2001 From: akulikov Date: Mon, 3 Feb 2025 16:24:45 +0300 Subject: [PATCH] reports-service hot fix --- .../ks/KSRepCashRegistersReportBuilder.java | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashRegistersReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashRegistersReportBuilder.java index 1a66daacc..412c38c2a 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashRegistersReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepCashRegistersReportBuilder.java @@ -190,7 +190,26 @@ public class KSRepCashRegistersReportBuilder extends CSVReportBuilder clearingMemberCategory = clearingMemberCategoryImdg.getCollectionObjectsByPredicate( + clearingMemberCategoryImdg.predicateBuilder().equals("companyId", counterPartyId) + ); + if (!clearingMemberCategory.isEmpty()) { + ClearingMemberCategory next = clearingMemberCategory.iterator().next(); + ClearingCategory category = IEnumKey.getEnumByKey(ClearingCategory.class, next.getClearingMemberCategory()); + SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, tmtRegistry.getSessionType()); + if (category == ClearingCategory.I && sessionType == SessionType.XDEP) { + continue; + } + } + } + BigDecimal balance = tmtRegistry.getBalance(); + tmtBalanceSum = tmtBalanceSum.add(balance); + contracts.add(tmtRegistry.getContract()); } ImdgPredicate dmxPredicate = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.DM_X).buildPredicate(pb); Collection dmxRegistries = registryImdg.getCollectionObjectsByPredicate( @@ -204,24 +223,6 @@ public class KSRepCashRegistersReportBuilder extends CSVReportBuilder { - Long counterPartyId = reg.getCounterPartyId(); - if (counterPartyId != null) { - Collection clearingMemberCategory = clearingMemberCategoryImdg.getCollectionObjectsByPredicate( - clearingMemberCategoryImdg.predicateBuilder().equals("companyId", counterPartyId) - ); - if (!clearingMemberCategory.isEmpty()) { - ClearingMemberCategory next = clearingMemberCategory.iterator().next(); - ClearingCategory category = IEnumKey.getEnumByKey(ClearingCategory.class, next.getClearingMemberCategory()); - SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, reg.getSessionType()); - return category != ClearingCategory.I || sessionType != SessionType.XDEP; - } - } - return true; - }) - .map(Registry::getBalance) - .reduce(BigDecimal.ZERO, BigDecimal::add); ksRepCashRegistersReport.setChangeBalance(tmtBalanceSum.subtract(omtBalanceSum).subtract(dmxBalanceSum));