PAYM session forming payment instructions account condition: remove companyId=1

This commit is contained in:
ialbert 2024-10-09 14:00:20 +03:00
parent 356dbeb7cb
commit 95e97d9ff4
2 changed files with 14 additions and 5 deletions

View file

@ -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());

View file

@ -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<Registry> 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;