финальная сессия МКР часть 5 шага по сделкам
This commit is contained in:
parent
679b5cc01b
commit
d91383b4e5
3 changed files with 16 additions and 12 deletions
|
|
@ -38,7 +38,8 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
|
||||||
private final ObligationAdmission obligationsAdmission;
|
private final ObligationAdmission obligationsAdmission;
|
||||||
|
|
||||||
private final InclusionObligations inclusionObligations;
|
private final InclusionObligations inclusionObligations;
|
||||||
private final InspectionObligationsDepositReturn inspectionObligations;
|
private final InspectionObligationsDepositReturn inspectionObligationsReturn;
|
||||||
|
private final InspectionObligations inspectionObligations;
|
||||||
private final FormingRegistersOnOS formingRegistersOnOS;
|
private final FormingRegistersOnOS formingRegistersOnOS;
|
||||||
private final FormingPaymentInstructionReturnMkr formingPaymentInstructionReturn;
|
private final FormingPaymentInstructionReturnMkr formingPaymentInstructionReturn;
|
||||||
private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDeals;
|
private final FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDeals;
|
||||||
|
|
@ -58,13 +59,13 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
|
||||||
RequirementsAndObligationCreation requirementsAndObligationCreation,
|
RequirementsAndObligationCreation requirementsAndObligationCreation,
|
||||||
ObligationAdmission obligationsAdmission,
|
ObligationAdmission obligationsAdmission,
|
||||||
InclusionObligations inclusionObligations,
|
InclusionObligations inclusionObligations,
|
||||||
FormingRegistersOnOS formingRegistersOnOS,
|
InspectionObligations inspectionObligations, FormingRegistersOnOS formingRegistersOnOS,
|
||||||
FormingPaymentInstructionReturnMkr formingPaymentInstructionReturn, FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDeals,
|
FormingPaymentInstructionReturnMkr formingPaymentInstructionReturn, FormingPaymentInstructionDealsFinalMkr formingPaymentInstructionDeals,
|
||||||
UnlockResources unlockResources,
|
UnlockResources unlockResources,
|
||||||
FinishingSession finishingSession,
|
FinishingSession finishingSession,
|
||||||
EndStageNotification endStageNotification,
|
EndStageNotification endStageNotification,
|
||||||
IMessageResolver messageResolver,
|
IMessageResolver messageResolver,
|
||||||
InspectionObligationsDepositReturn 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;
|
||||||
|
|
@ -72,6 +73,7 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
|
||||||
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.formingPaymentInstructionReturn = formingPaymentInstructionReturn;
|
this.formingPaymentInstructionReturn = formingPaymentInstructionReturn;
|
||||||
this.formingPaymentInstructionDeals = formingPaymentInstructionDeals;
|
this.formingPaymentInstructionDeals = formingPaymentInstructionDeals;
|
||||||
|
|
@ -79,7 +81,7 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
|
||||||
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);
|
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||||
}
|
}
|
||||||
|
|
@ -98,6 +100,7 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
|
||||||
rgsPrctBuilder.lessEqual("valueDate", LocalDate.now())
|
rgsPrctBuilder.lessEqual("valueDate", LocalDate.now())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
inspectionObligationsReturn.setSessionType(sessionType());
|
||||||
inspectionObligations.setSessionType(sessionType());
|
inspectionObligations.setSessionType(sessionType());
|
||||||
imdgProvider.waitAvailable();
|
imdgProvider.waitAvailable();
|
||||||
initSessionIfPresent();
|
initSessionIfPresent();
|
||||||
|
|
@ -170,6 +173,7 @@ public class FinalMkrSession extends AbstractSession implements InitializingBean
|
||||||
{
|
{
|
||||||
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
|
//stage 6
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage {
|
||||||
.stream()
|
.stream()
|
||||||
.collect(Collectors.groupingBy(Registry::getGroupId));
|
.collect(Collectors.groupingBy(Registry::getGroupId));
|
||||||
log.debug("groups.size = {}", groups.size());
|
log.debug("groups.size = {}", groups.size());
|
||||||
List<PaymentInstruction> allPaymentInstructions = new ArrayList<>();
|
List<PaymentInstruction> paymentInstructionDeals = new ArrayList<>();
|
||||||
for (Map.Entry<Long, List<Registry>> group : groups.entrySet()) {
|
for (Map.Entry<Long, List<Registry>> group : groups.entrySet()) {
|
||||||
Long groupId = group.getKey();
|
Long groupId = group.getKey();
|
||||||
Function<RegistryTradingParams, Registry> findByCode = rgsCode -> group.getValue()
|
Function<RegistryTradingParams, Registry> findByCode = rgsCode -> group.getValue()
|
||||||
|
|
@ -192,7 +192,7 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage {
|
||||||
.build();
|
.build();
|
||||||
Pair.forEach(pmtInstrs, pmtInstr -> {
|
Pair.forEach(pmtInstrs, pmtInstr -> {
|
||||||
paymentInstructionImdg.insert(pmtInstr);
|
paymentInstructionImdg.insert(pmtInstr);
|
||||||
allPaymentInstructions.add(pmtInstr);
|
paymentInstructionDeals.add(pmtInstr);
|
||||||
});
|
});
|
||||||
log.trace("generated PaymentInstructions for groupId {}: pmtInstr1.id={} pmtInstr2.id={}",
|
log.trace("generated PaymentInstructions for groupId {}: pmtInstr1.id={} pmtInstr2.id={}",
|
||||||
groupId,
|
groupId,
|
||||||
|
|
@ -202,8 +202,8 @@ public class FormingPaymentInstructionDealsFinalMkr implements ISessionStage {
|
||||||
|
|
||||||
log.debug("PaymentInstructions return size {}, PaymentInstructions deals size {}. sending SDF03",
|
log.debug("PaymentInstructions return size {}, PaymentInstructions deals size {}. sending SDF03",
|
||||||
paymentInstructionReturns.size(),
|
paymentInstructionReturns.size(),
|
||||||
allPaymentInstructions.size());
|
paymentInstructionDeals.size());
|
||||||
List<PaymentInstruction> returnsAndDeals = Stream.concat(paymentInstructionReturns.stream(), allPaymentInstructions.stream()).toList();
|
List<PaymentInstruction> returnsAndDeals = Stream.concat(paymentInstructionReturns.stream(), paymentInstructionDeals.stream()).toList();
|
||||||
sendSdfs(returnsAndDeals);
|
sendSdfs(returnsAndDeals);
|
||||||
StageResult<Collection<PaymentInstruction>> stageResult = new StageResult<>(null, true);
|
StageResult<Collection<PaymentInstruction>> stageResult = new StageResult<>(null, true);
|
||||||
stageResult.setStageResult(returnsAndDeals);
|
stageResult.setStageResult(returnsAndDeals);
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
||||||
Optional<Registry> omtInGroupO = group.stream().filter(registry -> equalByRgs(OM_T, registry)).findFirst();
|
Optional<Registry> omtInGroupO = group.stream().filter(registry -> equalByRgs(OM_T, registry)).findFirst();
|
||||||
if (omtInGroupO.isEmpty()) {
|
if (omtInGroupO.isEmpty()) {
|
||||||
log.error("groupId {} failed to find OM*T registry", entry.getKey());
|
log.error("groupId {} failed to find OM*T registry", entry.getKey());
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.MNG));
|
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Registry omtRgs = omtInGroupO.get();
|
Registry omtRgs = omtInGroupO.get();
|
||||||
|
|
@ -139,7 +139,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
||||||
Optional<Registry> amfAssetO = searchAssetByOMT(omtRgs);
|
Optional<Registry> amfAssetO = searchAssetByOMT(omtRgs);
|
||||||
if (amfAssetO.isEmpty()) {
|
if (amfAssetO.isEmpty()) {
|
||||||
log.error("OM*T register.id={} groupId={} failed to find AM*F asset", omtRgs.getId(), entry.getKey());
|
log.error("OM*T register.id={} groupId={} failed to find AM*F asset", omtRgs.getId(), entry.getKey());
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.MNG));
|
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -157,7 +157,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
||||||
if (dmtBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >=0) {
|
if (dmtBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >=0) {
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
||||||
} else {
|
} else {
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.MNG));
|
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -172,7 +172,7 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
||||||
if (dmtBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >= 0) {
|
if (dmtBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >= 0) {
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.OK));
|
||||||
} else {
|
} else {
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.MNG));
|
group.forEach(rgs -> updateStatus(rgs, registryStatusForDmxCheckFailed()));
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue