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

View file

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