From 8a41f93e199e37206a0a1f5b610e0e793384c79f Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 7 Feb 2023 17:52:50 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-189=20fix?= =?UTF-8?q?=20npe=20=D0=B4=D0=B2=D0=B0=20(=D0=BD=D0=BE=20=D1=82=D1=83?= =?UTF-8?q?=D1=82=20=D0=B5=D1=80=D1=80=D0=BE=D1=80=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spcex/clearing/service/SdfCreatorBySTLDPayment.java | 5 +++++ .../service/builder/LiabilitiesClaimsMoneyCreator.java | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java index 3d3295909..ebf91a6fe 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java @@ -181,6 +181,11 @@ public class SdfCreatorBySTLDPayment { ClearingCategory getClearingCategory(PaymentInstruction paymentInstruction) { ClearingMemberCategory category = clearingMemberCategoryImdg.getSingleObjectByFieldValues( Map.of("companyId", paymentInstruction.getSenderId())); + if (category == null) { + log.error("ClearingMemberCategory not found by paymentInstruction[{}].companyId={}", + paymentInstruction.getId(), paymentInstruction.getSenderId()); + return null; + } return IEnumKey.getEnumByKeyOrUndefined(ClearingCategory.class, category.getClearingMemberCategory()); } diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java index 7801e7bf8..2cf8fbd81 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/builder/LiabilitiesClaimsMoneyCreator.java @@ -49,9 +49,9 @@ public class LiabilitiesClaimsMoneyCreator { lcm.setAccountType(lca.getAccountType()); lcm.setAccount(lca.getAccount()); if (category.equals(ClearingCategory.I) || category.equals(ClearingCategory.V)) { - lcm.setLiabilitiesAmount(lca.getLiabilitiesQuantity()); + lcm.setLiabilitiesAmount(safeBD(lca.getLiabilitiesQuantity())); } else if (category.equals(ClearingCategory.B)) { - lcm.setClaimsAmount(lca.getClaimsQuantity()); + lcm.setClaimsAmount(safeBD(lca.getClaimsQuantity())); } lcm.setSettlementDate(lca.getSettlementDate()); lcm.setTradingDate(lca.getTradingDate()); @@ -77,9 +77,9 @@ public class LiabilitiesClaimsMoneyCreator { lcm.setAccountType(lca.getAccountType()); lcm.setAccount(lca.getAccount()); if (category.equals(ClearingCategory.I) || category.equals(ClearingCategory.V)) { - lcm.setClaimsAmount(lca.getClaimsQuantity()); + lcm.setClaimsAmount(safeBD(lca.getClaimsQuantity())); } else if (category.equals(ClearingCategory.B)) { - lcm.setLiabilitiesAmount(lca.getLiabilitiesQuantity()); + lcm.setLiabilitiesAmount(safeBD(lca.getLiabilitiesQuantity())); } lcm.setSettlementDate(lca.getRefundDate()); lcm.setTradingDate(lca.getTradingDate());