diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java index 23d5d81a9..d6111abc7 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java @@ -230,11 +230,10 @@ public class Clearing { var secondLegLiabilitiesClaimsMoney = lcmSecondLegFound.orElseGet(() -> wrapperSecondLegCreated.secondLegCreated); log.trace("updating LiabilitiesClaimsMoney by payment"); log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney); - paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, true, paymentInstructions, Collections.singleton(category)); - liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney); - paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(secondLegLiabilitiesClaimsMoney, false, paymentInstructions, Collections.singleton(category)); - liabilitiesClaimsMoneyImdg.update(secondLegLiabilitiesClaimsMoney); - log.trace("LiabilitiesClaimsMoney first leg {}, second leg {} was updated", firstLegLiabilitiesClaimsMoney.getId(), secondLegLiabilitiesClaimsMoney.getId()); + if (paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, true, paymentInstructions, Collections.singleton(category)) ) { + liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney); + log.trace("LiabilitiesClaimsMoney first leg {} was updated", firstLegLiabilitiesClaimsMoney.getId(), secondLegLiabilitiesClaimsMoney.getId()); + } log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney); execDeposit.setSessionId(clearingSessionId); execDeposit.setUpdated(Instant.now()); diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java index 25b5cafea..53b837b2e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/PaymentInstructionCreator.java @@ -522,13 +522,13 @@ public class PaymentInstructionCreator { if (clearingCategory.contains(ClearingCategory.B)) { if (isFirstLeg) { - // liabilitiesAmount не меняется ; - } - if (isSecondLeg) { BigDecimal amount = safeBD(liabilitiesClaimsMoney.getClaimsAmount()).subtract(bdFromLongSafe(paymentIAny.getDebitLegAmount())); liabilitiesClaimsMoney.setClaimsAmount(amount); modified = true; } + if (isSecondLeg) { + // liabilitiesAmount не меняется ; + } } if (modified) {