From e45b07329002639ef43ea871e0c64c642625cb88 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Wed, 17 May 2023 19:47:24 +0300 Subject: [PATCH] =?UTF-8?q?clearing-service=20http://jira.mfd.msk:8088/bro?= =?UTF-8?q?wse/CLS-290=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=87?= =?UTF-8?q?=D0=B8=D0=BA=20=D0=B4=D0=BB=D1=8F=20=D1=88=D0=B0=D0=B3=D0=B0=20?= =?UTF-8?q?6=20refactoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clearing/session/stage/TaskType.java | 4 ++-- ...rements.java => FormingRegistersOnOS.java} | 23 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) rename clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/{CreateRegistryOnObligationsAndSettlementRequirements.java => FormingRegistersOnOS.java} (86%) 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 6e60b79c5..60484583a 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 @@ -17,8 +17,8 @@ public enum TaskType { InclusionToPool, /** - * Step 6 + * Step 6: forming Registry on Obligations and Settlement requirements */ - CreateRegistryOnObligationsAndSettlementRequirements, + FormingRegistersOnOS, } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/CreateRegistryOnObligationsAndSettlementRequirements.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java similarity index 86% rename from clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/CreateRegistryOnObligationsAndSettlementRequirements.java rename to clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java index 061c367cd..5204abe62 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/CreateRegistryOnObligationsAndSettlementRequirements.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/FormingRegistersOnOS.java @@ -4,18 +4,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.execution.ExecutionDeposit; -import ru.clearing.classes.statics.data.execution.ExecutionFond; import ru.clearing.classes.statics.data.registry.Registry; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.session.stage.ISessionStage; import ru.spcex.clearing.session.stage.StageResult; import ru.spcex.clearing.session.stage.Task; -import ru.spcex.clearing.session.stage.task.DealsPreparePayload; import ru.spcex.clearing.session.stage.task.RegistryOnObligationsAndSettlementRequirementsPayload; import ru.spcex.clearing.session.stage.util.RegistryUtil; -import ru.spcex.platform.classes.base.interfaces.IExecution; -import ru.spcex.platform.classes.base.interfaces.WithExchangeExecutionId; import ru.spcex.platform.enumeration.RegistryDesignation; import ru.spcex.platform.enumeration.RegistryInstrumentType; import ru.spcex.platform.enumeration.RegistryStatus; @@ -29,14 +24,14 @@ import java.util.ArrayList; import java.util.Collection; @Service -public class CreateRegistryOnObligationsAndSettlementRequirements implements ISessionStage { +public class FormingRegistersOnOS implements ISessionStage { private final Logger log = LoggerFactory.getLogger(getClass()); private final ImdgId idSequence; private final Imdg registryImdg; @Autowired - public CreateRegistryOnObligationsAndSettlementRequirements(ImdgProvider imdgProvider) { + public FormingRegistersOnOS(ImdgProvider imdgProvider) { this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); this.idSequence = imdgProvider.getImdgIdGenerator(); @@ -46,7 +41,7 @@ public class CreateRegistryOnObligationsAndSettlementRequirements implements ISe public StageResult submit(Task task) { RegistryOnObligationsAndSettlementRequirementsPayload payload = (RegistryOnObligationsAndSettlementRequirementsPayload) task.getData(); switch (task.getTaskType()) { - case CreateRegistryOnObligationsAndSettlementRequirements -> { + case FormingRegistersOnOS -> { return createRegistryOnObligationsAndSettlementRequirements(payload.getSessionId()); } default -> { @@ -55,23 +50,29 @@ public class CreateRegistryOnObligationsAndSettlementRequirements implements ISe } } - private Collection selectRegistry(Long sessionId) { + /** + * Select Registry by: registryCode = [O/T][S/M][*][T] & registryStatus=OK + * + * @param sessionId + * @return + */ + protected Collection selectRegistry(Long sessionId) { String registrySQL = "sessionId = " + sessionId; registrySQL += " and (registryDesignation=" + RegistryDesignation.O.getKey() + " or registryDesignation=" + RegistryDesignation.T.getKey() + ")"; registrySQL += " and (registryInstrumentType=" + RegistryInstrumentType.S.getKey() + " or registryInstrumentType=" + RegistryInstrumentType.M.getKey() + ")"; registrySQL += " and (registryUnit=" + RegistryUnit.T.getKey() + ")"; registrySQL += " and registryStatus=" + RegistryStatus.OK.getKey() + ")"; - // registryCode = [O/T][S/M][*][T] & registryStatus=OK Collection result = registryImdg.getCollectionObjectsBySQL(registrySQL); log.trace("Selected {} registry's by sql: {}", result.size(), registrySQL); return result; } - private StageResult createRegistryOnObligationsAndSettlementRequirements(Long sessionId) { + protected StageResult createRegistryOnObligationsAndSettlementRequirements(Long sessionId) { Collection forRegistries = selectRegistry(sessionId); ArrayList newRegistries = new ArrayList<>(); //todo oreder by обрабатываться группами по полю registry.groupId + //todo при перезапуске после незапланированного завершения стадии: надо ли проверять уже созданные регистры и не создавать дубликаты? for (Registry registry : forRegistries) { Registry newRegistry = createRegistryFor(registry);