get section and sessionType from machine context
This commit is contained in:
parent
66be672adb
commit
ec012740cb
8 changed files with 13 additions and 76 deletions
|
|
@ -75,7 +75,6 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
);
|
||||
private final Guard<TaskType, SsnEvent> reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess);
|
||||
private final SessionType SESSION_TYPE = SessionType.MEDM;
|
||||
private final Section SECTION = Section.MKR;
|
||||
|
||||
public CurrencySessionStateMachineConfig(ImdgProvider imdgProvider,
|
||||
Sdf56Action sendSdf56Action,
|
||||
|
|
@ -107,16 +106,12 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
this.finishingSessionAction = finishingSession;
|
||||
this.endStageNotificationAction = endStageNotification;
|
||||
this.obligationAdmissionContinueAction = obligationAdmissionContinueAction;
|
||||
|
||||
this.finishingSessionAction.setSessionType(SESSION_TYPE);
|
||||
this.finishingSessionAction.setSection(SECTION);
|
||||
this.finishingSessionAction.setPr("1");
|
||||
|
||||
dealsPrepareAction.searchForExecutions(ExecutionType.ExecutionCurrency);
|
||||
ImdgPredicateBuilder execFondPb = executionCurrencyImdg.predicateBuilder();
|
||||
dealsPrepareAction.addExecutionCurrencyCondition(execFondPb.regex("settlementCode", "^T0.*$"));
|
||||
dealsPrepareAction.addExecutionCurrencyCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0])));
|
||||
this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE);
|
||||
this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs);
|
||||
}
|
||||
|
||||
|
|
@ -125,9 +120,7 @@ public class CurrencySessionStateMachineConfig extends EnumStateMachineConfigure
|
|||
states
|
||||
.withStates()
|
||||
.initial(TaskType.StartRevise, chain(
|
||||
new CreateSessionAction(sessionImdg)
|
||||
.sessionType(SESSION_TYPE)
|
||||
.section(SECTION),
|
||||
new CreateSessionAction(sessionImdg, SessionType.MEDM, Section.MKR),
|
||||
sendSdf56Action))
|
||||
.states(new HashSet<>(Arrays.asList(
|
||||
TaskType.StartRevise,
|
||||
|
|
|
|||
|
|
@ -78,7 +78,6 @@ public class FinalSessionStateMachineConfig
|
|||
);
|
||||
|
||||
private final SessionType SESSION_TYPE = SessionType.FINL;
|
||||
private final Section SECTION = Section.MKR;
|
||||
|
||||
|
||||
@Autowired
|
||||
|
|
@ -112,8 +111,6 @@ public class FinalSessionStateMachineConfig
|
|||
this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction;
|
||||
this.finishingSessionAction = finishingSessionAction;
|
||||
this.endStageNotificationAction = endStageNotificationAction;
|
||||
this.finishingSessionAction.setSessionType(SESSION_TYPE);
|
||||
this.finishingSessionAction.setSection(SECTION);
|
||||
this.finishingSessionAction.setPr("3");
|
||||
|
||||
//stages settings:
|
||||
|
|
@ -128,8 +125,6 @@ public class FinalSessionStateMachineConfig
|
|||
rgsPrctBuilder.lessEqual("valueDate", LocalDate.now())
|
||||
)
|
||||
);
|
||||
this.inspOblDepositReturnAction.setSessionType(SESSION_TYPE);
|
||||
this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE);
|
||||
this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs);
|
||||
}
|
||||
|
||||
|
|
@ -138,9 +133,7 @@ public class FinalSessionStateMachineConfig
|
|||
states
|
||||
.withStates()
|
||||
.initial(TaskType.StartRevise, chain(
|
||||
new CreateSessionAction(sessionImdg)
|
||||
.sessionType(SESSION_TYPE)
|
||||
.section(SECTION),
|
||||
new CreateSessionAction(sessionImdg, SessionType.FINL, Section.MKR),
|
||||
sendSdf56Action))
|
||||
.states(new HashSet<>(Arrays.asList(
|
||||
TaskType.StartRevise,
|
||||
|
|
|
|||
|
|
@ -78,7 +78,6 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
private final Guard<TaskType, SsnEvent> reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess);
|
||||
|
||||
private final SessionType SESSION_TYPE = SessionType.MEDM;
|
||||
private final Section SECTION = Section.MKR;
|
||||
|
||||
|
||||
@Autowired
|
||||
|
|
@ -109,8 +108,6 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
this.formingPaymentInstructionAssetsAction = formingPaymentInstructionAssetsAction;
|
||||
this.finishingSessionAction = finishingSessionAction;
|
||||
this.endStageNotificationAction = endStageNotificationAction;
|
||||
this.finishingSessionAction.setSessionType(SESSION_TYPE);
|
||||
this.finishingSessionAction.setSection(SECTION);
|
||||
this.finishingSessionAction.setPr("4");
|
||||
|
||||
//stages settings:
|
||||
|
|
@ -125,7 +122,6 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
rgsPrctBuilder.equals("valueDate", LocalDate.now())
|
||||
)
|
||||
);
|
||||
this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE);
|
||||
this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs);
|
||||
}
|
||||
|
||||
|
|
@ -134,9 +130,7 @@ public class IntermediateMkrSessionStateMachineConfig
|
|||
states
|
||||
.withStates()
|
||||
.initial(TaskType.StartRevise, chain(
|
||||
new CreateSessionAction(sessionImdg)
|
||||
.sessionType(SESSION_TYPE)
|
||||
.section(SECTION),
|
||||
new CreateSessionAction(sessionImdg, SessionType.MEDM, Section.MKR),
|
||||
sendSdf56Action))
|
||||
.states(new HashSet<>(Arrays.asList(
|
||||
TaskType.StartRevise,
|
||||
|
|
|
|||
|
|
@ -78,7 +78,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
private final Guard<TaskType, SsnEvent> reviseSuccessGuard = guardCheckCtxForFlag(DataEnum.againReviseSuccess);
|
||||
|
||||
private final SessionType SESSION_TYPE = SessionType.IPO0;
|
||||
private final Section SECTION = Section.FOND;
|
||||
|
||||
|
||||
@Autowired
|
||||
|
|
@ -110,8 +109,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
this.formingPaymentInstructionSecuritiesAction = formingPaymentInstructionSecuritiesAction;
|
||||
this.finishingSessionAction = finishingSessionAction;
|
||||
this.endStageNotificationAction = endStageNotificationAction;
|
||||
this.finishingSessionAction.setSessionType(SESSION_TYPE);
|
||||
this.finishingSessionAction.setSection(SECTION);
|
||||
this.finishingSessionAction.setPr("0");
|
||||
|
||||
//stages settings:
|
||||
|
|
@ -119,8 +116,6 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
ImdgPredicateBuilder execFondPb = executionFondImdg.predicateBuilder();
|
||||
dealsPrepareAction.addExecutionFondCondition(execFondPb.equals("settlementCode", "B0"));
|
||||
dealsPrepareAction.addExecutionFondCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0])));
|
||||
|
||||
this.inspectionObligationsV2Action.setSessionType(SESSION_TYPE);
|
||||
this.obligationAdmissionContinueAction.setDataEnum(DataEnum.obligationAdmissionStashedRgs);
|
||||
}
|
||||
|
||||
|
|
@ -129,9 +124,7 @@ public class PrimaryAuctionB0SessionStateMachineConfig
|
|||
states
|
||||
.withStates()
|
||||
.initial(TaskType.StartRevise, chain(
|
||||
new CreateSessionAction(sessionImdg)
|
||||
.sessionType(SESSION_TYPE)
|
||||
.section(SECTION),
|
||||
new CreateSessionAction(sessionImdg, SessionType.IPO0, Section.FOND),
|
||||
sendSdf56Action))
|
||||
.states(new HashSet<>(Arrays.asList(
|
||||
TaskType.StartRevise,
|
||||
|
|
|
|||
|
|
@ -17,21 +17,15 @@ import ru.spcex.platform.imdg.api.Imdg;
|
|||
public class CreateSessionAction extends AbstractSessionActionForOkErrorHandling {
|
||||
private final Imdg<Session> sessionImdg;
|
||||
private final Logger log = LoggerFactory.getLogger(CreateSessionAction.class);
|
||||
private SessionType sessionType;
|
||||
private Section section;
|
||||
private final SessionType sessionType;
|
||||
private final Section section;
|
||||
|
||||
public CreateSessionAction(Imdg<Session> sessionImdg) {
|
||||
public CreateSessionAction(Imdg<Session> sessionImdg,
|
||||
SessionType sessionType,
|
||||
Section section) {
|
||||
this.sessionImdg = sessionImdg;
|
||||
}
|
||||
|
||||
public CreateSessionAction sessionType(SessionType sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CreateSessionAction section(Section section) {
|
||||
this.section = section;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
|||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf05;
|
||||
import ru.spcex.clearing.component.GroupRgsKey;
|
||||
import static ru.spcex.clearing.error.ClearingErrorInternal.SessionGeneralError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -61,57 +60,44 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
|||
public class FinishingSessionAction extends AbstractSessionActionForOkErrorHandling {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<ExecutionFond> executionFondImdg;
|
||||
private final Imdg<ExecutionDeposit> executionDepositImdg;
|
||||
private final Imdg<ExecutionCurrency> executionCurrencyImdg;
|
||||
private final Imdg<Session> sessionImdg;
|
||||
private final Imdg<SDf05> sDf05Imdg;
|
||||
private final KafkaSender kafkaSender;
|
||||
private final IMessageResolver msgResolver;
|
||||
private final Sdf05Sender sdf05Sender;
|
||||
private final Sdf14Sender sdf14Sender;
|
||||
private SessionType sessionType;
|
||||
private Section section;
|
||||
private String pr;
|
||||
|
||||
|
||||
@Autowired
|
||||
public FinishingSessionAction(ImdgProvider imdgProvider,
|
||||
KafkaSender kafkaSender,
|
||||
IMessageResolver msgResolver,
|
||||
Sdf05Sender sdf05Sender,
|
||||
Sdf14Sender sdf14Sender) {
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
|
||||
this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
||||
this.executionCurrencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionCurrency, ExecutionCurrency.class);
|
||||
this.sDf05Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf05, SDf05.class);
|
||||
this.kafkaSender = kafkaSender;
|
||||
this.msgResolver = msgResolver;
|
||||
this.sdf05Sender = sdf05Sender;
|
||||
this.sdf14Sender = sdf14Sender;
|
||||
}
|
||||
|
||||
public void setSection(Section section) {
|
||||
this.section = section;
|
||||
}
|
||||
|
||||
public void setPr(String pr) {
|
||||
this.pr = pr;
|
||||
}
|
||||
|
||||
public void setSessionType(SessionType sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void actualExecute(StateContext<TaskType, SsnEvent> ctx) {
|
||||
Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class);
|
||||
this.sessionType = ctx.getExtendedState().get(DataEnum.sessionType, SessionType.class);
|
||||
Section section = ctx.getExtendedState().get(DataEnum.section, Section.class);
|
||||
if (pr == null) {
|
||||
throw new IllegalStateException("'pr' not set up");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ public class InspectionObligationsDepositReturnAction extends AbstractSessionAct
|
|||
@Override
|
||||
protected void actualExecute(StateContext<TaskType, SsnEvent> ctx) {
|
||||
Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class);
|
||||
this.sessionType = ctx.getExtendedState().get(DataEnum.sessionType, SessionType.class);
|
||||
String sqlCondition = String.format("(%s) and registryStatus = '%s'",
|
||||
RegistryCodeSqlBuilder.getInstance(OS_T, OM_T, TS_T, TM_T).build(),
|
||||
RegistryStatus.POOL.getKey());
|
||||
|
|
@ -300,8 +301,4 @@ public class InspectionObligationsDepositReturnAction extends AbstractSessionAct
|
|||
.formatted(omtRgs.getCounterPartyId(), ClearingCategory.V.getKey()));
|
||||
return ctgr != null;
|
||||
}
|
||||
|
||||
public void setSessionType(SessionType sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ import ru.spcex.clearing.service.cash.impl.RegistryCashA__F;
|
|||
import ru.spcex.clearing.service.cash.impl.RegistryCashAssetCash;
|
||||
import ru.spcex.clearing.service.cash.impl.RegistryCashD___;
|
||||
import ru.spcex.clearing.service.integration.GatewayRequestCreator;
|
||||
import ru.spcex.clearing.service.registry.AssetTBFProcessing;
|
||||
import ru.spcex.clearing.service.registry.AssetTBFProcessingCashing;
|
||||
import ru.spcex.clearing.service.registry.RegistryManager;
|
||||
import ru.spcex.clearing.service.schedule.TradingTimeService;
|
||||
|
|
@ -66,11 +65,8 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr
|
|||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final ImdgId idGen;
|
||||
private final RegistryManager registryManager;
|
||||
private final IMessageResolver msgResolver = new SimpleMessageResolver();
|
||||
private SessionType sessionType;
|
||||
private Section section;
|
||||
private final AssetTBFProcessing assets;
|
||||
private final AssetTBFProcessingCashing assetsCashing;
|
||||
private final GatewayRequester gateway;
|
||||
private final TradingTimeService tradingTimeService;
|
||||
|
|
@ -78,21 +74,16 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr
|
|||
|
||||
@Autowired
|
||||
public InspectionObligationsV2Action(ImdgProvider imdgProvider,
|
||||
RegistryManager registryManager,
|
||||
AssetTBFProcessing assets,
|
||||
GatewayRequester gateway,
|
||||
PlanBalanceCalc planBalanceCalc
|
||||
) {
|
||||
this.registryImdg = imdgProvider.getCashingImdg(IMDGDistributedNames.Map_Registry, Registry.class, null);
|
||||
this.idGen = imdgProvider.getImdgIdGenerator();
|
||||
this.registryManager = registryManager;
|
||||
this.assets = assets;
|
||||
this.gateway = gateway;
|
||||
this.planBalanceCalc = planBalanceCalc;
|
||||
this.gateway.setName("InspectionObligations|OM*T");
|
||||
this.tradingTimeService = new TradingTimeService(imdgProvider);
|
||||
this.assetsCashing = new AssetTBFProcessingCashing(imdgProvider, d___Cash);
|
||||
|
||||
}
|
||||
|
||||
private final RegistryCashAssetCash a___Cash = new RegistryCashAssetCash("[all assets]");
|
||||
|
|
@ -100,15 +91,11 @@ public class InspectionObligationsV2Action extends AbstractSessionActionForOkErr
|
|||
private final RegistryCashD___ d___Cash = new RegistryCashD___("[D__I/V]");
|
||||
|
||||
|
||||
public void setSessionType(SessionType sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void actualExecute(StateContext<TaskType, SsnEvent> ctx) {
|
||||
try {
|
||||
Long sessionId = ctx.getExtendedState().get(DataEnum.sessionId, Long.class);
|
||||
this.sessionType = ctx.getExtendedState().get(DataEnum.sessionType, SessionType.class);
|
||||
inspectionObligations(sessionId);
|
||||
} finally {
|
||||
a___Cash.clear();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue