requirement and obligation creation action bug fix

This commit is contained in:
ialbert 2025-06-30 14:51:04 +03:00
parent a4ed85b2e2
commit b5f69e8b59

View file

@ -46,8 +46,7 @@ import ru.spcex.clearing.session.stage.impl.RegistryFondBuilder;
import ru.spcex.clearing.session.stage.impl.RegistryUpdater; import ru.spcex.clearing.session.stage.impl.RegistryUpdater;
import ru.spcex.clearing.session.state.DataEnum; import ru.spcex.clearing.session.state.DataEnum;
import ru.spcex.clearing.session.state.SsnEvent; import ru.spcex.clearing.session.state.SsnEvent;
import static ru.spcex.clearing.util.ComparatorUtil.execIdComparator; import static ru.spcex.clearing.util.ComparatorUtil.*;
import static ru.spcex.clearing.util.ComparatorUtil.tradeTimeComparator;
import ru.spcex.platform.classes.base.interfaces.ExecutionType; import ru.spcex.platform.classes.base.interfaces.ExecutionType;
import ru.spcex.platform.enumeration.ISide; import ru.spcex.platform.enumeration.ISide;
import ru.spcex.platform.enumeration.MoneyFlowSide; import ru.spcex.platform.enumeration.MoneyFlowSide;
@ -149,7 +148,7 @@ public class RequirementAndObligationCreationAction extends AbstractSessionActio
} }
protected void createRegisters(List<ExecutionCommon> data, Long sessionId, Map<Long, Registry> rgsStorage) { protected void createRegisters(List<ExecutionCommon> data, Long sessionId, Map<Long, Registry> rgsStorage) {
data.sort(tradeTimeComparator.thenComparing(execIdComparator)); data.sort(tradeTimeComparator.thenComparing(execIdComparator).thenComparing(execMarketComparator));
Map<Long, Registry> newRgss = rgsStorage != null ? rgsStorage : storageMap(data); Map<Long, Registry> newRgss = rgsStorage != null ? rgsStorage : storageMap(data);
//см. описание к #matchExecutions //см. описание к #matchExecutions
for (int i = 0; i < data.size(); ) { for (int i = 0; i < data.size(); ) {