From f21e7dea8874157c321cddf86566fc22bcea8be2 Mon Sep 17 00:00:00 2001 From: ialbert Date: Fri, 9 Jun 2023 10:58:58 +0300 Subject: [PATCH] sdf04 fix --- .../clearing/service/executors/Sdf04Executor.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java index 9b6040f76..60955181f 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/executors/Sdf04Executor.java @@ -16,6 +16,7 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; +import ru.spcex.platform.utils.log.ExceptionUtils; import java.math.BigDecimal; import java.time.Instant; @@ -55,7 +56,7 @@ public class Sdf04Executor extends AbstractExecutor { //обычно мы ищем по группу sdf04, здесь как будто всегда только одна запись, todo нужно прочекать этот момент log.debug("Process sdf04 record; sdf04.id: {}", sdf04.getId()); Collection registries = selectRegistryForSDF04(sdf04.getC_acc_deb()); - registries.forEach(registry -> unlockRegistry(registry, new BigDecimal(sdf04.getSum_deb()))); + registries.forEach(registry -> unlockRegistry(registry, parseString(sdf04.getSum_deb()))); } return result; } @@ -83,4 +84,13 @@ public class Sdf04Executor extends AbstractExecutor { registryImdg.update(registry); return true; } + + private BigDecimal parseString(String str) { + try { + return new BigDecimal(str); + } catch (Throwable e) { + log.warn(ExceptionUtils.getStackTrace(e)); + return BigDecimal.ZERO; + } + } }