формирование 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;
|
BigDecimal amount;
|
||||||
Collection<Registry> oAndT = loadLiabilitiesAndClaims(registry, sessionId);
|
Collection<Registry> oAndT = loadLiabilitiesAndClaims(registry, sessionId);
|
||||||
Optional<Registry> dmx = searchDmx(registry, oAndT);
|
Optional<Registry> dmx = searchDmx(registry, oAndT);
|
||||||
|
BigDecimal adjustByReturns;
|
||||||
if (dmx.isPresent()) {
|
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(),
|
registry.getRegistryCode(), registry.getId(),
|
||||||
dmx.get().getRegistryCode(), dmx.get().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);
|
amount = safeBD(registry.getBalance()).add(adjustByReturns);
|
||||||
boolean isPositiveBalance = amount.compareTo(BigDecimal.ZERO) > 0;
|
boolean isPositiveBalance = amount.compareTo(BigDecimal.ZERO) > 0;
|
||||||
if (amount.compareTo(BigDecimal.ZERO) == 0) {
|
if (amount.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
|
|
@ -374,8 +376,10 @@ public class FormingPaymentInstructionAssetsAction extends AbstractSessionAction
|
||||||
}
|
}
|
||||||
ImdgPredicate dmxPrdct = pb.and(
|
ImdgPredicate dmxPrdct = pb.and(
|
||||||
pb.sql(RegistryCodeSqlBuilder.getInstance(DM_X).build()),
|
pb.sql(RegistryCodeSqlBuilder.getInstance(DM_X).build()),
|
||||||
pb.equals("companyId", tOrO.getCounterPartyId()),
|
pb.or(
|
||||||
pb.equals("contract", tOrO.getContract()),
|
pb.equals("companyId", tOrO.getCounterPartyId()),
|
||||||
|
pb.equals("contract", tOrO.getContract())
|
||||||
|
),
|
||||||
pb.equals("registryStatus", RegistryStatus.OK.getKey())
|
pb.equals("registryStatus", RegistryStatus.OK.getKey())
|
||||||
);
|
);
|
||||||
log.debug("{}.id={}, searching DM*X by {}", asset.getRegistryCode(), asset.getId(), dmxPrdct);
|
log.debug("{}.id={}, searching DM*X by {}", asset.getRegistryCode(), asset.getId(), dmxPrdct);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue