From 687b50d970d143bb800ee5a31708c70aa61eb224 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 7 Feb 2023 14:08:06 +0300 Subject: [PATCH 1/4] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-189=20P?= =?UTF-8?q?aymentInstructionCreator=20=D0=BC=D0=B5=D0=BB=D0=BA=D0=B0=D1=8F?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0,=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BB=D0=BE=D0=B3=D0=BE=D0=B2=20tra?= =?UTF-8?q?ce?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../builder/PaymentInstructionCreator.java | 86 +++++++++++-------- 1 file changed, 50 insertions(+), 36 deletions(-) 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 a37ec56d0..e91bad429 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 @@ -100,7 +100,7 @@ public class PaymentInstructionCreator { // I if (clearingCategory.contains(ClearingCategory.I)) { - log.debug("By liabilitiesClaimsAssets[{}] create for category I 1 record", liabilitiesClaimsAssets.getId()); + log.debug("By liabilitiesClaimsAssets[{}] create for category I 2 PaymentInstruction record", liabilitiesClaimsAssets.getId()); PaymentInstruction payment1 = new PaymentInstruction(); PaymentInstruction payment2 = new PaymentInstruction(); @@ -115,13 +115,16 @@ public class PaymentInstructionCreator { payment2.setSenderId(SPVB_ID); // СПВБ payment1.setAddresseeId(SPVB_ID); // СПВБ - String sqlLCA = String.format("securityId = %s and companyId != %s", - liabilitiesClaimsAssets.getSecurityId(), liabilitiesClaimsAssets.getCompanyId()); - ExecutionDeposit counterExecutionDeposit = executionDepositImdg.getSingleObjectBySQL(sqlLCA); - if (counterExecutionDeposit == null) { - log.warn("Counter ExecutionDeposit not found for : {}", sqlLCA); - } else { - payment2.setAddresseeId(counterExecutionDeposit.getCompanyId()); + { + String sqlLCA = String.format("securityId = %s and companyId != %s", + liabilitiesClaimsAssets.getSecurityId(), liabilitiesClaimsAssets.getCompanyId()); + ExecutionDeposit counterExecutionDeposit = executionDepositImdg.getSingleObjectBySQL(sqlLCA); + if (counterExecutionDeposit == null) { + log.warn("Counter ExecutionDeposit not found for : {}", sqlLCA); + } else { + payment2.setAddresseeId(counterExecutionDeposit.getCompanyId()); + log.trace("payment2.AddresseeId={} found by: {}", payment2.getAddresseeId(), sqlLCA); + } } String symbol1 = selectSymbolValue(payment1.getAddresseeId(), CompanySymbol.BIC); @@ -140,7 +143,7 @@ public class PaymentInstructionCreator { Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" String companyPRCName = null; if (companyPRC == null) { - log.warn("Company.id=2 not found"); + log.warn("Company.id={} not found", PRC_ID); } else { companyPRCName = companyPRC.getShortName(); } @@ -170,13 +173,14 @@ public class PaymentInstructionCreator { payment2.setDebitLegAmount(amount); payment1.setCreditLegAccountId(liabilitiesClaimsAssets.getAccountId()); - String accSql = String.format("companyId = %s AND accountType=TRAN AND accountStatus=ACTV AND processingSign=ALWD", - payment2.getSenderId()); - Account anotherAcc = accountImdg.getSingleObjectBySQL(accSql); - if (anotherAcc == null) { - log.warn("Account not found: {}", accSql); - } else { - payment2.setCreditLegAccountId(anotherAcc.getId()); + { + Account anotherAcc = selectAccount(payment2.getSenderId(), AccountType.Tran, Status.Active, Allowed.ALLOWED); + if (anotherAcc == null) { + log.warn("Account not found: companyId = {} AND accountType={} AND accountStatus={} AND processingSign={}", + payment2.getSenderId(), AccountType.Tran, Status.Active, Allowed.ALLOWED); + } else { + payment2.setCreditLegAccountId(anotherAcc.getId()); + } } payment1.setCreditCsAccount(null); @@ -231,7 +235,7 @@ public class PaymentInstructionCreator { } else { // V / B if (clearingCategory.contains(ClearingCategory.V)) { - log.debug("By liabilitiesClaimsAssets[{}] create for category V 1 record", liabilitiesClaimsAssets.getId()); + log.debug("By liabilitiesClaimsAssets[{}] create for category V 1 PaymentInstruction record", liabilitiesClaimsAssets.getId()); PaymentInstruction payment1 = new PaymentInstruction(); payment1.setId(idGenerator.nextId()); payment1.setCreated(now); @@ -239,13 +243,16 @@ public class PaymentInstructionCreator { payment1.setSenderId(SPVB_ID); // СПВБ - String sqlLCA = String.format("securityId = %s and companyId != %s", - liabilitiesClaimsAssets.getSecurityId(), liabilitiesClaimsAssets.getCompanyId()); - ExecutionDeposit counterExecutionDeposit = executionDepositImdg.getSingleObjectBySQL(sqlLCA); - if (counterExecutionDeposit == null) { - log.warn("Counter ExecutionDeposit not found for : {}", sqlLCA); - } else { - payment1.setAddresseeId(counterExecutionDeposit.getCompanyId()); + { + String sqlLCA = String.format("securityId = %s and companyId != %s", + liabilitiesClaimsAssets.getSecurityId(), liabilitiesClaimsAssets.getCompanyId()); + ExecutionDeposit counterExecutionDeposit = executionDepositImdg.getSingleObjectBySQL(sqlLCA); + if (counterExecutionDeposit == null) { + log.warn("Counter ExecutionDeposit not found for : {}", sqlLCA); + } else { + payment1.setAddresseeId(counterExecutionDeposit.getCompanyId()); + log.trace("payment1.AddresseeId={} found by: {}", payment1.getAddresseeId(), sqlLCA); + } } String symbol1 = selectSymbolValue(payment1.getAddresseeId(), CompanySymbol.BIC); @@ -258,7 +265,7 @@ public class PaymentInstructionCreator { Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" String companyPRCName = null; if (companyPRC == null) { - log.warn("Company.id=2 not found"); + log.warn("Company.id={} not found", PRC_ID); } else { companyPRCName = companyPRC.getShortName(); } @@ -280,11 +287,10 @@ public class PaymentInstructionCreator { payment1.setDebitLegAmount(amount); { - String accSql = String.format("companyId = %s AND accountType=ANLT AND accountStatus=ACTV AND processingSign=ALWD", - payment1.getSenderId()); - Account acc1 = accountImdg.getSingleObjectBySQL(accSql); + Account acc1 = selectAccount(payment1.getSenderId(), AccountType.Anlt, Status.Active, Allowed.ALLOWED); if (acc1 == null) { - log.warn("Account not found: {}", accSql); + log.warn("Account not found: companyId = {} AND accountType={} AND accountStatus={} AND processingSign={}", + payment1.getSenderId(), AccountType.Anlt, Status.Active, Allowed.ALLOWED); } else { payment1.setCreditLegAccountId(acc1.getId()); payment1.setCreditLegAccount(acc1.getAccount()); @@ -317,7 +323,7 @@ public class PaymentInstructionCreator { newPaymentInstructions.add(payment1); } else // Для V,B только 1 PaymentInstruction if (clearingCategory.contains(ClearingCategory.B)) { - log.debug("By liabilitiesClaimsAssets[{}] create for category B 1 record", liabilitiesClaimsAssets.getId()); + log.debug("By liabilitiesClaimsAssets[{}] create for category B 1 PaymentInstruction record", liabilitiesClaimsAssets.getId()); PaymentInstruction payment1 = new PaymentInstruction(); payment1.setId(idGenerator.nextId()); payment1.setCreated(now); @@ -337,7 +343,7 @@ public class PaymentInstructionCreator { Company companyPRC = companyImdg.getSingleObjectByID(PRC_ID); // 2 "НКО АО ПРЦ" String companyPRCName = null; if (companyPRC == null) { - log.warn("Company.id=2 not found"); + log.warn("Company.id={} not found", PRC_ID); } else { companyPRCName = companyPRC.getShortName(); } @@ -359,11 +365,10 @@ public class PaymentInstructionCreator { payment1.setDebitLegAmount(amount); { - String accSql = String.format("companyId = %s AND accountType=ANLT AND accountStatus=ACTV AND processingSign=ALWD", - payment1.getSenderId()); - Account acc1 = accountImdg.getSingleObjectBySQL(accSql); + Long accountId = liabilitiesClaimsAssets.getAccountId(); + Account acc1 = accountImdg.getSingleObjectByID(accountId); if (acc1 == null) { - log.warn("Account not found: {}", accSql); + log.warn("Account not found: {}", accountId); } else { payment1.setCreditLegAccountId(acc1.getId()); payment1.setCreditLegAccount(acc1.getAccount()); @@ -443,6 +448,15 @@ public class PaymentInstructionCreator { "accountStatus", accountStatus.getKey(), "processingSign", processingSign.getKey() )); + if (account == null) { + log.trace("Account not found by: companyId={} accountType={} accountStatus={} processingSign={}", + companyId, accountType.getKey(), accountStatus.getKey(), processingSign.getKey() + ); + } else { + log.trace("Found Account.id={} by: companyId={} accountType={} accountStatus={} processingSign={}", account.getId(), + companyId, accountType.getKey(), accountStatus.getKey(), processingSign.getKey() + ); + } return account; } @@ -495,7 +509,7 @@ public class PaymentInstructionCreator { * Обновление liabilitiesClaimsMoney первой/второй ноги по liabilitiesClaimsAssets * * @param liabilitiesClaimsMoney обновить этот объект (firstLeg) - * @param isFirstLeg true - первая, false вторая + * @param isFirstLeg true - первая, false вторая * @param paymentInstructions * @param clearingCategory * @return были внесены изменения в liabilitiesClaimsMoney From bb96118df0fd2451de964a0b214dfd312259f05d Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 7 Feb 2023 14:10:59 +0300 Subject: [PATCH 2/4] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-189=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=D0=B2=20trace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../liabilities/LiabilitiesClaimsAssets.java | 29 +++++++++++++++++++ .../ru/spcex/clearing/service/Clearing.java | 5 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java index a7643a8ba..767a94c1e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/liabilities/LiabilitiesClaimsAssets.java @@ -226,4 +226,33 @@ public class LiabilitiesClaimsAssets extends BusinessObject { this.refundPaymentId = value; } + @Override + public String toString() { + return "LiabilitiesClaimsAssets{" + + "companyId=" + companyId + + ", clearingDate=" + clearingDate + + ", accountId=" + accountId + + ", accountType='" + accountType + '\'' + + ", account='" + account + '\'' + + ", liabilitiesQuantity=" + liabilitiesQuantity + + ", claimsQuantity=" + claimsQuantity + + ", currency='" + currency + '\'' + + ", settlementDate=" + settlementDate + + ", tradingDate=" + tradingDate + + ", refundDate=" + refundDate + + ", price=" + price + + ", securityId=" + securityId + + ", tradingCode='" + tradingCode + '\'' + + ", clearingCode='" + clearingCode + '\'' + + ", shortName='" + shortName + '\'' + + ", contract='" + contract + '\'' + + ", comment='" + comment + '\'' + + ", fullName='" + fullName + '\'' + + ", parentId=" + parentId + + ", liabilitiesClaimsMoneyId=" + liabilitiesClaimsMoneyId + + ", clearingStatus=" + clearingStatus + + ", paymentId=" + paymentId + + ", refundPaymentId=" + refundPaymentId + + '}'; + } } 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 d6111abc7..e41fcedce 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 @@ -194,7 +194,7 @@ public class Clearing { } LiabilitiesClaimsAssets lca = lbltsClmsAssetsCreator.createLiabilitiesClaimsAssets(category, execDeposit); liabilitiesClaimsAssetsImdg.insert(lca); - log.trace("LiabilitiesClaimsAssets {} was created", lca.getId()); + log.trace("LiabilitiesClaimsAssets {} was created: {}", lca.getId(), lca); Optional lcmFirstLegFound = lbltsClmsMoneyCreator.searchLcmBySettlementDate(lca.getAccountId(), lca.getCompanyId(), lca.getSettlementDate()); var wrapperFirstLegCreated = new Object() {LiabilitiesClaimsMoney firstLegCreated;}; lcmFirstLegFound.ifPresentOrElse(lcm -> { @@ -221,6 +221,7 @@ public class Clearing { }); lbltsClmsAssetsCreator.updateLca(lca, lcmFirstLegFound.orElse(wrapperFirstLegCreated.firstLegCreated)); liabilitiesClaimsAssetsImdg.update(lca); + log.trace("LiabilitiesClaimsAssets {} was updated: {}", lca.getId(), lca); log.trace("creating paymentInstructions"); List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category)); @@ -228,7 +229,7 @@ public class Clearing { liabilitiesClaimsAssetsImdg.update(lca); var firstLegLiabilitiesClaimsMoney = lcmFirstLegFound.orElseGet(() -> wrapperFirstLegCreated.firstLegCreated); var secondLegLiabilitiesClaimsMoney = lcmSecondLegFound.orElseGet(() -> wrapperSecondLegCreated.secondLegCreated); - log.trace("updating LiabilitiesClaimsMoney by payment"); + log.trace("updating LiabilitiesClaimsMoney by payment"); log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney); if (paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, true, paymentInstructions, Collections.singleton(category)) ) { liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney); From afb0e6c182b8c08fad0a9fa8644f4dd64d8d5e5a Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 7 Feb 2023 14:27:02 +0300 Subject: [PATCH 3/4] http://jira.mfd.msk:8088/browse/CLS-189 PaymentInstructionCreator account I bug fix --- .../clearing/service/builder/PaymentInstructionCreator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e91bad429..960aa3206 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 @@ -193,7 +193,7 @@ public class PaymentInstructionCreator { } Account acc2 = accountImdg.getSingleObjectByID(payment2.getCreditLegAccountId()); if (acc2 != null) { - payment1.setCreditLegAccount(acc2.getAccount()); + payment2.setCreditLegAccount(acc2.getAccount()); } } From 52d4c654a1d71d08a71b6debeb96b08937b3a4de Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 7 Feb 2023 15:44:26 +0300 Subject: [PATCH 4/4] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-189=20P?= =?UTF-8?q?aymentInstructionCreator=20=D0=9F=D0=B5=D0=A0=D0=B5=D0=94=D0=B5?= =?UTF-8?q?=D0=BB=D0=9A=D0=B0=20=D1=87=D0=B0=D1=81=D1=82=D1=8C=20=D1=81=20?= =?UTF-8?q?PaymentInstruction?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/spcex/clearing/service/Clearing.java | 23 ++++----- .../builder/PaymentInstructionCreator.java | 48 ++++++++++--------- 2 files changed, 38 insertions(+), 33 deletions(-) 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 e41fcedce..4ee47443d 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 @@ -224,18 +224,19 @@ public class Clearing { log.trace("LiabilitiesClaimsAssets {} was updated: {}", lca.getId(), lca); log.trace("creating paymentInstructions"); - List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category)); - paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lca, paymentInstructions, Collections.singleton(category)); - liabilitiesClaimsAssetsImdg.update(lca); + // только для первой ноги lca создать PaymentInstruction's var firstLegLiabilitiesClaimsMoney = lcmFirstLegFound.orElseGet(() -> wrapperFirstLegCreated.firstLegCreated); - var secondLegLiabilitiesClaimsMoney = lcmSecondLegFound.orElseGet(() -> wrapperSecondLegCreated.secondLegCreated); - log.trace("updating LiabilitiesClaimsMoney by payment"); - log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney); - 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); + List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category)); + paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lca, firstLegLiabilitiesClaimsMoney, paymentInstructions, Collections.singleton(category)); + liabilitiesClaimsAssetsImdg.update(lca); +// var secondLegLiabilitiesClaimsMoney = lcmSecondLegFound.orElseGet(() -> wrapperSecondLegCreated.secondLegCreated); +// log.trace("updating LiabilitiesClaimsMoney by payment"); +// log.trace("firstLegLiabilitiesClaimsMoney: {}; secondLegLiabilitiesClaimsMoney: {}", firstLegLiabilitiesClaimsMoney, secondLegLiabilitiesClaimsMoney); +// 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()); executionDepositImdg.update(execDeposit); 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 960aa3206..d30f94370 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 @@ -465,33 +465,35 @@ public class PaymentInstructionCreator { * 2.2.2.1. Выполнить Изменение liabilitiesClaimsAssets по paymentInstruction. */ public void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets, + LiabilitiesClaimsMoney liabilitiesClaimsMoney, List paymentInstructions, Collection clearingCategory) { - + final boolean isFirstLeg = true; + final boolean isSecondLeg = !isFirstLeg; PaymentInstruction paymentIAny = paymentInstructions.iterator().next(); - if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) { - BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount()); -// При обновлении (по paymentInstruction и категория I и счет CLRN):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount -// При обновлении (по paymentInstruction и категория V и счет INFO):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount - amount = liabilitiesClaimsAssets.getLiabilitiesQuantity().subtract(amount); - liabilitiesClaimsAssets.setLiabilitiesQuantity(amount); - } - if (clearingCategory.contains(ClearingCategory.B)) { - BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount()); - // При обновлении (по paymentInstruction и категория B и счет CLRN): из paymentInstruction.creditLeg_amount - liabilitiesClaimsAssets.setLiabilitiesQuantity(amount); - } +// if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) { +// BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount()); +//// При обновлении (по paymentInstruction и категория I и счет CLRN):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount +//// При обновлении (по paymentInstruction и категория V и счет INFO):=liabilitiesClaimsAssets.liabilitiesQuantity - paymentInstruction.creditLeg_amount +// amount = liabilitiesClaimsAssets.getLiabilitiesQuantity().subtract(amount); +// liabilitiesClaimsAssets.setLiabilitiesQuantity(amount); +// } +// if (clearingCategory.contains(ClearingCategory.B)) { +// BigDecimal amount = bdFromLongSafe(paymentIAny.getCreditLegAmount()); +// // При обновлении (по paymentInstruction и категория B и счет CLRN): из paymentInstruction.creditLeg_amount +// liabilitiesClaimsAssets.setLiabilitiesQuantity(amount); +// } - if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) { - BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount()); - liabilitiesClaimsAssets.setClaimsQuantity(amount); - } - if (clearingCategory.contains(ClearingCategory.B)) { - BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount()); - amount = safeBD(liabilitiesClaimsAssets.getClaimsQuantity()).subtract(amount); - liabilitiesClaimsAssets.setClaimsQuantity(amount); - } +// if (clearingCategory.contains(ClearingCategory.I) || clearingCategory.contains(ClearingCategory.V)) { +// BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount()); +// liabilitiesClaimsAssets.setClaimsQuantity(amount); +// } +// if (clearingCategory.contains(ClearingCategory.B)) { +// BigDecimal amount = bdFromLongSafe(paymentIAny.getDebitLegAmount()); +// amount = safeBD(liabilitiesClaimsAssets.getClaimsQuantity()).subtract(amount); +// liabilitiesClaimsAssets.setClaimsQuantity(amount); +// } // //на базе успешного/неуспешного изменения по paymentInstruction // if (TransactionStatus.fail.equalsByKey(paymentIAny.getTransactionStatus())) { @@ -500,6 +502,8 @@ public class PaymentInstructionCreator { // liabilitiesClaimsAssets.setClearingStatus(ClearingStatus.OK.getKey()); // } + liabilitiesClaimsAssets.setLiabilitiesClaimsMoneyId(liabilitiesClaimsMoney.getId()); + liabilitiesClaimsAssets.setPaymentId(paymentIAny.getId()); liabilitiesClaimsAssets.setUpdated(Instant.now()); }