Compare commits
1 commit
10_01_2024
...
gateway
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7156c57d98 |
4 changed files with 79 additions and 31 deletions
|
|
@ -8,6 +8,8 @@ import ru.clearing.classes.statics.data.company.Company;
|
||||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||||
import ru.clearing.classes.statics.data.misc.STrades;
|
import ru.clearing.classes.statics.data.misc.STrades;
|
||||||
import ru.clearing.classes.statics.data.misc.Session;
|
import ru.clearing.classes.statics.data.misc.Session;
|
||||||
import ru.clearing.classes.statics.data.registry.Registry;
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
|
|
@ -37,6 +39,9 @@ public class ValidationConfig {
|
||||||
|
|
||||||
Imdg<Relation> imdgRelation;
|
Imdg<Relation> imdgRelation;
|
||||||
Imdg<Company> imdgCompany;
|
Imdg<Company> imdgCompany;
|
||||||
|
Imdg<FixedIncomeSecurity> fixedIncomeSecurityImdg;
|
||||||
|
Imdg<EquitySecurity> equitySecurityImdg;
|
||||||
|
|
||||||
Imdg<CompanySymbols> imdgCompanySymbols;
|
Imdg<CompanySymbols> imdgCompanySymbols;
|
||||||
Imdg<Registry> imdgRegistry;
|
Imdg<Registry> imdgRegistry;
|
||||||
Imdg<Account> imdgAccount;
|
Imdg<Account> imdgAccount;
|
||||||
|
|
@ -60,6 +65,8 @@ public class ValidationConfig {
|
||||||
this.imdgSession = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
this.imdgSession = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||||
this.imdgSectionDictionary = imdgProvider.getImdg(IMDGDistributedNames.Map_SectionDictionary, SectionDictionary.class);
|
this.imdgSectionDictionary = imdgProvider.getImdg(IMDGDistributedNames.Map_SectionDictionary, SectionDictionary.class);
|
||||||
this.imdgMoneyMarketSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
this.imdgMoneyMarketSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
||||||
|
this.fixedIncomeSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class);
|
||||||
|
this.equitySecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -203,9 +210,11 @@ public class ValidationConfig {
|
||||||
context.setValidatedObject(sDf08);
|
context.setValidatedObject(sDf08);
|
||||||
context.addImdg(IMDGDistributedNames.Map_Account, imdgAccount);
|
context.addImdg(IMDGDistributedNames.Map_Account, imdgAccount);
|
||||||
context.addImdg(IMDGDistributedNames.Map_Company, imdgCompany);
|
context.addImdg(IMDGDistributedNames.Map_Company, imdgCompany);
|
||||||
|
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
|
||||||
|
context.addImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurityImdg);
|
||||||
context.setLogPrefix(LogPrefixId.INSTANCE);
|
context.setLogPrefix(LogPrefixId.INSTANCE);
|
||||||
return new ValidatorImpl<>(context,
|
return new ValidatorImpl<>(context,
|
||||||
Sdf08NewValidationRule.AccountPresent
|
Sdf08NewValidationRule.AccountPresent, Sdf08NewValidationRule.InstrumentPresent
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
} else if (ClearingErrorInternal.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
} else if (ClearingErrorInternal.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
|
||||||
log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf08.getId());
|
log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf08.getId());
|
||||||
}
|
}
|
||||||
if (error.isPresent()) {
|
if (error.isPresent() && !ClearingError.SecurityNotFound.equals(error.get().getSubject())) {
|
||||||
log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get()));
|
log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get()));
|
||||||
//fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
//fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
||||||
// sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
// sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
|
||||||
|
|
@ -146,8 +146,10 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
statementImdg.insert(stmt);
|
statementImdg.insert(stmt);
|
||||||
|
|
||||||
Company company = companyImdg.getSingleObjectByID(account.getCompanyId());
|
Company company = companyImdg.getSingleObjectByID(account.getCompanyId());
|
||||||
Optional<EnumMessage> err = validateActiveness(company, account);
|
if (error.isEmpty()) {
|
||||||
if (err.isEmpty()) {
|
error = validateActiveness(company, account);
|
||||||
|
}
|
||||||
|
if (error.isEmpty()) {
|
||||||
Optional<Registry> reg = findReg(stmt);
|
Optional<Registry> reg = findReg(stmt);
|
||||||
Registry rgs;
|
Registry rgs;
|
||||||
if (reg.isPresent()) {
|
if (reg.isPresent()) {
|
||||||
|
|
@ -163,7 +165,7 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
|
||||||
stmt.setOperationStatus(OperationStatus.Executed.getKey());
|
stmt.setOperationStatus(OperationStatus.Executed.getKey());
|
||||||
statementImdg.update(stmt);
|
statementImdg.update(stmt);
|
||||||
} else {
|
} else {
|
||||||
stmt.setErrorCodeId(err.get().getSubject().getId()); // fixme ErrorText insert
|
stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert
|
||||||
stmt.setOperationStatus(OperationStatus.Rejected.getKey());
|
stmt.setOperationStatus(OperationStatus.Rejected.getKey());
|
||||||
statementImdg.update(stmt);
|
statementImdg.update(stmt);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,10 @@ package ru.spcex.clearing.service.validation;
|
||||||
|
|
||||||
import ru.clearing.classes.statics.data.account.Account;
|
import ru.clearing.classes.statics.data.account.Account;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||||
|
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||||
import ru.clearing.classes.statics.data.sdf.SDf08;
|
import ru.clearing.classes.statics.data.sdf.SDf08;
|
||||||
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
import ru.spcex.clearing.error.ClearingError;
|
import ru.spcex.clearing.error.ClearingError;
|
||||||
import ru.spcex.clearing.error.ClearingErrorInternal;
|
import ru.spcex.clearing.error.ClearingErrorInternal;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
@ -48,10 +51,26 @@ public enum Sdf08NewValidationRule implements IValidationRule<ImdgValidationCont
|
||||||
context.storeObject(ValidationStored.Sdf08Account, acc);
|
context.storeObject(ValidationStored.Sdf08Account, acc);
|
||||||
return empty();
|
return empty();
|
||||||
}
|
}
|
||||||
|
}, InstrumentPresent() {
|
||||||
|
@Override
|
||||||
|
public Optional<EnumMessage> validate(ImdgValidationContext<SDf08> context) {
|
||||||
|
SDf08 sdf08 = context.getValidatedObject();
|
||||||
|
Imdg<FixedIncomeSecurity> fxIncmSecImdg = context.obtainMap(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class);
|
||||||
|
Imdg<EquitySecurity> equityImdg = context.obtainMap(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class);
|
||||||
|
|
||||||
|
Security security = fxIncmSecImdg.getFirstObjectByFieldValues(Map.of("securitySymbol", sdf08.getSecurityCode()));
|
||||||
|
if (security == null) {
|
||||||
|
security = equityImdg.getFirstObjectByFieldValues(Map.of("securitySymbol", sdf08.getSecurityCode()));
|
||||||
|
}
|
||||||
|
if (security == null) {
|
||||||
|
return of(ClearingError.SecurityNotFound, sdf08.getSecurityCode());
|
||||||
|
}
|
||||||
|
return empty();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String ruleName() {
|
public String ruleName() {
|
||||||
return "Sdf01NewValidationRule." + name();
|
return "Sdf08NewValidationRule." + name();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,22 +9,24 @@ import ru.clearing.classes.statics.data.execution.ExecutionCommon;
|
||||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||||
import ru.clearing.classes.statics.data.misc.Session;
|
import ru.clearing.classes.statics.data.misc.Session;
|
||||||
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
|
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
|
||||||
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.session.stage.impl.*;
|
import ru.spcex.clearing.session.stage.impl.*;
|
||||||
import ru.spcex.clearing.session.stage.task.*;
|
import ru.spcex.clearing.session.stage.task.*;
|
||||||
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
|
||||||
|
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||||
import ru.spcex.platform.enumeration.Section;
|
import ru.spcex.platform.enumeration.Section;
|
||||||
import ru.spcex.platform.enumeration.SessionStatus;
|
import ru.spcex.platform.enumeration.SessionStatus;
|
||||||
import ru.spcex.platform.enumeration.SessionType;
|
import ru.spcex.platform.enumeration.SessionType;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Function;
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
|
@ -36,15 +38,18 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
|
||||||
private final ObligationAdmission obligationsAdmission;
|
private final ObligationAdmission obligationsAdmission;
|
||||||
|
|
||||||
private final InclusionObligations inclusionObligations;
|
private final InclusionObligations inclusionObligations;
|
||||||
|
private final InspectionObligationsDepositReturn inspectionObligationsReturn;
|
||||||
private final InspectionObligations inspectionObligations;
|
private final InspectionObligations inspectionObligations;
|
||||||
private final FormingRegistersOnOS formingRegistersOnOS;
|
private final FormingRegistersOnOS formingRegistersOnOS;
|
||||||
private final FormingPaymentInstruction formingPaymentInstruction;
|
private final FormingPaymentInstructionReturnMkr formingPaymentInstructionReturn;
|
||||||
|
private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDeals;
|
||||||
private final UnlockResources unlockResources;
|
private final UnlockResources unlockResources;
|
||||||
private final FinishingSession finishingSession;
|
private final FinishingSession finishingSession;
|
||||||
private final EndStageNotification endStageNotification;
|
private final EndStageNotification endStageNotification;
|
||||||
|
|
||||||
private final Imdg<ExecutionDeposit> executionDepositImdg;
|
private final Imdg<ExecutionDeposit> executionDepositImdg;
|
||||||
private final Supplier<List<String>> marketCodes;
|
private final Supplier<List<String>> marketCodes;
|
||||||
|
private final Imdg<Registry> registryImdg;
|
||||||
|
|
||||||
|
|
||||||
public IntermediateMkrSession(
|
public IntermediateMkrSession(
|
||||||
|
|
@ -54,13 +59,13 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
|
||||||
RequirementsAndObligationCreation requirementsAndObligationCreation,
|
RequirementsAndObligationCreation requirementsAndObligationCreation,
|
||||||
ObligationAdmission obligationsAdmission,
|
ObligationAdmission obligationsAdmission,
|
||||||
InclusionObligations inclusionObligations,
|
InclusionObligations inclusionObligations,
|
||||||
FormingRegistersOnOS formingRegistersOnOS,
|
InspectionObligations inspectionObligations, FormingRegistersOnOS formingRegistersOnOS,
|
||||||
FormingPaymentInstruction formingPaymentInstruction,
|
FormingPaymentInstructionReturnMkr formingPaymentInstructionReturn, FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDeals,
|
||||||
UnlockResources unlockResources,
|
UnlockResources unlockResources,
|
||||||
FinishingSession finishingSession,
|
FinishingSession finishingSession,
|
||||||
EndStageNotification endStageNotification,
|
EndStageNotification endStageNotification,
|
||||||
IMessageResolver messageResolver,
|
IMessageResolver messageResolver,
|
||||||
InspectionObligations inspectionObligations,
|
InspectionObligationsDepositReturn inspectionObligationsReturn,
|
||||||
@Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes) {
|
@Qualifier("marketCodesForBn") Supplier<List<String>> marketCodes) {
|
||||||
super(imdgProvider, messageResolver);
|
super(imdgProvider, messageResolver);
|
||||||
this.balanceRevise = balanceRevise;
|
this.balanceRevise = balanceRevise;
|
||||||
|
|
@ -68,22 +73,35 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
|
||||||
this.requirementsAndObligationCreation = requirementsAndObligationCreation;
|
this.requirementsAndObligationCreation = requirementsAndObligationCreation;
|
||||||
this.obligationsAdmission = obligationsAdmission;
|
this.obligationsAdmission = obligationsAdmission;
|
||||||
this.inclusionObligations = inclusionObligations;
|
this.inclusionObligations = inclusionObligations;
|
||||||
|
this.inspectionObligations = inspectionObligations;
|
||||||
this.formingRegistersOnOS = formingRegistersOnOS;
|
this.formingRegistersOnOS = formingRegistersOnOS;
|
||||||
this.formingPaymentInstruction = formingPaymentInstruction;
|
this.formingPaymentInstructionReturn = formingPaymentInstructionReturn;
|
||||||
|
this.formingPaymentInstructionDeals = formingPaymentInstructionDeals;
|
||||||
this.unlockResources = unlockResources;
|
this.unlockResources = unlockResources;
|
||||||
this.finishingSession = finishingSession;
|
this.finishingSession = finishingSession;
|
||||||
this.endStageNotification = endStageNotification;
|
this.endStageNotification = endStageNotification;
|
||||||
this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
||||||
this.inspectionObligations = inspectionObligations;
|
this.inspectionObligationsReturn = inspectionObligationsReturn;
|
||||||
this.marketCodes = marketCodes;
|
this.marketCodes = marketCodes;
|
||||||
|
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
dealsPrepare.searchForExecutions(ExecutionType.ExecutionDeposit);
|
dealsPrepare.searchForExecutions(ExecutionType.ExecutionDeposit);
|
||||||
// ImdgPredicateBuilder execFondPb = executionDepositImdg.predicateBuilder();
|
//fixme спросить у Кости нужны ли эти поправки
|
||||||
// dealsPrepare.addExecutionDepositCondition(execFondPb.regex("firstLegSettlementCode", "(^T0.*$)|(B[^0]\\d*$)"));
|
ImdgPredicateBuilder rgsPrctBuilder = registryImdg.predicateBuilder();
|
||||||
// dealsPrepare.addExecutionDepositCondition(execFondPb.in("market", marketCodes.get().toArray(new String[0])));
|
inclusionObligations.addRegistryCondition(
|
||||||
|
rgsPrctBuilder.and(
|
||||||
|
rgsPrctBuilder.or(
|
||||||
|
rgsPrctBuilder.equals("registryStatus", RegistryStatus.PROC.getKey()),
|
||||||
|
rgsPrctBuilder.equals("registryStatus", RegistryStatus.MNG.getKey())
|
||||||
|
),
|
||||||
|
rgsPrctBuilder.lessEqual("valueDate", LocalDate.now())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
inspectionObligationsReturn.setSessionType(sessionType());
|
||||||
|
inspectionObligations.setSessionType(sessionType());
|
||||||
imdgProvider.waitAvailable();
|
imdgProvider.waitAvailable();
|
||||||
initSessionIfPresent();
|
initSessionIfPresent();
|
||||||
}
|
}
|
||||||
|
|
@ -127,18 +145,6 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
|
||||||
DealsPreparePayload payload = new DealsPreparePayload();
|
DealsPreparePayload payload = new DealsPreparePayload();
|
||||||
payload.setSessionId(currSession.getId());
|
payload.setSessionId(currSession.getId());
|
||||||
dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare);
|
dealsPreparationResult = runStage(TaskType.DealsPrepare, payload, dealsPrepare);
|
||||||
//Сначала обрабатываются записи, у которых settlementCode = значению, у которого первый символ ="T", второй =0,
|
|
||||||
// а после settlementCode = значению, у которого первый символ ="B", второй ≠0, последующие =любые цифры
|
|
||||||
dealsPreparationResult.getStageResult().sort((o1, o2) -> {
|
|
||||||
String o1SettlementCode = ((ExecutionDeposit) o1).getFirstLegSettlementCode();
|
|
||||||
String o2SettlementCode = ((ExecutionDeposit) o2).getSecondLegSettlementCode();
|
|
||||||
Function<String, Integer> mapper = (settlementCode) -> {
|
|
||||||
if (settlementCode.startsWith("T")) return -1;
|
|
||||||
else if (settlementCode.startsWith("B")) return 1;
|
|
||||||
else return 0;
|
|
||||||
};
|
|
||||||
return mapper.apply(o1SettlementCode).compareTo(mapper.apply(o2SettlementCode));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
//stage 2
|
//stage 2
|
||||||
runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation);
|
runStage(TaskType.RequirementsAndObligationsCreate, dealsPreparationResult.getStageResult(), requirementsAndObligationCreation);
|
||||||
|
|
@ -155,20 +161,32 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
|
||||||
{
|
{
|
||||||
InspectionPoolPayload companyIdPayload = new InspectionPoolPayload();
|
InspectionPoolPayload companyIdPayload = new InspectionPoolPayload();
|
||||||
companyIdPayload.setProcessedCompanyId(currSession.getCompanyId());
|
companyIdPayload.setProcessedCompanyId(currSession.getCompanyId());
|
||||||
|
runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligationsReturn);
|
||||||
runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations);
|
runStage(TaskType.InspectionObligations, companyIdPayload, inspectionObligations);
|
||||||
}
|
}
|
||||||
|
//stage 6
|
||||||
{
|
{
|
||||||
FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload();
|
FormingRegistersOnOSPayload payload = new FormingRegistersOnOSPayload();
|
||||||
payload.setSessionId(currSession.getId());
|
payload.setSessionId(currSession.getId());
|
||||||
runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection<Registry>
|
runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection<Registry>
|
||||||
}
|
}
|
||||||
//stage 7
|
//stage 7
|
||||||
StageResult<Collection<PaymentInstruction>> paymentResult = null;
|
|
||||||
|
StageResult<Collection<PaymentInstruction>> returnsPayment = null;
|
||||||
{
|
{
|
||||||
FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
|
FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
|
||||||
payload.setSessionId(currSession.getId());
|
payload.setSessionId(currSession.getId());
|
||||||
//stage 7
|
//stage 7
|
||||||
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
|
returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionReturn);
|
||||||
|
}
|
||||||
|
|
||||||
|
StageResult<Collection<PaymentInstruction>> paymentResult = null;
|
||||||
|
{
|
||||||
|
FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload();
|
||||||
|
payload.setSessionId(currSession.getId());
|
||||||
|
payload.setPaymentInstructionReturns(returnsPayment.getStageResult());
|
||||||
|
//stage 7
|
||||||
|
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDeals);
|
||||||
}
|
}
|
||||||
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
|
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
|
||||||
runStage(TaskType.FormingPaymentInstruction, balanceRevise);
|
runStage(TaskType.FormingPaymentInstruction, balanceRevise);
|
||||||
|
|
@ -189,7 +207,7 @@ public class IntermediateMkrSession extends AbstractSession implements Initializ
|
||||||
{
|
{
|
||||||
FinishingSessionPayload payload = new FinishingSessionPayload();
|
FinishingSessionPayload payload = new FinishingSessionPayload();
|
||||||
payload.setSessionId(currSession.getId());
|
payload.setSessionId(currSession.getId());
|
||||||
payload.setPr("4");
|
payload.setPr("3");
|
||||||
runStage(TaskType.FinishingSession, payload, finishingSession);
|
runStage(TaskType.FinishingSession, payload, finishingSession);
|
||||||
}
|
}
|
||||||
//stage 11
|
//stage 11
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue