ExecutionFond/ExecutionDeposit#CounterPartyTradingClearingRegistry

This commit is contained in:
ialbert 2023-08-15 20:50:47 +03:00
parent 4ad1ee7df7
commit 2900a17f7a
2 changed files with 12 additions and 0 deletions

View file

@ -247,6 +247,7 @@ public class ExecutionDepositComponent {
strPb.equals("section", sTrades.getSection()),
strPb.not(strPb.equals("operation", sTrades.getOperation()))));
if (counterSTrades != null) {
eDeposit.setCounterPartyTradingClearingRegistry(counterSTrades.getAccount());
searchTcrByStrades(counterSTrades)
.ifPresent(tcr -> eDeposit.setCounterPartyTradingClearingRegistryId(tcr.getId()));
}

View file

@ -28,6 +28,7 @@ import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.*;
import ru.spcex.platform.utils.log.ExceptionUtils;
import ru.spcex.platform.utils.time.TimeUtil;
@ -213,6 +214,16 @@ public class ExecutionFondComponent {
eFond.setExchangeOrderId(sTrades.getOrderNum());
eFond.setSettlementAmount(sTrades.getValue());
eFond.setCounterPartyId(counterCompany.getId());
{
ImdgPredicateBuilder strPb = sTradeImdg.predicateBuilder();
STrades counterSTrades = sTradeImdg.getFirstObjectByPredicate(strPb.and(
strPb.equals("tradeNum", sTrades.getTradeNum()),
strPb.equals("section", sTrades.getSection()),
strPb.not(strPb.equals("operation", sTrades.getOperation()))));
if (counterSTrades != null) {
eFond.setCounterPartyTradingClearingRegistry(counterSTrades.getAccount());
}
}
return eFond;
}