diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java index 00793129d..10d252baa 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java @@ -1,12 +1,14 @@ package ru.clearing.classes.statics.data.execution; import ru.clearing.classes.objects.BusinessObject; +import ru.spcex.platform.classes.base.interfaces.ExecutionType; +import ru.spcex.platform.classes.base.interfaces.IExecution; import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDate; -public abstract class ExecutionCommon extends BusinessObject { +public abstract class ExecutionCommon extends BusinessObject implements IExecution { protected Long exchangeExecutionId; protected Instant exchangeExecutionTime; protected LocalDate tradingDate; @@ -28,6 +30,8 @@ public abstract class ExecutionCommon extends BusinessObject { protected Long sessionId; protected LocalDate clearingDate; + public abstract ExecutionType type(); + public LocalDate getClearingDate() { return clearingDate; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDeposit.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDeposit.java index 3883d4507..eba4989d0 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDeposit.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionDeposit.java @@ -1,6 +1,7 @@ package ru.clearing.classes.statics.data.execution; import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.interfaces.ExecutionType; import java.math.BigDecimal; import java.time.LocalDate; @@ -16,6 +17,11 @@ public class ExecutionDeposit extends ExecutionCommon { private String secondLegSettlementCode; private String contract; + @Override + public ExecutionType type() { + return ExecutionType.ExecutionDeposit; + } + public BigDecimal getFirstLegAmount() { return firstLegAmount; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java index 26057ad8c..7306327de 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionFond.java @@ -1,7 +1,7 @@ package ru.clearing.classes.statics.data.execution; import ru.clearing.classes.ConstSerializable; -import ru.clearing.classes.objects.BusinessObject; +import ru.spcex.platform.classes.base.interfaces.ExecutionType; import java.math.BigDecimal; import java.time.Instant; @@ -23,6 +23,11 @@ public class ExecutionFond extends ExecutionCommon { private LocalDate settlementDate; private Instant exchangeExecutionMicroseconds; + @Override + public ExecutionType type() { + return ExecutionType.ExecutionFond; + } + public Long getExchangeOrderId() { return exchangeOrderId; } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java index 60484583a..5517afc3b 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/TaskType.java @@ -11,6 +11,10 @@ public enum TaskType { * step 1 */ DealsPrepare, + /** + * step 2 + */ + RequirementsAndObligationsCreate, /** * step 4 */ diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java index 4f7d0382e..ab25bb192 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/DealsPrepare.java @@ -56,7 +56,7 @@ public class DealsPrepare implements ISessionStage { private StageResult prepareDeals(Long sessionId, Long companyId, Long securityId) { StringBuilder executionDepositSQL = new StringBuilder("sessionId = null"); if (companyId != null) { - executionDepositSQL.append(" and companyId = ").append(companyId); + executionDepositSQL.append(" and companyId = ").append(companyId); //fixme вероятно в ТЗ недостаточно условий для выборки - counterPartyId } if (securityId != null) { executionDepositSQL.append(" and securityId = ").append(securityId); @@ -86,7 +86,7 @@ public class DealsPrepare implements ISessionStage { executionFondImdg.update((ExecutionFond) exc); } } - StageResult> res = new StageResult<>(null, true); + StageResult> res = new StageResult<>(null, true); res.setStageResult(excs); return res; } diff --git a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java new file mode 100644 index 000000000..6e6f3083f --- /dev/null +++ b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java @@ -0,0 +1,6 @@ +package ru.spcex.platform.classes.base.interfaces; + + +public enum ExecutionType { + ExecutionDeposit, ExecutionFond; +} diff --git a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/IExecution.java b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/IExecution.java index 441f6c949..acb281841 100644 --- a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/IExecution.java +++ b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/IExecution.java @@ -1,4 +1,5 @@ package ru.spcex.platform.classes.base.interfaces; public interface IExecution extends WithId, WithSessionId, WithExchangeExecutionId { + ExecutionType type(); }