From afb21eb2ba9d9c37acdb5ec2fba6a1a391b752bf Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 4 Sep 2023 11:23:45 +0300 Subject: [PATCH] =?UTF-8?q?clearing-service=20BalanceRevise=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B2=D0=B8=D0=B7=D0=B8=D0=B8=203=20=D1=81=D1=82=D0=B0=D0=B4?= =?UTF-8?q?=D0=B8=D0=B8=20AgainRevise,=20=D0=B2=D1=8B=D0=BD=D0=B5=D1=81=20?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=B4=D0=B8=D1=8E=201.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/spcex/clearing/config/session/StateBnConfig.java | 8 +++++++- .../ru/spcex/clearing/session/stage/FinalMkrSession.java | 1 + .../clearing/session/stage/IntermediateMkrSession.java | 1 + .../clearing/session/stage/PrimaryAuctionB0Session.java | 1 + .../clearing/session/stage/PrimaryAuctionBnSession.java | 1 + .../clearing/session/stage/PrimaryAuctionT0Session.java | 1 + .../clearing/session/stage/ReturnDepositSession.java | 1 + .../clearing/session/stage/SecondaryAuctionT0Session.java | 1 + .../java/ru/spcex/clearing/session/stage/TaskType.java | 1 + .../spcex/clearing/session/stage/impl/BalanceRevise.java | 6 ++++-- 10 files changed, 19 insertions(+), 3 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java index a22e0ab90..6114dac29 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/session/StateBnConfig.java @@ -147,6 +147,7 @@ public class StateBnConfig extends EnumStateMachineConfigurerAdapter(Arrays.asList(TaskType.StartRevise, TaskType.ContinueRevise, + TaskType.StartRevisePart1, TaskType.DealsPrepare, TaskType.RequirementsAndObligationsCreate, TaskType.ObligationsAdmission, @@ -173,11 +174,16 @@ public class StateBnConfig extends EnumStateMachineConfigurerAdapter { log.info("SDF57 and SDF01 received, continue session"); }) .and() + .withExternal() + .event(SessionEvent.Revise) + .source(TaskType.StartRevisePart1).target(TaskType.DealsPrepare) + .action(balanceReviseAction) + .and() .withExternal() .source(TaskType.DealsPrepare).target(TaskType.RequirementsAndObligationsCreate) .action(dealPrepareAction) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java index 82cb7df9f..3c81a6aaf 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/FinalMkrSession.java @@ -159,6 +159,7 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 1 StageResult> dealsPreparationResult; { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java index b292bca0e..e22e148ff 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/IntermediateMkrSession.java @@ -153,6 +153,7 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 1 StageResult> dealsPreparationResult; { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java index c49ecc7e7..2b7a51980 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionB0Session.java @@ -147,6 +147,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 1 StageResult> dealsPreparationResult; { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java index 0ef1a2dc5..ccfc80613 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionBnSession.java @@ -148,6 +148,7 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 1 StageResult> dealsPreparationResult; { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java index b4991e596..df42c6510 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/PrimaryAuctionT0Session.java @@ -148,6 +148,7 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 1 StageResult> dealsPreparationResult; { diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java index 74cfa6601..b808cc95a 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/ReturnDepositSession.java @@ -139,6 +139,7 @@ public class ReturnDepositSession extends AbstractSession implements Initializin log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 4 { InclusionToPoolPayload inclusionToPoolPayload = new InclusionToPoolPayload(); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java index 41a0c5ba9..d6a8923ad 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/SecondaryAuctionT0Session.java @@ -142,6 +142,7 @@ public class SecondaryAuctionT0Session extends AbstractSession implements Initia log.error("cannot continue session, current stage is {}", currStage.get()); throw new StageException(); } + runStage(TaskType.StartRevisePart1, currSession.getId(), balanceRevise); //stage 1 StageResult> dealsPreparationResult; { 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 f4db6ff18..142bca615 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 @@ -8,6 +8,7 @@ public enum TaskType implements IEnumKey { */ StartRevise("CLR0"), ContinueRevise("CLR 0_0"), + StartRevisePart1("CLR 0_9"), /** * step 1 diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java index a2438defe..c2a17fe40 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/BalanceRevise.java @@ -64,10 +64,12 @@ public class BalanceRevise implements ISessionStage { return sendSdfs(); } case ContinueRevise -> { - revise(); // основная сверка + return revise(); // основная сверка + } + case StartRevisePart1 -> { // часть 1, часть 2 на стадии 5 (InspectionObligations) return reviseStage1(); // подготовка к стадии 3 (к AgainRevise) } - case AgainRevise -> { + case AgainRevise -> { // часть 3 return reviseStage3(); } default -> throw new IllegalStateException("unknown task " + task.getTaskType());