From c9676d3dfb6e4149c2a8fc34bd9bbba7d598a8c8 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 3 Feb 2023 16:47:10 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-189=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=82=D0=B5=D0=B3=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/spcex/clearing/service/Clearing.java | 9 +++++++ .../builder/PaymentInstructionCreator.java | 24 ++++--------------- 2 files changed, 13 insertions(+), 20 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 a061ed233..c84fb834d 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 @@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney; +import ru.clearing.classes.statics.data.payment.PaymentInstruction; import ru.spcex.clearing.error.ClearingErrorInternal; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.Consts; @@ -214,6 +215,14 @@ public class Clearing { }); lbltsClmsAssetsCreator.updateLca(lca, lcmFirstLegFound.orElse(wrapperFirstLegCreated.firstLegCreated)); liabilitiesClaimsAssetsImdg.update(lca); + + List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(lca, Collections.singleton(category)); + paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lca, paymentInstructions, Collections.singleton(category)); + liabilitiesClaimsAssetsImdg.update(lca); + var firstLegLiabilitiesClaimsMoney = lcmFirstLegFound.orElseGet(() -> wrapperFirstLegCreated.firstLegCreated); + paymentInstructionCreator.updateFieldLiabilitiesClaimsMoneyByPayment(firstLegLiabilitiesClaimsMoney, paymentInstructions, Collections.singleton(category)); + liabilitiesClaimsMoneyImdg.update(firstLegLiabilitiesClaimsMoney); + log.trace("LiabilitiesClaimsMoney first leg {} was updated", firstLegLiabilitiesClaimsMoney.getId()); } } 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 7a8fafd86..60dc70007 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 @@ -70,7 +70,7 @@ public class PaymentInstructionCreator { public List createAndSavePaymentInstructions(LiabilitiesClaimsAssets liabilitiesClaimsAssets, Collection clearingCategory) { List newPaymentInstructions = createPaymentInstructions(liabilitiesClaimsAssets, clearingCategory); - log.debug("Created {} PaymentInstruction by LiabilitiesClaimsAssets[{}]", + log.trace("Created {} PaymentInstruction by LiabilitiesClaimsAssets[{}]. Do save ti IMDG.", newPaymentInstructions.size(), liabilitiesClaimsAssets.getId()); for (PaymentInstruction instruction : newPaymentInstructions) { paymentInstructionImdg.insert(instruction); @@ -436,23 +436,7 @@ public class PaymentInstructionCreator { /** * 2.2.2.1. Выполнить Изменение liabilitiesClaimsAssets по paymentInstruction. */ - public LiabilitiesClaimsAssets updateLiabilitiesClaimsAssetsByPaymentInstruction(LiabilitiesClaimsAssets liabilitiesClaimsAssets, - List paymentInstructions, - Collection clearingCategory) { - Long lId = liabilitiesClaimsAssets.getId(); - log.debug("Update LiabilitiesClaimsAssets[{}] by paymentInstructions {}", lId, paymentInstructions.stream().map(SpcexObjectBase::getId).collect(Collectors.toList())); - liabilitiesClaimsAssets = liabilitiesClaimsAssetsImdg.getSingleObjectByID(lId); // update data for update - if (liabilitiesClaimsAssets == null) { - throw new RuntimeException("IMDG not contains liabilitiesClaimsAssets.id=" + lId); - } - - updateFieldLiabilitiesClaimsAssetsByPayment(liabilitiesClaimsAssets, paymentInstructions, clearingCategory); - - liabilitiesClaimsAssetsImdg.update(liabilitiesClaimsAssets); - return liabilitiesClaimsAssets; - } - - protected void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets, + public void updateFieldLiabilitiesClaimsAssetsByPayment(LiabilitiesClaimsAssets liabilitiesClaimsAssets, List paymentInstructions, Collection clearingCategory) { @@ -517,12 +501,12 @@ public class PaymentInstructionCreator { /** * Обновление liabilitiesClaimsMoney первой ноги по liabilitiesClaimsAssets - * @param liabilitiesClaimsMoney обновить этот объект + * @param liabilitiesClaimsMoney обновить этот объект (firstLeg) * @param paymentInstructions * @param clearingCategory * @return были внесены изменения в liabilitiesClaimsMoney */ - protected boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney, + public boolean updateFieldLiabilitiesClaimsMoneyByPayment(LiabilitiesClaimsMoney liabilitiesClaimsMoney, List paymentInstructions, Collection clearingCategory) { boolean modified = false;