etreschenkov 2024-08-27 15:08:21 +03:00
parent d62f6d9437
commit 54f305447f

View file

@ -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<String, ImdgPredicate> filterByName(ImdgProvider imdgProvider) {
public Map<String, ImdgPredicate> registriesFilterByName(ImdgProvider imdgProvider) {
ImdgPredicateBuilder predicateBuilder = imdgProvider
.getImdg(IMDGDistributedNames.Map_Registry, ExecutionDeposit.class)
.predicateBuilder();
return new HashMap<String, ImdgPredicate>() {{
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")))
);
}};
}
}