diff --git a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java index 638cd24f5..7060f5def 100644 --- a/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java +++ b/clearing-parent/dbf-exporter/src/main/java/ru/spcex/clearing/dbf/exporter/services/converters/S_DF07_Converter.java @@ -5,6 +5,7 @@ import com.linuxense.javadbf.DBFField; import org.springframework.stereotype.Service; import ru.clearing.classes.statics.data.sdf.SDf07; +import java.math.BigDecimal; import java.util.LinkedList; import java.util.List; @@ -19,14 +20,23 @@ public class S_DF07_Converter extends DFConverter { values.add(typeMatch(entity.getType())); values.add(typeMatch(entity.getDeal())); values.add(typeMatch(entity.getClientN())); - values.add(typeMatch(entity.getInn())); - values.add(typeMatch(entity.getBic())); + values.add(typeMatch(anyAsString(entity.getInn()))); + values.add(typeMatch(anyAsString(entity.getBic()))); values.add(typeMatch(entity.getSpec())); values.add(typeMatch(entity.getNumber())); values.add(typeMatch(entity.getResult())); return values.toArray(Object[]::new); } + String anyAsString(Object value) { + if (value == null) return null; + if (value instanceof String) { + return (String) value; + } else { + return String.valueOf(value); + } + } + @Override public DBFField[] getDBFHeaders() { List dbfFields = new LinkedList<>(); @@ -36,8 +46,8 @@ public class S_DF07_Converter extends DFConverter { dbfFields.add(new DBFField("TYPE", DBFDataType.CHARACTER, 2)); dbfFields.add(new DBFField("DEAL", DBFDataType.CHARACTER, 10)); dbfFields.add(new DBFField("CLIENTN", DBFDataType.CHARACTER, 35)); - dbfFields.add(new DBFField("INN", DBFDataType.NUMERIC, 32, 18)); - dbfFields.add(new DBFField("BIC", DBFDataType.NUMERIC, 32, 18)); + dbfFields.add(new DBFField("INN", DBFDataType.CHARACTER, 12)); + dbfFields.add(new DBFField("BIC", DBFDataType.CHARACTER, 10)); dbfFields.add(new DBFField("SPEC", DBFDataType.CHARACTER, 254)); dbfFields.add(new DBFField("NUMBER", DBFDataType.NUMERIC, 10)); dbfFields.add(new DBFField("RESULT", DBFDataType.NUMERIC, 1));