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) {
//return BigDecimal.valueOf(Long.parseLong((String)value));
String str = ((String)value).trim();
if (str.isEmpty()) return null;
return new BigDecimal(str);
}
if (value instanceof Number) {

View file

@ -10,13 +10,15 @@ class SDf06TableTest {
@Test
void anyNumberToBigDecimal() {
SDf06Table table=new SDf06Table();
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(""));
assertNull(table.anyNumberToBigDecimal(" "));
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));
}
}