From 2d559f9bf1b21fce993465a8d385c2ec59fc9577 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 27 Jul 2023 19:04:23 +0300 Subject: [PATCH] =?UTF-8?q?registry#groupId=20=D0=B8=202=20=D1=88=D0=B0?= =?UTF-8?q?=D0=B3=20=D1=81=D0=B5=D1=81=D1=81=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stage/impl/RegistryDepoBuilder.java | 4 ++-- .../stage/impl/RegistryFondBuilder.java | 4 ++-- .../RequirementsAndObligationCreation.java | 21 ++++++++++++++----- 3 files changed, 20 insertions(+), 9 deletions(-) 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());