From 78b511c32143103e9fc448e00017c359b263eec0 Mon Sep 17 00:00:00 2001 From: ialbert Date: Mon, 6 May 2024 11:16:24 +0300 Subject: [PATCH] SDF57 fixed empty Dt_in/Kt_in bugfix --- .../clearing/service/executors/Sdf57Executor.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java index c55403873..866712629 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf57Executor.java @@ -638,16 +638,18 @@ public class Sdf57Executor extends AbstractExecutor { } private BigDecimal getExpectedBalance(Registry rgs, SDf57 sDf57) { + BigDecimal res; if (rgs.getAccount().equals(sDf57.getAcc_deb().trim())) { - return BigDecimalUtil.parse(sDf57.getDt_in()); - } - if (rgs.getAccount().equals(sDf57.getAcc_kr().trim())) { - return BigDecimalUtil.parse(sDf57.getKt_in()); + res = BigDecimalUtil.parse(sDf57.getDt_in()); + } else if (rgs.getAccount().equals(sDf57.getAcc_kr().trim())) { + res = BigDecimalUtil.parse(sDf57.getKt_in()); } else { log.warn("{}.id={} sdf57.id={} couldn't determine value for 'in' check balance, setting 0.", rgs.getRegistryCode(), rgs.getId(), sDf57.getId()); - return BigDecimal.ZERO; + res = BigDecimal.ZERO; } + if (res == null) res = BigDecimal.ZERO; + return res; } private void updateReg(Statement s, Registry r, SDf57 sdf57) {