diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java index ebde180b2..64900073b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RegistryDepoBuilder.java @@ -152,8 +152,8 @@ public class RegistryDepoBuilder implements IRegistryBuilder { } private Long groupId() { - Market market = marketImdg.getFirstObjectBySQL("code = '" + exec.getMarket() + "'"); - return exec.getExchangeExecutionId() + market.getId(); +// Market market = marketImdg.getFirstObjectBySQL("code = '" + exec.getMarket() + "'"); + return exec.getExchangeExecutionId(); } //можно передать из стейджа 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 927bbe4b8..0e0a6f0be 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 @@ -151,8 +151,8 @@ public class RegistryFondBuilder implements IRegistryBuilder { } private Long groupId() { - Market market = marketImdg.getFirstObjectBySQL("code = '" + exec.getMarket() + "'"); - return exec.getExchangeExecutionId() + market.getId(); +// Market market = marketImdg.getFirstObjectBySQL("code = '" + exec.getMarket() + "'"); + return exec.getExchangeExecutionId(); } //можно передать из стейджа diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java index ebe8ab808..5d5e1febf 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java @@ -133,8 +133,13 @@ public class RequirementsAndObligationCreation implements ISessionStage { } else { throw new IllegalStateException("cannot construct for " + des + " " + side); } - return imdgRegSearch(p, exec.getTradingClearingRegistryId(), exec.getCompanyId(), settlementDt(exec), - exec.getSessionId()); + return imdgRegSearch(p, + exec.getTradingClearingRegistryId(), + exec.getCompanyId(), + settlementDt(exec), + exec.getSessionId(), + exec.getExchangeExecutionId() + ); } private Optional findRegBySettlementDt(ExecutionCommon exec, RegistryDesignation des) { @@ -161,18 +166,24 @@ public class RequirementsAndObligationCreation implements ISessionStage { } else { throw new IllegalStateException("cannot construct by settleDt for " + des + " " + side); } - return imdgRegSearch(p, exec.getTradingClearingRegistryId(), exec.getCompanyId(), ((ExecutionDeposit) exec).getSecondLegSettlementDate(), exec.getSessionId()); + return imdgRegSearch(p, + exec.getTradingClearingRegistryId(), + exec.getCompanyId(), + ((ExecutionDeposit) exec).getSecondLegSettlementDate(), + exec.getSessionId(), + exec.getExchangeExecutionId()); } public Optional imdgRegSearch(RegistryTradingParams p, Long tcrId, Long companyId, LocalDate settlementDt, - Long sessionId) { + Long sessionId, Long exchangeExecutionId) { String sql = RegistryCodeSqlBuilder.getInstance(p).build(); ImdgPredicateBuilder pb = registryImdg.predicateBuilder(); ImdgPredicate rgstrPredicate = pb.and(pb.sql(sql), pb.equals("tradingClearingRegistryId", tcrId), pb.equals("companyId", companyId), pb.equals("settlementDate", settlementDt), - pb.equals("sessionId", sessionId) + pb.equals("sessionId", sessionId), + pb.equals("groupId", exchangeExecutionId) ); Registry rgs = registryImdg.getSingleObjectByPredicate(rgstrPredicate); log.trace("rgs.id={} found by: {}", rgs == null ? "'not found'" : rgs.getId(), rgstrPredicate.toString());