diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index de6cb2ef5..21fd8fa77 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -127,9 +127,9 @@ public class Sdf57Executor extends AbstractExecutor { Account accountCred = validator.getStored(ValidationStored.Sdf57AccountCred); //адресат CREDIT / владелец DEBIT - Optional statementDeb = createStatementIfNeeded.apply(companyCred, accountCred, InOutDirection.in); + Optional statementDeb = createStatementIfNeeded.apply(companyDeb, accountDeb, InOutDirection.in); //адресат DEBIT / владелец CREDIT - Optional statementCred = createStatementIfNeeded.apply(companyDeb, accountDeb, InOutDirection.out); + Optional statementCred = createStatementIfNeeded.apply(companyCred, accountCred, InOutDirection.out); Consumer createRegistryIfNeeded = stmtCmpAcc -> { Statement stmt = stmtCmpAcc.statement(); @@ -213,9 +213,11 @@ public class Sdf57Executor extends AbstractExecutor { //rgs.setTradingClearingRegistry(); //todo ! rgs.setRegistryStatus(RegistryStatus.PROC.getKey()); rgs.setSecurityId(statement.getSecurityId()); - Security security = securityImdg.getSingleObjectByID(statement.getSecurityId()); - if (security != null) { - rgs.setSecuritySymbol(security.getSecuritySymbol()); + if (statement.getSecurityId() != null) { + Security security = securityImdg.getSingleObjectByID(statement.getSecurityId()); + if (security != null) { + rgs.setSecuritySymbol(security.getSecuritySymbol()); + } } InOutDirection inOutDirection = IEnumKey.getEnumByKey(InOutDirection.class, statement.getInOutDirection()); //считаю balance при создании нулевым и исхожу из этого diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java index 4cbde8b72..7b54770ae 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/ImdgHazelcast.java @@ -257,7 +257,7 @@ public class ImdgHazelcast implements Imdg { if (els.size() > 1) { throw new RuntimeException("More than one element found by predicate - " + els.size()); } - return els.iterator().next(); + return els.size() == 1 ? els.iterator().next() : null; } @Override