execution sorting for RequirementsAndObligationCreation

This commit is contained in:
ialbert 2025-06-30 11:05:41 +03:00
parent 824f263157
commit 67939b3776

View file

@ -42,8 +42,7 @@ import ru.spcex.clearing.session.stage.StageResult;
import ru.spcex.clearing.session.stage.Task;
import ru.spcex.clearing.session.stage.TaskType;
import ru.spcex.clearing.session.stage.task.RequirementsAndObligationCreationPayload;
import static ru.spcex.clearing.util.ComparatorUtil.execIdComparator;
import static ru.spcex.clearing.util.ComparatorUtil.tradeTimeComparator;
import static ru.spcex.clearing.util.ComparatorUtil.*;
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
import ru.spcex.platform.enumeration.ISide;
import ru.spcex.platform.enumeration.MoneyFlowSide;
@ -206,7 +205,7 @@ public class RequirementsAndObligationCreation implements ISessionStage {
protected StageResult<?> createRegisters(List<ExecutionCommon> data, Long sessionId, Map<Long, Registry> rgsStorage) {
this.ckTcr = null;
data.sort(tradeTimeComparator.thenComparing(execIdComparator));
data.sort(tradeTimeComparator.thenComparing(execIdComparator).thenComparing(execMarketComparator));
Map<Long, Registry> newRgss = rgsStorage != null ? rgsStorage : storageMap(data);
//см. описание к #matchExecutions
for (int i = 0; i < data.size(); ) {