From 54f305447fe2329cebd8570e8ba3ed2787467342 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Tue, 27 Aug 2024 15:08:21 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-735 --- .../config/RegistriesFilterConfig.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RegistriesFilterConfig.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RegistriesFilterConfig.java index d2989961c..3de3b94b6 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RegistriesFilterConfig.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/RegistriesFilterConfig.java @@ -9,6 +9,7 @@ import org.springframework.context.annotation.Configuration; import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.platform.enumeration.RegistryStatus; +import ru.spcex.platform.enumeration.Side; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; @@ -17,15 +18,16 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; public class RegistriesFilterConfig { @Bean - public Map filterByName(ImdgProvider imdgProvider) { + public Map registriesFilterByName(ImdgProvider imdgProvider) { ImdgPredicateBuilder predicateBuilder = imdgProvider .getImdg(IMDGDistributedNames.Map_Registry, ExecutionDeposit.class) .predicateBuilder(); - return new HashMap() {{ + return new HashMap<>() {{ put("fulfilledLiabilities", predicateBuilder.and( predicateBuilder.regex("registryCode", "^[OT].*"), predicateBuilder.in("registryStatus", Arrays.asList(RegistryStatus.OK.getKey(), RegistryStatus.CLRD.getKey()).toArray(new String[0])), - predicateBuilder.equals("settlementDate", LocalDate.now()))); + predicateBuilder.equals("settlementDate", LocalDate.now())) + ); put("unfulfilledLiabilities", predicateBuilder.and( predicateBuilder.regex("registryCode", "^[OT].*"), predicateBuilder.in("registryStatus", Arrays.asList( @@ -33,7 +35,25 @@ public class RegistriesFilterConfig { RegistryStatus.UNCV.getKey(), RegistryStatus.NACK.getKey(), RegistryStatus.NACC.getKey()).toArray(new String[0])), - predicateBuilder.equals("settlementDate", LocalDate.now()))); + predicateBuilder.equals("settlementDate", LocalDate.now())) + ); + put("clearingLiabilities", predicateBuilder.and( + predicateBuilder.regex("registryCode", "^[OT].*"), + predicateBuilder.in("registryStatus", Arrays.asList( + RegistryStatus.FAIL.getKey(), + RegistryStatus.UNCV.getKey(), + RegistryStatus.NACK.getKey()).toArray(new String[0])), + predicateBuilder.greatEqual("settlementDate", LocalDate.now())) + ); + put("balanceOfFinancialAssets", predicateBuilder.regex("registryCode", "^[AD]S[A-Z]{2}$")); + put("balanceOfCashAssets", predicateBuilder.and( + predicateBuilder.regex("registryCode", "^[AD]M.*"), + predicateBuilder.equals("securitySymbol", "RUB")) + ); + put("balanceOfCurrencyAssets", predicateBuilder.and( + predicateBuilder.regex("registryCode", "^[AD]M.*"), + predicateBuilder.not(predicateBuilder.equals("securitySymbol", "RUB"))) + ); }}; } }