etreschenkov 2026-05-26 11:29:47 +03:00
parent 5149014098
commit 328573074c
3 changed files with 8 additions and 5 deletions

View file

@ -68,7 +68,8 @@ public class ClientCodeFacade implements IClearingFacade {
predicateBuilder.and( predicateBuilder.and(
predicateBuilder.equals("companyId", request.getCompanyId()), predicateBuilder.equals("companyId", request.getCompanyId()),
predicateBuilder.equals("code", request.getCode()), predicateBuilder.equals("code", request.getCode()),
predicateBuilder.equals("tradingClearingRegistryId", tradingClearingRegistry.getId()) predicateBuilder.equals("tradingClearingRegistryId", tradingClearingRegistry.getId()),
predicateBuilder.equals("status", Status.Active.getKey())
) )
); );
if (clientCode == null) { if (clientCode == null) {

View file

@ -190,11 +190,10 @@ public class ClientCodeMessageListener extends QueueConsumer implements Initiali
log.debug("eks_account is filled, creating info account: {}", account.getEks_account()); log.debug("eks_account is filled, creating info account: {}", account.getEks_account());
Pair<Long, String> accId = accountFacade.createAccountInfo(account, company); Pair<Long, String> accId = accountFacade.createAccountInfo(account, company);
accountIds.add(accId); accountIds.add(accId);
} else {
List<Account> clrnAccs = validator.getStored(ClientCodeStoreObjects.CLRN_ACCS);
clrnAccs.forEach(acc -> accountIds.add(new Pair<>(acc.getId(), acc.getCurrency())));
} }
} }
List<Account> clrnAccs = validator.getStored(ClientCodeStoreObjects.CLRN_ACCS);
clrnAccs.forEach(acc -> accountIds.add(new Pair<>(acc.getId(), acc.getCurrency())));
Long rubMoneyAcc = accountIds.stream() Long rubMoneyAcc = accountIds.stream()
.filter(pair -> CurrencyCode.RUB.equalsByKey(pair.getSecond())) .filter(pair -> CurrencyCode.RUB.equalsByKey(pair.getSecond()))

View file

@ -130,6 +130,8 @@ public enum GatewayEksClientCodeValidationRule implements IValidationRule<ImdgVa
DepoAccount depoAccount = depoAccountOpt.get(); DepoAccount depoAccount = depoAccountOpt.get();
Imdg<TradingClearingRegistry> imdg = context.obtainMap(IMDGDistributedNames.Map_TradingClearingRegistry, Imdg<TradingClearingRegistry> imdg = context.obtainMap(IMDGDistributedNames.Map_TradingClearingRegistry,
TradingClearingRegistry.class); TradingClearingRegistry.class);
Imdg<Account> accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account,
Account.class);
TradingClearingRegistry tcr = imdg.getFirstObjectByFieldValues( TradingClearingRegistry tcr = imdg.getFirstObjectByFieldValues(
Map.of( Map.of(
"depoAccountId", depoAccount.getAccountId(), "depoAccountId", depoAccount.getAccountId(),
@ -137,7 +139,8 @@ public enum GatewayEksClientCodeValidationRule implements IValidationRule<ImdgVa
) )
); );
if (tcr != null) { if (tcr != null) {
return of(AccountError.TradingClearingRegistryAlreadyExist, tcr.getCode(), "code"); Account account = accountImdg.getSingleObjectByID(depoAccount.getAccountId());
return of(AccountError.AccountForTradingClearingRegistryAlreadyUsed, account.getAccount(), "account");
} }
return Optional.empty(); return Optional.empty();
} }