dbf-importer SDf06Table поправил формат - тримлю числа, пустые как null

This commit is contained in:
AKurakin 2023-08-04 11:40:07 +03:00
parent d8ad75dce9
commit 9ba69c188f
2 changed files with 9 additions and 6 deletions

View file

@ -44,6 +44,7 @@ public class SDf06Table extends AbstractTable<SDf06> {
if (value instanceof String) { if (value instanceof String) {
//return BigDecimal.valueOf(Long.parseLong((String)value)); //return BigDecimal.valueOf(Long.parseLong((String)value));
String str = ((String)value).trim(); String str = ((String)value).trim();
if (str.isEmpty()) return null;
return new BigDecimal(str); return new BigDecimal(str);
} }
if (value instanceof Number) { if (value instanceof Number) {

View file

@ -10,13 +10,15 @@ class SDf06TableTest {
@Test @Test
void anyNumberToBigDecimal() { void anyNumberToBigDecimal() {
SDf06Table table=new SDf06Table(); SDf06Table table = new SDf06Table();
assertNull(table.anyNumberToBigDecimal(null)); assertNull(table.anyNumberToBigDecimal(null));
assertEquals(BigDecimal.valueOf(1234),table.anyNumberToBigDecimal("1234")); // это для INN assertNull(table.anyNumberToBigDecimal(""));
assertEquals(BigDecimal.valueOf(1234).setScale(0),table.anyNumberToBigDecimal(" 1234")); assertNull(table.anyNumberToBigDecimal(" "));
assertEquals(BigDecimal.valueOf(1234),table.anyNumberToBigDecimal(" 1234 ")); assertEquals(BigDecimal.valueOf(1234), table.anyNumberToBigDecimal("1234")); // это для INN
assertEquals(new BigDecimal("100000000.0"),table.anyNumberToBigDecimal(" 100000000.0")); // это для SUM assertEquals(BigDecimal.valueOf(1234).setScale(0), table.anyNumberToBigDecimal(" 1234"));
assertEquals(BigDecimal.ONE.scaleByPowerOfTen(3).setScale(2),table.anyNumberToBigDecimal(" 1000.00 ")); 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)); assertNull(table.anyNumberToBigDecimal(null));
} }
} }