registry#groupId и 2 шаг сессий

This commit is contained in:
ialbert 2023-07-27 19:04:23 +03:00
parent cf1db1b604
commit 2d559f9bf1
3 changed files with 20 additions and 9 deletions

View file

@ -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();
}
//можно передать из стейджа

View file

@ -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();
}
//можно передать из стейджа

View file

@ -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<Registry> 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<Registry> 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());