убрал паузу из XDEP на 5м шаге
This commit is contained in:
parent
b58d20a5e9
commit
1d1718d7a0
1 changed files with 2 additions and 51 deletions
|
|
@ -4,10 +4,7 @@ import java.time.LocalDate;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
|
||||||
import java.util.function.Supplier;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.statemachine.config.EnableStateMachineFactory;
|
import org.springframework.statemachine.config.EnableStateMachineFactory;
|
||||||
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
|
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
|
||||||
|
|
@ -19,10 +16,8 @@ import ru.clearing.classes.statics.data.misc.Session;
|
||||||
import ru.clearing.classes.statics.data.registry.Registry;
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.session.stage.TaskType;
|
import ru.spcex.clearing.session.stage.TaskType;
|
||||||
import ru.spcex.clearing.session.state.DataEnum;
|
|
||||||
import ru.spcex.clearing.session.state.SsnEvent;
|
import ru.spcex.clearing.session.state.SsnEvent;
|
||||||
import ru.spcex.clearing.session.state.action.CreateSessionAction;
|
import ru.spcex.clearing.session.state.action.CreateSessionAction;
|
||||||
import ru.spcex.clearing.session.state.action.DiscardRegistriesAction;
|
|
||||||
import ru.spcex.clearing.session.state.action.FinishingSessionAction;
|
import ru.spcex.clearing.session.state.action.FinishingSessionAction;
|
||||||
import ru.spcex.clearing.session.state.action.FormingPaymentInstructionDepositReturnAction;
|
import ru.spcex.clearing.session.state.action.FormingPaymentInstructionDepositReturnAction;
|
||||||
import ru.spcex.clearing.session.state.action.InclusionToPoolAction;
|
import ru.spcex.clearing.session.state.action.InclusionToPoolAction;
|
||||||
|
|
@ -31,16 +26,12 @@ import ru.spcex.clearing.session.state.action.ReviseStage1Action;
|
||||||
import ru.spcex.clearing.session.state.action.SaveRegistriesAfterInspectionAndContinueAction;
|
import ru.spcex.clearing.session.state.action.SaveRegistriesAfterInspectionAndContinueAction;
|
||||||
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
import ru.spcex.clearing.session.state.action.Sdf56Action;
|
||||||
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
import ru.spcex.clearing.session.state.action.SdfReceivedAction;
|
||||||
import ru.spcex.clearing.session.state.action.UpdateWorkflowStatusAction;
|
|
||||||
import ru.spcex.clearing.session.state.guard.ErroneousRegistriesPresentGuard;
|
|
||||||
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedListGuard;
|
import ru.spcex.clearing.session.state.guard.PaymentsWereCreatedListGuard;
|
||||||
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedListGuard;
|
import ru.spcex.clearing.session.state.guard.PaymentsWereNotCreatedListGuard;
|
||||||
import ru.spcex.clearing.session.state.guard.SdfGuardUtil;
|
import ru.spcex.clearing.session.state.guard.SdfGuardUtil;
|
||||||
import ru.spcex.clearing.session.state.guard.SdfSetGuard;
|
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.session.state.listener.MachineMonitoringListener;
|
||||||
import static ru.spcex.clearing.util.StateMachineUtil.chain;
|
import static ru.spcex.clearing.util.StateMachineUtil.chain;
|
||||||
import static ru.spcex.clearing.util.StateMachineUtil.invert;
|
|
||||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||||
import ru.spcex.platform.enumeration.Section;
|
import ru.spcex.platform.enumeration.Section;
|
||||||
import ru.spcex.platform.enumeration.SessionType;
|
import ru.spcex.platform.enumeration.SessionType;
|
||||||
|
|
@ -61,14 +52,6 @@ public class ReturnDepositSessionStateMachineConfig
|
||||||
private final FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction;
|
private final FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction;
|
||||||
private final FinishingSessionAction finishingSessionAction;
|
private final FinishingSessionAction finishingSessionAction;
|
||||||
private final SaveRegistriesAfterInspectionAndContinueAction saveRegistriesAfterInspectionAndContinueAction;
|
private final SaveRegistriesAfterInspectionAndContinueAction saveRegistriesAfterInspectionAndContinueAction;
|
||||||
private final UpdateWorkflowStatusAction pauseWsAction;
|
|
||||||
private final UpdateWorkflowStatusAction activeWsAction;
|
|
||||||
private final DiscardRegistriesAction discardInspOblStash = new DiscardRegistriesAction(
|
|
||||||
DataEnum.inspectionObligationStashedRgs
|
|
||||||
);
|
|
||||||
private final StashedRegistriesPresentGuard oblAdmGuard = new StashedRegistriesPresentGuard(
|
|
||||||
DataEnum.obligationAdmissionStashedRgs);
|
|
||||||
private final ErroneousRegistriesPresentGuard inspErrGuard = new ErroneousRegistriesPresentGuard();
|
|
||||||
private final SessionType SESSION_TYPE = SessionType.XDEP;
|
private final SessionType SESSION_TYPE = SessionType.XDEP;
|
||||||
private final Section SECTION = Section.MKR;
|
private final Section SECTION = Section.MKR;
|
||||||
|
|
||||||
|
|
@ -79,14 +62,9 @@ public class ReturnDepositSessionStateMachineConfig
|
||||||
ReviseStage1Action reviseStage1Action,
|
ReviseStage1Action reviseStage1Action,
|
||||||
InclusionToPoolAction inclusionToPoolAction,
|
InclusionToPoolAction inclusionToPoolAction,
|
||||||
FinishingSessionAction finishingSessionAction,
|
FinishingSessionAction finishingSessionAction,
|
||||||
@Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes,
|
|
||||||
InspectionObligationsDepositReturnAction inspectionObligationsDepositReturnAction,
|
InspectionObligationsDepositReturnAction inspectionObligationsDepositReturnAction,
|
||||||
FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction,
|
FormingPaymentInstructionDepositReturnAction formingPaymentInstructionDepositReturnAction,
|
||||||
SaveRegistriesAfterInspectionAndContinueAction saveRegistriesAfterInspectionAndContinueAction,
|
SaveRegistriesAfterInspectionAndContinueAction saveRegistriesAfterInspectionAndContinueAction
|
||||||
@Qualifier("pauseWorkflowStatusAction")
|
|
||||||
UpdateWorkflowStatusAction pauseWsAction,
|
|
||||||
@Qualifier("activeWorkflowStatusAction")
|
|
||||||
UpdateWorkflowStatusAction activeWsAction
|
|
||||||
) {
|
) {
|
||||||
this.sendSdf56Action = sendSdf56Action;
|
this.sendSdf56Action = sendSdf56Action;
|
||||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||||
|
|
@ -96,8 +74,6 @@ public class ReturnDepositSessionStateMachineConfig
|
||||||
this.formingPaymentInstructionDepositReturnAction = formingPaymentInstructionDepositReturnAction;
|
this.formingPaymentInstructionDepositReturnAction = formingPaymentInstructionDepositReturnAction;
|
||||||
this.finishingSessionAction = finishingSessionAction;
|
this.finishingSessionAction = finishingSessionAction;
|
||||||
this.saveRegistriesAfterInspectionAndContinueAction = saveRegistriesAfterInspectionAndContinueAction;
|
this.saveRegistriesAfterInspectionAndContinueAction = saveRegistriesAfterInspectionAndContinueAction;
|
||||||
this.pauseWsAction = pauseWsAction;
|
|
||||||
this.activeWsAction = activeWsAction;
|
|
||||||
this.finishingSessionAction.setPr("4");
|
this.finishingSessionAction.setPr("4");
|
||||||
|
|
||||||
Imdg<Registry> rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
Imdg<Registry> rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||||
|
|
@ -130,8 +106,7 @@ public class ReturnDepositSessionStateMachineConfig
|
||||||
TaskType.FormingRegistersOnOS,
|
TaskType.FormingRegistersOnOS,
|
||||||
TaskType.FormingPaymentInstruction,
|
TaskType.FormingPaymentInstruction,
|
||||||
TaskType.FinishingSession,
|
TaskType.FinishingSession,
|
||||||
TaskType.PSEUDO_waitSdfAfterPaymentInstructions,
|
TaskType.PSEUDO_waitSdfAfterPaymentInstructions
|
||||||
TaskType.PSEUDO_waitAfterInspectionError
|
|
||||||
)))
|
)))
|
||||||
.end(TaskType.FinishingSession);
|
.end(TaskType.FinishingSession);
|
||||||
}
|
}
|
||||||
|
|
@ -156,20 +131,12 @@ public class ReturnDepositSessionStateMachineConfig
|
||||||
sourceFormingPaymentInstruction(transitions);
|
sourceFormingPaymentInstruction(transitions);
|
||||||
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
sourcePseudoWaitSdfAfterPaymentInstructions(transitions);
|
||||||
sourceInspection(transitions);
|
sourceInspection(transitions);
|
||||||
sourcePseudoAfterIOError(transitions);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourceInspection(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
private void sourceInspection(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
||||||
transitions
|
transitions
|
||||||
.withExternal()
|
|
||||||
.source(TaskType.InspectionObligations)
|
|
||||||
.target(TaskType.PSEUDO_waitAfterInspectionError)
|
|
||||||
.guard(inspErrGuard)
|
|
||||||
.action(pauseWsAction)
|
|
||||||
.and()
|
|
||||||
.withExternal()
|
.withExternal()
|
||||||
.source(TaskType.InspectionObligations).target(TaskType.FormingPaymentInstruction)
|
.source(TaskType.InspectionObligations).target(TaskType.FormingPaymentInstruction)
|
||||||
.guard(invert(inspErrGuard))
|
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
.action(saveRegistriesAfterInspectionAndContinueAction)
|
||||||
.action(formingPaymentInstructionDepositReturnAction);
|
.action(formingPaymentInstructionDepositReturnAction);
|
||||||
}
|
}
|
||||||
|
|
@ -207,22 +174,6 @@ public class ReturnDepositSessionStateMachineConfig
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sourcePseudoAfterIOError(StateMachineTransitionConfigurer<TaskType, SsnEvent> transitions) throws Exception {
|
|
||||||
transitions
|
|
||||||
//continue and repeat after InspectionObligations
|
|
||||||
.withExternal()
|
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.FormingPaymentInstruction)
|
|
||||||
.action(activeWsAction)
|
|
||||||
.action(saveRegistriesAfterInspectionAndContinueAction)
|
|
||||||
.action(formingPaymentInstructionDepositReturnAction)
|
|
||||||
.event(SsnEvent.CONTINUE)
|
|
||||||
.and()
|
|
||||||
.withExternal()
|
|
||||||
.source(TaskType.PSEUDO_waitAfterInspectionError).target(TaskType.InspectionObligations)
|
|
||||||
.action(chain(activeWsAction, discardInspOblStash, inspectionObligationsDepositReturnAction))
|
|
||||||
.event(SsnEvent.REPEAT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(StateMachineConfigurationConfigurer<TaskType, SsnEvent> config) throws Exception {
|
public void configure(StateMachineConfigurationConfigurer<TaskType, SsnEvent> config) throws Exception {
|
||||||
StateMachineListenerAdapter<TaskType, SsnEvent> loggingChangeStateListener
|
StateMachineListenerAdapter<TaskType, SsnEvent> loggingChangeStateListener
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue