формирование PaymentInstruction, для возврата депозитов: обнуляю баланс AM*B регистра при наличии DM*X
This commit is contained in:
parent
a81d4b2f0a
commit
bcbc335089
1 changed files with 8 additions and 3 deletions
|
|
@ -125,11 +125,17 @@ public class FormingPaymentInstructionReturnMkrAction extends AbstractSessionAct
|
||||||
}
|
}
|
||||||
Registry lm_t = lmtO.get(); //obligation by money
|
Registry lm_t = lmtO.get(); //obligation by money
|
||||||
Registry cm_t = cmtO.get();
|
Registry cm_t = cmtO.get();
|
||||||
|
//изменение активов - блокируем средства беред отправкой sdf'ов
|
||||||
|
Optional<Registry> receiverAmbO = rgsMng.findRelatedAsset(cm_t.getTradingClearingRegistryId(), cm_t.getCompanyId(), lm_t.getSecuritySymbol(), AM_B);
|
||||||
Optional<Registry> dmx = rgsMng.searchDmxByCounterPartyNotOk(lm_t);
|
Optional<Registry> dmx = rgsMng.searchDmxByCounterPartyNotOk(lm_t);
|
||||||
if (dmx.isPresent()) {
|
if (dmx.isPresent()) {
|
||||||
log.debug("LM*T#id={}, DM*X#id={} found, no action needed for group {}, skipping liability",
|
log.debug("LM*T#id={}, DM*X#id={} found, no action needed for group {}, skipping liability",
|
||||||
lm_t.getId(), dmx.get().getId(), lm_t.getGroupId());
|
lm_t.getId(), dmx.get().getId(), lm_t.getGroupId());
|
||||||
dmx.get().setRegistryStatus(RegistryStatus.OK.getKey());
|
dmx.get().setRegistryStatus(RegistryStatus.OK.getKey());
|
||||||
|
receiverAmbO.ifPresent(r -> {
|
||||||
|
r.setBalance(BigDecimal.ZERO);
|
||||||
|
setUpdatedStoreInImdg(r, now);
|
||||||
|
});
|
||||||
setUpdatedStoreInImdg(dmx.get(), now);
|
setUpdatedStoreInImdg(dmx.get(), now);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -152,13 +158,12 @@ public class FormingPaymentInstructionReturnMkrAction extends AbstractSessionAct
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
//изменение активов - блокируем средства беред отправкой sdf'ов
|
//изменение активов - блокируем средства беред отправкой sdf'ов
|
||||||
Optional<Registry> receiverAmtO = rgsMng.findRelatedAsset(cm_t.getTradingClearingRegistryId(), cm_t.getCompanyId(), lm_t.getSecuritySymbol(), AM_B);
|
|
||||||
log.debug("changing A* registers based on LM_T.id={} and CM_T.id={} found AM*T(receiver).id={}",
|
log.debug("changing A* registers based on LM_T.id={} and CM_T.id={} found AM*T(receiver).id={}",
|
||||||
lm_t.getId(),
|
lm_t.getId(),
|
||||||
cm_t.getId(),
|
cm_t.getId(),
|
||||||
receiverAmtO.map(Registry::getId).orElse(null)
|
receiverAmbO.map(Registry::getId).orElse(null)
|
||||||
);
|
);
|
||||||
receiverAmtO.ifPresent(amt -> {
|
receiverAmbO.ifPresent(amt -> {
|
||||||
// у отправителя и получателя одинаково, см. в FormingPaymentInstruction
|
// у отправителя и получателя одинаково, см. в FormingPaymentInstruction
|
||||||
amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance())));
|
amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance())));
|
||||||
setUpdatedStoreInImdg(amt, now);
|
setUpdatedStoreInImdg(amt, now);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue