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; + } + } }