PAUS workflow status
This commit is contained in:
parent
c7b43312e2
commit
fd7ea384cb
13 changed files with 209 additions and 36 deletions
|
|
@ -35,6 +35,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
|
|
@ -72,6 +73,9 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final Guard<TaskType, SsnEvent> reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess);
|
||||
private final SessionType SESSION_TYPE = SessionType.CURR;
|
||||
private final Section SECTION = Section.MKR;
|
||||
|
|
@ -91,7 +95,11 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
EndStageNotificationAction endStageNotification,
|
||||
@Qualifier("marketCodesForCurr")
|
||||
Supplier<List<String>> marketCodes,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction) {
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction) {
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.reviseStage1Action = reviseStage1Action;
|
||||
|
|
@ -105,6 +113,8 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
this.finishingSessionAction = finishingSession;
|
||||
this.endStageNotificationAction = endStageNotification;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
this.finishingSessionAction.setPr("1");
|
||||
|
||||
Imdg<ExecutionCurrency> executionCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class);
|
||||
|
|
@ -192,6 +202,7 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -203,12 +214,12 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,13 +35,13 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuardUtil;
|
||||
import ru.spcex.clearing.session.state.guard.SdfSetGuard;
|
||||
import ru.spcex.clearing.session.state.guard.StashedRegistriesPresentGuard;
|
||||
import ru.spcex.clearing.session.state.listener.MachineMonitoringListener;
|
||||
import ru.spcex.clearing.util.StateMachineUtil;
|
||||
import static ru.spcex.clearing.util.StateMachineUtil.chain;
|
||||
import static ru.spcex.clearing.util.StateMachineUtil.invert;
|
||||
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
||||
|
|
@ -76,6 +76,8 @@ public class FinalSessionStateMachineConfig
|
|||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final SessionType SESSION_TYPE = SessionType.FINL;
|
||||
private final Section SECTION = Section.MKR;
|
||||
|
|
@ -94,11 +96,17 @@ public class FinalSessionStateMachineConfig
|
|||
InspectionObligationsV2Action inspectionObligationsV2Action,
|
||||
FormingPaymentInstructionReturnMkrAction formingPaymentInstructionReturnMkrAction,
|
||||
FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction,
|
||||
FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction
|
||||
FinishingSessionAction finishingSessionAction,
|
||||
EndStageNotificationAction endStageNotificationAction,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("pauseWorkflowStatusAction") UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction") UpdateWorkflowStatusAction activeWsAction
|
||||
) {
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<Registry> rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
this.reviseStage1Action = reviseStage1Action;
|
||||
this.dealsPrepareAction = dealsPrepareAction;
|
||||
|
|
@ -200,6 +208,7 @@ public class FinalSessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -211,12 +220,12 @@ public class FinalSessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(StateMachineUtil.chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
|
|
@ -43,7 +44,6 @@ import ru.spcex.clearing.session.state.guard.SdfGuardUtil;
|
|||
import ru.spcex.clearing.session.state.guard.SdfSetGuard;
|
||||
import ru.spcex.clearing.session.state.guard.StashedRegistriesPresentGuard;
|
||||
import ru.spcex.clearing.session.state.listener.MachineMonitoringListener;
|
||||
import ru.spcex.clearing.util.StateMachineUtil;
|
||||
import static ru.spcex.clearing.util.StateMachineUtil.*;
|
||||
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||
|
|
@ -76,6 +76,8 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
private final Guard<TaskType, SsnEvent> reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess);
|
||||
|
||||
private final SessionType SESSION_TYPE = SessionType.MEDM;
|
||||
|
|
@ -93,12 +95,18 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
InclusionToPoolAction inclusionToPoolAction,
|
||||
InspectionObligationsV2Action inspectionObligationsV2Action,
|
||||
FormingPaymentInstructionAssetsAction formingPaymentInstructionAssetsAction, AgainReviseStage3Action againRevise,
|
||||
FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction
|
||||
FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction
|
||||
) {
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.againRevise = againRevise;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<Registry> rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
this.reviseStage1Action = reviseStage1Action;
|
||||
this.dealsPrepareAction = dealsPrepareAction;
|
||||
|
|
@ -205,6 +213,7 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -216,12 +225,12 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(StateMachineUtil.chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import ru.spcex.clearing.session.state.action.ObligationAdmissionAction;
|
|||
import ru.spcex.clearing.session.state.action.RequirementAndObligationCreationAction;
|
||||
import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
||||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.StashedRegistriesPresentGuard;
|
||||
import ru.spcex.clearing.session.state.listener.MachineMonitoringListener;
|
||||
import static ru.spcex.clearing.util.StateMachineUtil.*;
|
||||
|
|
@ -62,6 +63,8 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
private final Guard<TaskType, SsnEvent> reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess);
|
||||
private final SessionType SESSION_TYPE = SessionType.PAYM;
|
||||
private final Section SECTION = Section.CURR;
|
||||
|
|
@ -80,8 +83,14 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
EndStageNotificationAction endStageNotification,
|
||||
@Qualifier("marketCodesForCurr")
|
||||
Supplier<List<String>> marketCodes,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction) {
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction) {
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<ExecutionCurrency> executionCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class);
|
||||
this.reviseStage1Action = reviseStage1Action;
|
||||
this.dealsPrepareAction = dealsPrepare;
|
||||
|
|
@ -177,6 +186,7 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -188,12 +198,12 @@ public class PaymSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import ru.spcex.clearing.session.state.action.DiscardRegistriesAction;
|
|||
import ru.spcex.clearing.session.state.action.ObligationAdmissionAction;
|
||||
import ru.spcex.clearing.session.state.action.RequirementAndObligationCreationAction;
|
||||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.StashedRegistriesPresentGuard;
|
||||
import ru.spcex.clearing.session.state.listener.MachineMonitoringListener;
|
||||
import static ru.spcex.clearing.util.StateMachineUtil.chain;
|
||||
|
|
@ -53,6 +54,9 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final SessionType SESSION_TYPE = SessionType.PREP;
|
||||
private final Section SECTION = Section.CURR;
|
||||
|
||||
|
|
@ -64,8 +68,14 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
ObligationAdmissionAction obligationsAdmission,
|
||||
@Qualifier("marketCodesForCurr")
|
||||
Supplier<List<String>> marketCodes,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction) {
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction) {
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<ExecutionCurrency> executionCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class);
|
||||
this.dealsPrepareAction = dealsPrepare;
|
||||
this.reqAndOblAction = reqAndOblAction;
|
||||
|
|
@ -129,6 +139,7 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.PSEUDO_end)
|
||||
|
|
@ -140,12 +151,12 @@ public class PrepSessionStateMachineConfig extends EnumStateMachineConfigurerAda
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.PSEUDO_end)
|
||||
.action(chain(obligationAdmissionContinueAction, endSession))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, endSession))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedListGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedListGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
|
|
@ -69,10 +70,12 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
private final AgainReviseStage3Action againRevise;
|
||||
private final FinishingSessionAction finishingSessionAction;
|
||||
private final EndStageNotificationAction endStageNotificationAction;
|
||||
|
||||
private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction;
|
||||
private final DiscardRegistriesAction discardOblAdmStash =
|
||||
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
|
|
@ -94,10 +97,19 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
InspectionObligationsV2Action inspectionObligationsV2Action,
|
||||
FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction,
|
||||
AgainReviseStage3Action againRevise,
|
||||
FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes
|
||||
FinishingSessionAction finishingSessionAction,
|
||||
EndStageNotificationAction endStageNotificationAction,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction
|
||||
) {
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||
this.againRevise = againRevise;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
|
|
@ -199,6 +211,7 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -210,12 +223,12 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedListGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedListGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuardUtil;
|
||||
|
|
@ -65,10 +66,12 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
|||
private final FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction;
|
||||
private final FinishingSessionAction finishingSessionAction;
|
||||
private final EndStageNotificationAction endStageNotificationAction;
|
||||
|
||||
private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction;
|
||||
private final DiscardRegistriesAction discardOblAdmStash =
|
||||
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
|
|
@ -89,10 +92,20 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
|||
InclusionToPoolAction inclusionToPoolAction,
|
||||
InspectionObligationsV2Action inspectionObligationsV2Action,
|
||||
FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction,
|
||||
FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes
|
||||
FinishingSessionAction finishingSessionAction,
|
||||
EndStageNotificationAction endStageNotificationAction,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("marketCodesForBn")
|
||||
Supplier<List<String>> marketCodes,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction
|
||||
) {
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
this.reviseStage1Action = reviseStage1Action;
|
||||
|
|
@ -184,6 +197,7 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -195,12 +209,12 @@ public class PrimaryAuctionBnSessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedListGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedListGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
|
|
@ -69,10 +70,12 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
|||
private final AgainReviseStage3Action againRevise;
|
||||
private final FinishingSessionAction finishingSessionAction;
|
||||
private final EndStageNotificationAction endStageNotificationAction;
|
||||
|
||||
private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction;
|
||||
private final DiscardRegistriesAction discardOblAdmStash =
|
||||
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
|
|
@ -94,10 +97,20 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
|||
InspectionObligationsV2Action inspectionObligationsV2Action,
|
||||
FormingPaymentInstructionSecuritiesAction formingPaymentInstructionSecuritiesAction,
|
||||
AgainReviseStage3Action againRevise,
|
||||
FinishingSessionAction finishingSessionAction, EndStageNotificationAction endStageNotificationAction, SaveRegistriesAndContinueAction obligationAdmissionContinueAction, @Qualifier("marketCodesForT0Primary") Supplier<List<String>> marketCodes
|
||||
FinishingSessionAction finishingSessionAction,
|
||||
EndStageNotificationAction endStageNotificationAction,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("marketCodesForT0Primary")
|
||||
Supplier<List<String>> marketCodes,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction
|
||||
) {
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||
this.againRevise = againRevise;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
|
|
@ -199,6 +212,7 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -210,12 +224,12 @@ public class PrimaryAuctionT0SessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
|
|
@ -69,10 +70,12 @@ public class SecondaryAuctionT0SessionStateMachineConfig
|
|||
private final AgainReviseStage3Action againRevise;
|
||||
private final FinishingSessionAction finishingSessionAction;
|
||||
private final EndStageNotificationAction endStageNotificationAction;
|
||||
|
||||
private final SaveRegistriesAndContinueAction obligationAdmissionContinueAction;
|
||||
private final DiscardRegistriesAction discardOblAdmStash =
|
||||
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
|
|
@ -97,10 +100,17 @@ public class SecondaryAuctionT0SessionStateMachineConfig
|
|||
FinishingSessionAction finishingSessionAction,
|
||||
EndStageNotificationAction endStageNotificationAction,
|
||||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
@Qualifier("marketCodesForT0") Supplier<List<String>> marketCodes
|
||||
@Qualifier("marketCodesForT0")
|
||||
Supplier<List<String>> marketCodes,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction
|
||||
) {
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||
this.againRevise = againRevise;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
|
|
@ -202,6 +212,7 @@ public class SecondaryAuctionT0SessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -213,12 +224,12 @@ public class SecondaryAuctionT0SessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
|||
import ru.spcex.clearing.session.state.action.SaveRegistriesAndContinueAction;
|
||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedGuard;
|
||||
import ru.spcex.clearing.session.state.guard.SdfGuard;
|
||||
|
|
@ -73,6 +74,9 @@ public class UnitedSessionStateMachineConfig
|
|||
private final FinishingSessionAction finishingSessionAction;
|
||||
private final DiscardRegistriesAction discardOblAdmStash =
|
||||
new DiscardRegistriesAction(DataEnum.obligationAdmissionStashedRgs);
|
||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
||||
private final UpdateWorkflowStatusAction activeWsAction;
|
||||
|
||||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
||||
DataEnum.obligationAdmissionStashedRgs
|
||||
);
|
||||
|
|
@ -94,7 +98,11 @@ public class UnitedSessionStateMachineConfig
|
|||
SaveRegistriesAndContinueAction obligationAdmissionContinueAction,
|
||||
FinishingSessionAction finishingSessionAction,
|
||||
@Qualifier("marketCodesForCurr") Supplier<List<String>> marketCodesCurr,
|
||||
@Qualifier("marketCodesForT0") Supplier<List<String>> marketCodesTrdt) {
|
||||
@Qualifier("marketCodesForT0") Supplier<List<String>> marketCodesTrdt,
|
||||
@Qualifier("pauseWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction pauseWsAction,
|
||||
@Qualifier("activeWorkflowStatusAction")
|
||||
UpdateWorkflowStatusAction activeWsAction) {
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.sendSdf56Action = sendSdf56Action;
|
||||
this.reviseStage1Action = reviseStage1Action;
|
||||
|
|
@ -109,6 +117,8 @@ public class UnitedSessionStateMachineConfig
|
|||
this.againRevise = againRevise;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
this.finishingSessionAction = finishingSessionAction;
|
||||
this.pauseWsAction = pauseWsAction;
|
||||
this.activeWsAction = activeWsAction;
|
||||
|
||||
{
|
||||
Imdg<ExecutionFond> executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||
|
|
@ -206,6 +216,7 @@ public class UnitedSessionStateMachineConfig
|
|||
.source(TaskType.ObligationsAdmission)
|
||||
.target(TaskType.PSEUDO_waitAfterObligationAdmissionError)
|
||||
.guard(oblAdmGuard)
|
||||
.action(pauseWsAction)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.ObligationsAdmission).target(TaskType.InclusionToPool)
|
||||
|
|
@ -217,12 +228,12 @@ public class UnitedSessionStateMachineConfig
|
|||
transitions
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.InclusionToPool)
|
||||
.action(chain(obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.action(chain(activeWsAction, obligationAdmissionContinueAction, inclusionToPoolAction))
|
||||
.event(SsnEvent.CONTINUE)
|
||||
.and()
|
||||
.withExternal()
|
||||
.source(TaskType.PSEUDO_waitAfterObligationAdmissionError).target(TaskType.ObligationsAdmission)
|
||||
.action(chain(discardOblAdmStash, obligationAdmissionAction))
|
||||
.action(chain(activeWsAction, discardOblAdmStash, obligationAdmissionAction))
|
||||
.event(SsnEvent.REPEAT);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
package ru.spcex.clearing.session.state.action;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.statemachine.StateContext;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.session.stage.TaskType;
|
||||
import ru.spcex.clearing.session.state.DataEnum;
|
||||
import ru.spcex.clearing.session.state.SsnEvent;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
public class UpdateWorkflowStatusAction extends AbstractSessionActionForOkErrorHandling {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final Imdg<Session> ssnImdg;
|
||||
private final WorkflowStatus status;
|
||||
|
||||
public UpdateWorkflowStatusAction(ImdgProvider imdgProvider, WorkflowStatus ws) {
|
||||
this.ssnImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.status = ws;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actualExecute(StateContext<TaskType, SsnEvent> ctx) {
|
||||
Session session = ctx.getExtendedState().get(DataEnum.session, Session.class);
|
||||
if (status == null)
|
||||
throw new IllegalStateException("status must be set for %s action".formatted(getClass()));
|
||||
session.setWorkflowStatus(status.getKey());
|
||||
log.info("updating session status to {}", status);
|
||||
ssnImdg.update(session);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package ru.spcex.clearing.session.state.action;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@Configuration
|
||||
public class WorkflowStatusConfiguration {
|
||||
private final ImdgProvider imdgProvider;
|
||||
|
||||
public WorkflowStatusConfiguration(ImdgProvider imdgProvider) {
|
||||
this.imdgProvider = imdgProvider;
|
||||
}
|
||||
|
||||
@Bean("pauseWorkflowStatusAction")
|
||||
public UpdateWorkflowStatusAction pauseWorkflowStatusAction() {
|
||||
return new UpdateWorkflowStatusAction(imdgProvider, WorkflowStatus.Pause);
|
||||
}
|
||||
|
||||
@Bean("activeWorkflowStatusAction")
|
||||
public UpdateWorkflowStatusAction activeWorkflowStatusAction() {
|
||||
return new UpdateWorkflowStatusAction(imdgProvider, WorkflowStatus.Active);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
|
|||
|
||||
public enum WorkflowStatus implements IEnumKey {
|
||||
Active("ACTV"),
|
||||
Pause("PAUS"),
|
||||
Blocked("BLKD");
|
||||
|
||||
private final String key;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue