Сессия по возвратам депозитов проверка средств (шаг 5) формирование PaymentInstruction (шаг 7)
This commit is contained in:
parent
27e9c75e78
commit
d63d080023
2 changed files with 19 additions and 14 deletions
|
|
@ -34,7 +34,7 @@ public class ReturnDepositSession extends AbstractSession implements Initializin
|
||||||
private final InclusionObligations inclusionObligations;
|
private final InclusionObligations inclusionObligations;
|
||||||
private final InspectionObligationsDepositReturn inspectionObligationsDepositReturn;
|
private final InspectionObligationsDepositReturn inspectionObligationsDepositReturn;
|
||||||
private final FormingRegistersOnOS formingRegistersOnOS;
|
private final FormingRegistersOnOS formingRegistersOnOS;
|
||||||
private final FormingPaymentInstruction formingPaymentInstruction;
|
private final FormingPaymentInstructionDepositReturn formingPaymentInstruction;
|
||||||
private final UnlockResources unlockResources;
|
private final UnlockResources unlockResources;
|
||||||
private final FinishingSession finishingSession;
|
private final FinishingSession finishingSession;
|
||||||
private final EndStageNotification endStageNotification;
|
private final EndStageNotification endStageNotification;
|
||||||
|
|
@ -49,7 +49,7 @@ public class ReturnDepositSession extends AbstractSession implements Initializin
|
||||||
ObligationAdmission obligationsAdmission,
|
ObligationAdmission obligationsAdmission,
|
||||||
InclusionObligations inclusionObligations,
|
InclusionObligations inclusionObligations,
|
||||||
FormingRegistersOnOS formingRegistersOnOS,
|
FormingRegistersOnOS formingRegistersOnOS,
|
||||||
FormingPaymentInstruction formingPaymentInstruction,
|
FormingPaymentInstructionDepositReturn formingPaymentInstruction,
|
||||||
UnlockResources unlockResources,
|
UnlockResources unlockResources,
|
||||||
FinishingSession finishingSession,
|
FinishingSession finishingSession,
|
||||||
EndStageNotification endStageNotification,
|
EndStageNotification endStageNotification,
|
||||||
|
|
@ -149,6 +149,8 @@ public class ReturnDepositSession extends AbstractSession implements Initializin
|
||||||
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
|
if (paymentResult != null && paymentResult.getStageResult().isEmpty()) {
|
||||||
runStage(TaskType.FormingPaymentInstruction, balanceRevise);
|
runStage(TaskType.FormingPaymentInstruction, balanceRevise);
|
||||||
// finishPart(req);
|
// finishPart(req);
|
||||||
|
} else {
|
||||||
|
finishPart(req);
|
||||||
}
|
}
|
||||||
} catch (StageException e) {
|
} catch (StageException e) {
|
||||||
//already logged
|
//already logged
|
||||||
|
|
|
||||||
|
|
@ -108,32 +108,35 @@ public class InspectionObligationsDepositReturn implements ISessionStage {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Registry omtRgs = omtInGroupO.get();
|
Registry omtRgs = omtInGroupO.get();
|
||||||
Optional<Registry> amfAssetO = searchAssetByOMT(omtRgs);
|
log.debug("groupId={}, OM*T.id={}", entry.getKey(), omtRgs.getId());
|
||||||
if (amfAssetO.isEmpty()) {
|
|
||||||
log.error("OM*T register.id={} groupId={} failed to find AM*F asset", omtRgs.getId(), entry.getKey());
|
|
||||||
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.MNG));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Registry amfAsset = amfAssetO.get();
|
|
||||||
log.debug("groupId={}, OM*T.id={}, AM*F.id={}", entry.getKey(), omtRgs.getId(), amfAsset.getId());
|
|
||||||
BigDecimal omtBalance = safeBD(omtRgs.getBalance());
|
BigDecimal omtBalance = safeBD(omtRgs.getBalance());
|
||||||
BigDecimal amfBalance = safeBD(amfAsset.getBalance());
|
|
||||||
|
|
||||||
Optional<Registry> dmx = searchDmx(omtRgs);
|
Optional<Registry> dmx = searchDmx(omtRgs);
|
||||||
if (dmx.isPresent()) {
|
if (dmx.isPresent()) {
|
||||||
BigDecimal dmxBalance = safeBD(dmx.get().getBalance());
|
BigDecimal dmxBalance = safeBD(dmx.get().getBalance());
|
||||||
log.debug("OM*T.id={} -> DM*X.id={}, dmxBalance={}, omtBalance={}, amfBalance={}",
|
log.debug("OM*T.id={} -> DM*X.id={}, dmxBalance={}, omtBalance={}",
|
||||||
omtRgs.getId(),
|
omtRgs.getId(),
|
||||||
dmx.get().getId(),
|
dmx.get().getId(),
|
||||||
dmxBalance, omtBalance, amfBalance
|
dmxBalance, omtBalance
|
||||||
);
|
);
|
||||||
if (dmxBalance.compareTo(omtBalance) >= 0 && amfBalance.compareTo(omtBalance) >= 0) {
|
if (dmxBalance.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, RegistryStatus.MNG));
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Optional<Registry> amfAssetO = searchAssetByOMT(omtRgs);
|
||||||
|
if (amfAssetO.isEmpty()) {
|
||||||
|
log.error("OM*T register.id={} groupId={} failed to find AM*F asset", omtRgs.getId(), entry.getKey());
|
||||||
|
group.forEach(rgs -> updateStatus(rgs, RegistryStatus.MNG));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Registry amfAsset = amfAssetO.get();
|
||||||
|
log.debug("groupId={}, AM*F.id={}", entry.getKey(), amfAsset.getId());
|
||||||
|
BigDecimal amfBalance = safeBD(amfAsset.getBalance());
|
||||||
Optional<Registry> dmtInfo = searchDmtInfo(omtRgs);
|
Optional<Registry> dmtInfo = searchDmtInfo(omtRgs);
|
||||||
if (dmtInfo.isPresent()) {
|
if (dmtInfo.isPresent()) {
|
||||||
BigDecimal dmtBalance = safeBD(dmtInfo.get().getBalance());
|
BigDecimal dmtBalance = safeBD(dmtInfo.get().getBalance());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue