From d8ad75dce9322bdbfd5e628bfff9588ae05dbd49 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 4 Aug 2023 11:17:24 +0300 Subject: [PATCH] =?UTF-8?q?dbf-importer=20SDf06Table=20=D0=BF=D0=BE=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=20-=20=D1=82=D1=80=D0=B8=D0=BC=D0=BB=D1=8E=20=D1=87?= =?UTF-8?q?=D0=B8=D1=81=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/data/tables/SDf06Table.java | 4 +++- .../logic/data/tables/SDf06TableTest.java | 22 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06TableTest.java diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06Table.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06Table.java index e16ca8cdb..a98c58279 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06Table.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06Table.java @@ -42,7 +42,9 @@ public class SDf06Table extends AbstractTable { return (BigDecimal) value; } if (value instanceof String) { - return BigDecimal.valueOf(Long.parseLong((String)value)); + //return BigDecimal.valueOf(Long.parseLong((String)value)); + String str = ((String)value).trim(); + return new BigDecimal(str); } if (value instanceof Number) { return BigDecimal.valueOf(((Number)value).longValue()); diff --git a/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06TableTest.java b/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06TableTest.java new file mode 100644 index 000000000..4cb21e5d8 --- /dev/null +++ b/clearing-parent/dbf-importer/src/test/java/ru/spcex/clearing/dbf/importer/logic/data/tables/SDf06TableTest.java @@ -0,0 +1,22 @@ +package ru.spcex.clearing.dbf.importer.logic.data.tables; + +import org.junit.jupiter.api.Test; + +import java.math.BigDecimal; + +import static org.junit.jupiter.api.Assertions.*; + +class SDf06TableTest { + + @Test + void anyNumberToBigDecimal() { + SDf06Table table=new SDf06Table(); + assertNull(table.anyNumberToBigDecimal(null)); + assertEquals(BigDecimal.valueOf(1234),table.anyNumberToBigDecimal("1234")); // это для INN + assertEquals(BigDecimal.valueOf(1234).setScale(0),table.anyNumberToBigDecimal(" 1234")); + assertEquals(BigDecimal.valueOf(1234),table.anyNumberToBigDecimal(" 1234 ")); + assertEquals(new BigDecimal("100000000.0"),table.anyNumberToBigDecimal(" 100000000.0")); // это для SUM + assertEquals(BigDecimal.ONE.scaleByPowerOfTen(3).setScale(2),table.anyNumberToBigDecimal(" 1000.00 ")); + assertNull(table.anyNumberToBigDecimal(null)); + } +} \ No newline at end of file