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 b7f28edd0..86f921037 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 @@ -253,8 +253,12 @@ public class Clearing { log.trace("creating paymentInstructions"); List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(execDeposit, lcaFirstLeg, Collections.singleton(category)); - paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lcaFirstLeg, lcmFirstLeg, paymentInstructions, Collections.singleton(category)); - liabilitiesClaimsAssetsImdg.update(lcaFirstLeg); + if (paymentInstructions.isEmpty()) { + log.trace("For lcaFirstLeg[{}] did not creaded paymentInstruction's", lcaFirstLeg.getId()); + } else { + paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lcaFirstLeg, lcmFirstLeg, paymentInstructions, Collections.singleton(category)); + liabilitiesClaimsAssetsImdg.update(lcaFirstLeg); + } log.trace("lcaFirstLeg {}, lcaSecondLeg {}", lcaFirstLeg, lcaSecondLeg); // log.trace("updating LiabilitiesClaimsMoney by payment"); 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 c3f72cfa1..110f6d025 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 @@ -77,8 +77,8 @@ public class PaymentInstructionCreator { public List createAndSavePaymentInstructions(ExecutionDeposit executionDeposit, LiabilitiesClaimsAssets liabilitiesClaimsAssets, Collection clearingCategory) { List newPaymentInstructions = createPaymentInstructions(executionDeposit, liabilitiesClaimsAssets, clearingCategory); - log.trace("Created {} PaymentInstruction by LiabilitiesClaimsAssets[{}]. Do save ti IMDG.", - newPaymentInstructions.size(), liabilitiesClaimsAssets.getId()); + log.trace("Created {} PaymentInstruction by LiabilitiesClaimsAssets[{}], category {}. Do save in IMDG.", + newPaymentInstructions.size(), liabilitiesClaimsAssets.getId(), clearingCategory); for (PaymentInstruction instruction : newPaymentInstructions) { paymentInstructionImdg.insert(instruction); } @@ -98,7 +98,11 @@ public class PaymentInstructionCreator { Collection clearingCategory) { List newPaymentInstructions = new ArrayList<>(); Instant now = Instant.now(); - + LocalDate today = LocalDate.now(); + if (!today.equals(liabilitiesClaimsAssets.getSettlementDate())) { + log.debug("For liabilitiesClaimsAssets.SettlementDate={} is not today.", liabilitiesClaimsAssets.getSettlementDate()); + return newPaymentInstructions; + } // I if (clearingCategory.contains(ClearingCategory.I)) { log.debug("By liabilitiesClaimsAssets[{}] create for category I 1 PaymentInstruction record", liabilitiesClaimsAssets.getId());