diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java index 796f322b6..8016fb8cb 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PaymSession.java @@ -93,6 +93,7 @@ public class PaymSession extends AbstractSession implements InitializingBean { dealsPrepare.addExecutionCurrencyCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0]))); requirementsAndObligationCreation.setSessionType(sessionType()); formingPaymentInstructionAssets.setSessionType(sessionType()); + formingPaymentInstructionAssets.setDisableCompanyCondition(true); inclusionObligations.setSessionType(sessionType()); inspectionObligations.setSection(section()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionAssets.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionAssets.java index 532e9076b..f350c1e4a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionAssets.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingPaymentInstructionAssets.java @@ -7,7 +7,6 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.function.Function; @@ -101,6 +100,7 @@ public class FormingPaymentInstructionAssets implements ISessionStage { private SessionType sessionType; private final PaymentStateMarkService dmvSrv; private final AssetTBFProcessing assets; + private boolean disableCompanyCondition = false; @Autowired public FormingPaymentInstructionAssets(ImdgProvider imdgProvider, @@ -137,6 +137,10 @@ public class FormingPaymentInstructionAssets implements ISessionStage { } } + public void setDisableCompanyCondition(boolean disableCompanyCondition) { + this.disableCompanyCondition = disableCompanyCondition; + } + private Collection selectAMBRegistries(Long sessionId) { ImdgPredicateBuilder rgsPb = registryImdg.predicateBuilder(); RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance( @@ -200,10 +204,14 @@ public class FormingPaymentInstructionAssets implements ISessionStage { if (AccountType.Clrn.equalsByKey(registry.getAccountType())) { counterAcc = accountImdg.getSingleObjectByID(registry.getAccountId()); } else if (AccountType.Info.equalsByKey(registry.getAccountType())) { - counterAcc = accountImdg.getFirstObjectByFieldValues( - Map.of("companyId", 1L, - "currency", registry.getSecuritySymbol(), - "accountType", AccountType.Anlt.getKey()) + ImdgPredicateBuilder pb = accountImdg.predicateBuilder(); + ImdgPredicate prdct = pb.and( + disableCompanyCondition ? pb.alwaysTrue() : pb.equals("companyId", 1L), + pb.equals("currency", registry.getSecuritySymbol()), + pb.equals("accountType", AccountType.Anlt.getKey()) + ); + counterAcc = accountImdg.getFirstObjectByPredicate( + prdct ); } Long senderId;