etreschenkov 2023-07-09 14:24:11 +03:00
parent cdd4c4069c
commit 7522a8f899
4 changed files with 53 additions and 30 deletions

View file

@ -23,7 +23,6 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.Supplier;
@ -39,7 +38,8 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
private final InclusionObligations inclusionObligations;
private final InspectionObligations inspectionObligations;
private final FormingRegistersOnOS formingRegistersOnOS;
private final FormingPaymentInstructionSecondaryT0 formingPaymentInstruction;
private final FormingPaymentInstruction formingPaymentInstruction;
private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr;
private final UnlockResources unlockResources;
private final FinishingSession finishingSession;
private final EndStageNotification endStageNotification;
@ -56,7 +56,8 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
ObligationAdmission obligationsAdmission,
InclusionObligations inclusionObligations,
FormingRegistersOnOS formingRegistersOnOS,
FormingPaymentInstructionSecondaryT0 formingPaymentInstruction,
FormingPaymentInstruction formingPaymentInstruction,
FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr,
UnlockResources unlockResources,
FinishingSession finishingSession,
EndStageNotification endStageNotification,
@ -76,6 +77,7 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
this.endStageNotification = endStageNotification;
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.inspectionObligations = inspectionObligations;
this.formingPaymentInstructionDealsFinalMkr = formingPaymentInstructionDealsFinalMkr;
this.marketCodes = marketCodes;
}
@ -152,15 +154,21 @@ public class PrimaryAuctionB0Session extends AbstractSession implements Initiali
payload.setSessionId(currSession.getId());
runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection<Registry>
}
StageResult<Collection<PaymentInstruction>> returnsPayment = null;
{
FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
payload.setSessionId(currSession.getId());
//stage 7
returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
}
//stage 7
StageResult<Collection<PaymentInstruction>> paymentResult = null;
{
FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload();
payload.setSessionId(currSession.getId());
payload.setPaymentInstructionReturns(new ArrayList<>());
payload.setPaymentInstructionReturns(returnsPayment.getStageResult());
//stage 7
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDealsFinalMkr);
}
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
runStage(TaskType.FormingPaymentInstruction, balanceRevise);

View file

@ -23,7 +23,6 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.Supplier;
@ -39,7 +38,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
private final InclusionObligations inclusionObligations;
private final InspectionObligations inspectionObligations;
private final FormingRegistersOnOS formingRegistersOnOS;
private final FormingPaymentInstructionSecondaryT0 formingPaymentInstruction;
private final FormingPaymentInstruction formingPaymentInstruction;
private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr;
private final UnlockResources unlockResources;
private final FinishingSession finishingSession;
private final EndStageNotification endStageNotification;
@ -56,7 +56,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
ObligationAdmission obligationsAdmission,
InclusionObligations inclusionObligations,
FormingRegistersOnOS formingRegistersOnOS,
FormingPaymentInstructionSecondaryT0 formingPaymentInstruction,
FormingPaymentInstruction formingPaymentInstruction,
FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr,
UnlockResources unlockResources,
FinishingSession finishingSession,
EndStageNotification endStageNotification,
@ -76,6 +77,7 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
this.endStageNotification = endStageNotification;
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.inspectionObligations = inspectionObligations;
this.formingPaymentInstructionDealsFinalMkr = formingPaymentInstructionDealsFinalMkr;
this.marketCodes = marketCodes;
}
@ -152,13 +154,21 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
payload.setSessionId(currSession.getId());
runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection<Registry>
}
StageResult<Collection<PaymentInstruction>> returnsPayment = null;
{
FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
payload.setSessionId(currSession.getId());
//stage 7
returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
}
//stage 7
StageResult<Collection<PaymentInstruction>> paymentResult = null;
{
FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload();
payload.setSessionId(currSession.getId());
payload.setPaymentInstructionReturns(new ArrayList<>());
//stage 7
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
payload.setPaymentInstructionReturns(returnsPayment.getStageResult());
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDealsFinalMkr);
}
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
runStage(TaskType.FormingPaymentInstruction, balanceRevise);

View file

@ -23,7 +23,6 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.Supplier;
@ -39,7 +38,8 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali
private final InclusionObligations inclusionObligations;
private final InspectionObligations inspectionObligations;
private final FormingRegistersOnOS formingRegistersOnOS;
private final FormingPaymentInstructionSecondaryT0 formingPaymentInstruction;
private final FormingPaymentInstruction formingPaymentInstruction;
private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr;
private final UnlockResources unlockResources;
private final FinishingSession finishingSession;
private final EndStageNotification endStageNotification;
@ -55,7 +55,8 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali
ObligationAdmission obligationsAdmission,
InclusionObligations inclusionObligations,
FormingRegistersOnOS formingRegistersOnOS,
FormingPaymentInstructionSecondaryT0 formingPaymentInstruction,
FormingPaymentInstruction formingPaymentInstruction,
FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDealsFinalMkr,
UnlockResources unlockResources,
FinishingSession finishingSession,
EndStageNotification endStageNotification,
@ -75,6 +76,7 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali
this.endStageNotification = endStageNotification;
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.inspectionObligations = inspectionObligations;
this.formingPaymentInstructionDealsFinalMkr = formingPaymentInstructionDealsFinalMkr;
this.marketCodes = marketCodes;
}
@ -151,14 +153,21 @@ public class PrimaryAuctionT0Session extends AbstractSession implements Initiali
payload.setSessionId(currSession.getId());
runStage(TaskType.FormingRegistersOnOS, payload, formingRegistersOnOS); //returns Collection<Registry>
}
StageResult<Collection<PaymentInstruction>> returnsPayment = null;
{
FormingPaymentInstructionPayload payload = new FormingPaymentInstructionPayload();
payload.setSessionId(currSession.getId());
//stage 7
returnsPayment = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
}
//stage 7
StageResult<Collection<PaymentInstruction>> paymentResult = null;
{
FormingPaymentInstructionDealsMkrPayload payload = new FormingPaymentInstructionDealsMkrPayload();
payload.setSessionId(currSession.getId());
payload.setPaymentInstructionReturns(new ArrayList<>());
//stage 7
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstruction);
payload.setPaymentInstructionReturns(returnsPayment.getStageResult());
paymentResult = runStage(TaskType.FormingPaymentInstruction, payload, formingPaymentInstructionDealsFinalMkr);
}
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
runStage(TaskType.FormingPaymentInstruction, balanceRevise);

View file

@ -42,6 +42,9 @@ import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import static ru.spcex.platform.enumeration.RegistryTradingParams.CS_T;
import static ru.spcex.platform.enumeration.RegistryTradingParams.LS_T;
@Service
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class FormingPaymentInstruction implements ISessionStage {
@ -91,16 +94,7 @@ public class FormingPaymentInstruction implements ISessionStage {
private StageResult formingPaymentInstruction(Long sessionId) {
RegistryTradingParams registryTradingParamsC_M_T = new RegistryTradingParams(RegistryDesignation.C,
RegistryInstrumentType.M, null, RegistryUnit.T);
RegistryTradingParams registryTradingParamsL_S_T = new RegistryTradingParams(RegistryDesignation.L,
RegistryInstrumentType.M, null, RegistryUnit.T);
RegistryTradingParams registryTradingParamsC_S_T = new RegistryTradingParams(RegistryDesignation.C,
RegistryInstrumentType.S, null, RegistryUnit.T);
RegistryTradingParams registryTradingParamsL_M_T = new RegistryTradingParams(RegistryDesignation.L,
RegistryInstrumentType.S, null, RegistryUnit.T);
RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(registryTradingParamsL_M_T,
registryTradingParamsC_M_T, registryTradingParamsL_S_T, registryTradingParamsC_S_T);
RegistryCodeSqlBuilder registryCodeSqlBuilder = RegistryCodeSqlBuilder.getInstance(LS_T, CS_T);
String registryCodeCondition = registryCodeSqlBuilder.build();
Collection<Registry> obligations = registryImdg.getCollectionObjectsBySQL(registryCodeCondition);
@ -113,6 +107,7 @@ public class FormingPaymentInstruction implements ISessionStage {
IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit())))
.toList();
log.debug("Size obligationsByMoney: {}; expected 0", obligationsByMoney.size());
for (Registry obligationByMoney : obligationsByMoney) {
String sql = String.format("tradingClearingRegistryId = %s and companyId = %s",
obligationByMoney.getTradingClearingRegistryId(), obligationByMoney.getCompanyId());
@ -153,6 +148,7 @@ public class FormingPaymentInstruction implements ISessionStage {
IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit())))
.toList();
log.debug("Size requirementsByIssue: {};", requirementsByIssue.size());
for (Registry requirementByIssue : requirementsByIssue) {
String sql = String.format("tradingClearingRegistryId = %s and companyId = %s",
requirementByIssue.getTradingClearingRegistryId(), requirementByIssue.getCompanyId());
@ -180,6 +176,7 @@ public class FormingPaymentInstruction implements ISessionStage {
IEnumKey.getEnumByKey(RegistryUnit.class, registry.getRegistryUnit())))
.toList();
log.debug("Size requirementsByMoney: {}; expected 0", requirementsByMoney.size());
for (Registry requirementByMoney : requirementsByMoney) {
String sql = String.format("tradingClearingRegistryId = %s and companyId = %s",
requirementByMoney.getTradingClearingRegistryId(), requirementByMoney.getCompanyId());
@ -271,8 +268,7 @@ public class FormingPaymentInstruction implements ISessionStage {
});
}
sendSdfs(formedPaymentInstructions);
log.debug("Count formed paymentInstructions for security(бумаги): {}", formedPaymentInstructions.size());
StageResult<Collection<PaymentInstruction>> stageResult = new StageResult(null, true);
stageResult.setStageResult(formedPaymentInstructions);
return stageResult;