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 86f921037..f7ae90cdb 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 @@ -252,12 +252,18 @@ public class Clearing { liabilitiesClaimsAssetsImdg.update(lcaSecondLeg); log.trace("creating paymentInstructions"); - List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(execDeposit, lcaFirstLeg, Collections.singleton(category)); - if (paymentInstructions.isEmpty()) { - log.trace("For lcaFirstLeg[{}] did not creaded paymentInstruction's", lcaFirstLeg.getId()); + boolean isCreatedFirstLegI = ClearingCategory.I.equals(category) && !lcaFirstLegFound.isPresent(); + if (isCreatedFirstLegI) { + log.debug("ignore create paymentInstruction for I firstLeg new: execDeposit {}, lcaFirstLeg {}", + execDeposit.getId(), lcaFirstLeg.getId()); } else { - paymentInstructionCreator.updateFieldLiabilitiesClaimsAssetsByPayment(lcaFirstLeg, lcmFirstLeg, paymentInstructions, Collections.singleton(category)); - liabilitiesClaimsAssetsImdg.update(lcaFirstLeg); + List paymentInstructions = paymentInstructionCreator.createAndSavePaymentInstructions(execDeposit, lcaFirstLeg, Collections.singleton(category)); + 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);