формирование PaymentInstruction, для возврата депозитов: не учитывать суммы возвратов в PaymentInstruction при наличии DM*X
This commit is contained in:
parent
81a39b9dbe
commit
28d07fcd3d
1 changed files with 13 additions and 9 deletions
|
|
@ -191,17 +191,19 @@ public class FormingPaymentInstructionAssetsAction extends AbstractSessionAction
|
|||
BigDecimal amount;
|
||||
Collection<Registry> oAndT = loadLiabilitiesAndClaims(registry, sessionId);
|
||||
Optional<Registry> dmx = searchDmx(registry, oAndT);
|
||||
BigDecimal adjustByReturns;
|
||||
if (dmx.isPresent()) {
|
||||
log.debug("{}.id={} found {}.id={}, skipping PaymentInstruction creation",
|
||||
log.debug("{}.id={} found {}.id={}, adjusted sum by deposit return = 0",
|
||||
registry.getRegistryCode(), registry.getId(),
|
||||
dmx.get().getRegistryCode(), dmx.get().getId());
|
||||
continue;
|
||||
adjustByReturns = BigDecimal.ZERO;
|
||||
} else {
|
||||
adjustByReturns = adjustAmountByReturns(oAndT);
|
||||
log.debug("{}.id={} adjust by returns value {}",
|
||||
registry.getRegistryCode(),
|
||||
registry.getId(),
|
||||
adjustByReturns);
|
||||
}
|
||||
BigDecimal adjustByReturns = adjustAmountByReturns(oAndT);
|
||||
log.debug("{}.id={} adjust by returns value {}",
|
||||
registry.getRegistryCode(),
|
||||
registry.getId(),
|
||||
adjustByReturns);
|
||||
amount = safeBD(registry.getBalance()).add(adjustByReturns);
|
||||
boolean isPositiveBalance = amount.compareTo(BigDecimal.ZERO) > 0;
|
||||
if (amount.compareTo(BigDecimal.ZERO) == 0) {
|
||||
|
|
@ -374,8 +376,10 @@ public class FormingPaymentInstructionAssetsAction extends AbstractSessionAction
|
|||
}
|
||||
ImdgPredicate dmxPrdct = pb.and(
|
||||
pb.sql(RegistryCodeSqlBuilder.getInstance(DM_X).build()),
|
||||
pb.equals("companyId", tOrO.getCounterPartyId()),
|
||||
pb.equals("contract", tOrO.getContract()),
|
||||
pb.or(
|
||||
pb.equals("companyId", tOrO.getCounterPartyId()),
|
||||
pb.equals("contract", tOrO.getContract())
|
||||
),
|
||||
pb.equals("registryStatus", RegistryStatus.OK.getKey())
|
||||
);
|
||||
log.debug("{}.id={}, searching DM*X by {}", asset.getRegistryCode(), asset.getId(), dmxPrdct);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue