формирование 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 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);
|
||||
if (dmx.isPresent()) {
|
||||
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());
|
||||
dmx.get().setRegistryStatus(RegistryStatus.OK.getKey());
|
||||
receiverAmbO.ifPresent(r -> {
|
||||
r.setBalance(BigDecimal.ZERO);
|
||||
setUpdatedStoreInImdg(r, now);
|
||||
});
|
||||
setUpdatedStoreInImdg(dmx.get(), now);
|
||||
continue;
|
||||
}
|
||||
|
|
@ -152,13 +158,12 @@ public class FormingPaymentInstructionReturnMkrAction extends AbstractSessionAct
|
|||
}
|
||||
{
|
||||
//изменение активов - блокируем средства беред отправкой 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={}",
|
||||
lm_t.getId(),
|
||||
cm_t.getId(),
|
||||
receiverAmtO.map(Registry::getId).orElse(null)
|
||||
receiverAmbO.map(Registry::getId).orElse(null)
|
||||
);
|
||||
receiverAmtO.ifPresent(amt -> {
|
||||
receiverAmbO.ifPresent(amt -> {
|
||||
// у отправителя и получателя одинаково, см. в FormingPaymentInstruction
|
||||
amt.setSettledDebit(safeBD(amt.getSettledDebit()).add(safeBD(lm_t.getBalance())));
|
||||
setUpdatedStoreInImdg(amt, now);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue