diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java index c834be1a5..9a62c75f6 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryFondBuilder.java @@ -112,19 +112,24 @@ public class RegistryFondBuilder implements IRegistryBuilder { if ((regDsgn.equals(RegistryDesignation.O) && side.isBuy()) || (regDsgn.equals(RegistryDesignation.T) && side.isSell())) { isMoney = true; reg.setAccountId(tcr.getMoneyAccountId()); - account = accountImdg.getSingleObjectByID(tcr.getMoneyAccountId()); + if (tcr.getMoneyAccountId() != null) { + account = accountImdg.getSingleObjectByID(tcr.getMoneyAccountId()); + capacityByAccount = defineCapacityByAccountType(account.getAccountType(), tcr.getMoneyAccountId()); + } reg.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); reg.setBalanceDimension(BalanceDimension.MONY.getKey()); //fixme add second leg code branch Currency currency = currencyImdg.getFirstObjectByFieldValues(Map.of("currencyCode", exec.getSettlementCurrency())); reg.setSecurityId(currency.getId()); reg.setSecuritySymbol(currency.getCurrencyCode()); - capacityByAccount = defineCapacityByAccountType(account.getAccountType(), tcr.getMoneyAccountId()); } else if ((regDsgn.equals(RegistryDesignation.T) && side.isBuy()) || (regDsgn.equals(RegistryDesignation.O) && side.isSell())) { isMoney = false; - account = accountImdg.getSingleObjectByID(tcr.getDepoAccountId()); reg.setAccountId(tcr.getDepoAccountId()); - DepoAccount depoAccount = depoAccountImdg.getFirstObjectByFieldValues( + DepoAccount depoAccount = null; + if (tcr.getDepoAccountId() != null) { + account = accountImdg.getSingleObjectByID(tcr.getDepoAccountId()); + depoAccount = depoAccountImdg.getFirstObjectByFieldValues( Map.of("accountId", tcr.getDepoAccountId())); + } if (depoAccount != null) { capacityByAccount = depoAccount.getDepoAccountType(); }