DealsPrepare session stage tradingDate condition

This commit is contained in:
ialbert 2023-05-31 15:56:50 +03:00
parent 50201be458
commit 1621a3cfb9
2 changed files with 8 additions and 5 deletions

View file

@ -19,7 +19,6 @@ import ru.spcex.platform.enumeration.SessionStatus;
import ru.spcex.platform.enumeration.SessionType;
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.IMessageResolver;
import java.time.LocalDate;
@ -81,9 +80,6 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
@Override
public void afterPropertiesSet() throws Exception {
dealsPrepare.searchForExecutions(ExecutionType.ExecutionDeposit);
ImdgPredicateBuilder execFondPb = executionDepositImdg.predicateBuilder();
dealsPrepare.addExecutionDepositCondition(execFondPb.equals("tradingDate", LocalDate.now()));
// dealsPrepare.addExecutionDepositCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0])));
}
@Override

View file

@ -20,6 +20,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BiFunction;
@ -67,7 +68,13 @@ public class DealsPrepare implements ISessionStage {
if (securityId != null) {
executionDepositSQL.append(" and securityId = ").append(securityId);
}
ImdgPredicate sqlPredicate = executionFondImdg.predicateBuilder().sql(executionDepositSQL.toString());
ImdgPredicateBuilder prdctBuilder = executionFondImdg.predicateBuilder();
ImdgPredicate sqlPredicate = prdctBuilder.and(
prdctBuilder.sql(executionDepositSQL.toString()),
prdctBuilder.equals("tradingDate", LocalDate.now())
);
BiFunction<List<ImdgPredicate>, Imdg<?>, ImdgPredicate> prdComposer = (imdgPredicates, imdg) -> {
ImdgPredicateBuilder pb = imdg.predicateBuilder();
if (imdgPredicates.isEmpty()) {