ialbert 2022-11-25 12:31:34 +03:00
parent 45e163d1b7
commit c720df9741
3 changed files with 123 additions and 0 deletions

View file

@ -6,6 +6,7 @@ import ru.spcex.platform.classes.base.SpcexObjectBase;
public enum Table {
S_DF02("DF-02", IMDGDistributedNames.Map_SDf02, SDf02.class),
S_DF03("DF-03", IMDGDistributedNames.Map_SDf03, SDf03.class),
S_DF08("DF-08", IMDGDistributedNames.Map_SDf08, SDf08.class),
S_DF18("DF-18", IMDGDistributedNames.Map_SDf18, SDf18.class),
S_DF10("DF-10", IMDGDistributedNames.Map_SDf10, SDf10.class),

View file

@ -32,6 +32,7 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
private final ImdgProvider imdgProvider;
private final S_DF02_Converter s_df02_converter;
private final S_DF03_Converter s_df03_converter;
private final S_DF08_Converter s_df08_converter;
private final S_DF18_Converter s_df18_converter;
private final S_DF10_Converter s_df10_converter;
@ -43,6 +44,7 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
public ExportFromHazelcast(ExportDBFServiceSettings settings,
@Qualifier("imdgProvider") ImdgProvider imdgProvider,
S_DF02_Converter s_df02_converter,
S_DF03_Converter s_df03_converter,
S_DF08_Converter s_df08_converter,
S_DF18_Converter s_df18_converter,
S_DF10_Converter s_df10_converter,
@ -50,6 +52,7 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
this.settings = settings;
this.imdgProvider = imdgProvider;
this.s_df02_converter = s_df02_converter;
this.s_df03_converter = s_df03_converter;
this.s_df08_converter = s_df08_converter;
this.s_df18_converter = s_df18_converter;
this.s_df10_converter = s_df10_converter;
@ -82,6 +85,7 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
for (SpcexObjectBase value : tableRows) {
Object[] values;
if (value instanceof SDf02 sDf02Value) values = s_df02_converter.toObjectArray(sDf02Value);
else if (value instanceof SDf03 sDf03Value) values = s_df03_converter.toObjectArray(sDf03Value);
else if (value instanceof SDf08 sDf08Value) values = s_df08_converter.toObjectArray(sDf08Value);
else if (value instanceof SDf18 sDf18Value) values = s_df18_converter.toObjectArray(sDf18Value);
else if (value instanceof SDf10 sDf10Value) values = s_df10_converter.toObjectArray(sDf10Value);
@ -121,6 +125,7 @@ public class ExportFromHazelcast extends Stage implements InitializingBean {
*/
private void initExportFileStructure() {
dbfFieldsForTable.put(Table.S_DF02, s_df02_converter.getDBFHeaders());
dbfFieldsForTable.put(Table.S_DF03, s_df03_converter.getDBFHeaders());
dbfFieldsForTable.put(Table.S_DF08, s_df08_converter.getDBFHeaders());
dbfFieldsForTable.put(Table.S_DF18, s_df18_converter.getDBFHeaders());
dbfFieldsForTable.put(Table.S_DF10, s_df10_converter.getDBFHeaders());

View file

@ -0,0 +1,117 @@
package ru.spcex.clearing.dbf.exporter.services.converters;
import com.linuxense.javadbf.DBFDataType;
import com.linuxense.javadbf.DBFField;
import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.sdf.SDf03;
import java.util.LinkedList;
import java.util.List;
@Service
public class S_DF03_Converter extends DFConverter<SDf03> {
@Override
public Object[] toObjectArray(SDf03 entity) {
List<Object> values = new LinkedList<>();
values.add(typeMatch(entity.getSeg_type()));
values.add(typeMatch(entity.getDoc_type()));
values.add(typeMatch(entity.getDocnm_ref()));
values.add(typeMatch(entity.getDocnmprev()));
values.add(typeMatch(entity.getPriority()));
values.add(typeMatch(entity.getSbankcode()));
values.add(typeMatch(entity.getC_acc_deb()));
values.add(typeMatch(entity.getSbanknam1()));
values.add(typeMatch(entity.getSbanknam2()));
values.add(typeMatch(entity.getSbanknam3()));
values.add(typeMatch(entity.getSbanknam4()));
values.add(typeMatch(entity.getSbanknam5()));
values.add(typeMatch(entity.getRbankcode()));
values.add(typeMatch(entity.getC_acc_cred()));
values.add(typeMatch(entity.getRbanknam1()));
values.add(typeMatch(entity.getRbanknam2()));
values.add(typeMatch(entity.getRbanknam3()));
values.add(typeMatch(entity.getRbanknam4()));
values.add(typeMatch(entity.getRbanknam5()));
values.add(typeMatch(entity.getPay_date()));
values.add(typeMatch(entity.getExt_date()));
values.add(typeMatch(entity.getPay_val()));
values.add(typeMatch(entity.getSum_deb()));
values.add(typeMatch(entity.getSclientn1()));
values.add(typeMatch(entity.getSclientn2()));
values.add(typeMatch(entity.getSclientn3()));
values.add(typeMatch(entity.getSclientn4()));
values.add(typeMatch(entity.getSc_code()));
values.add(typeMatch(entity.getAcc_deb()));
values.add(typeMatch(entity.getRclientn1()));
values.add(typeMatch(entity.getRclientn2()));
values.add(typeMatch(entity.getRclientn3()));
values.add(typeMatch(entity.getRclientn4()));
values.add(typeMatch(entity.getAcc_kr_1()));
values.add(typeMatch(entity.getAcc_kr_2()));
values.add(typeMatch(entity.getSp_code()));
values.add(typeMatch(entity.getSpecif_1()));
values.add(typeMatch(entity.getSpecif_2()));
values.add(typeMatch(entity.getSpecif_3()));
values.add(typeMatch(entity.getSpecif_4()));
values.add(typeMatch(entity.getSpecif_5()));
values.add(typeMatch(entity.getSpecif_6()));
values.add(typeMatch(entity.getSend_type()));
values.add(typeMatch(entity.getServdate()));
values.add(typeMatch(entity.getDoc_result()));
values.add(typeMatch(entity.getImp_result()));
return values.toArray(Object[]::new);
}
@Override
public DBFField[] getDBFHeaders() {
List<DBFField> dbfFields = new LinkedList<>();
dbfFields.add(new DBFField("SEG_TYPE", DBFDataType.CHARACTER, 1));
dbfFields.add(new DBFField("DOC_TYPE", DBFDataType.CHARACTER, 4));
dbfFields.add(new DBFField("DOCNM_REF", DBFDataType.CHARACTER, 16));
dbfFields.add(new DBFField("DOCNMPREV", DBFDataType.CHARACTER, 16));
dbfFields.add(new DBFField("PRIORITY", DBFDataType.CHARACTER, 1));
dbfFields.add(new DBFField("SBANKCODE", DBFDataType.CHARACTER, 12));
dbfFields.add(new DBFField("C_ACC_DEB", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SBANKNAM1", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SBANKNAM2", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SBANKNAM3", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SBANKNAM4", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SBANKNAM5", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RBANKCODE", DBFDataType.CHARACTER, 12));
dbfFields.add(new DBFField("C_ACC_CRED", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RBANKNAM1", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RBANKNAM2", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RBANKNAM3", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RBANKNAM4", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RBANKNAM5", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("PAY_DATE", DBFDataType.CHARACTER, 8));
dbfFields.add(new DBFField("EXT_DATE", DBFDataType.CHARACTER, 8));
dbfFields.add(new DBFField("PAY_VAL", DBFDataType.CHARACTER, 12));
dbfFields.add(new DBFField("SUM_DEB", DBFDataType.CHARACTER, 22));
dbfFields.add(new DBFField("SCLIENTN1", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SCLIENTN2", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SCLIENTN3", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SCLIENTN4", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SC_CODE", DBFDataType.CHARACTER, 12));
dbfFields.add(new DBFField("ACC_DEB", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RCLIENTN1", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RCLIENTN2", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RCLIENTN3", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("RCLIENTN4", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("ACC_KR_1", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("ACC_KR_2", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SP_CODE", DBFDataType.CHARACTER, 2));
dbfFields.add(new DBFField("SPECIF_1", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SPECIF_2", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SPECIF_3", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SPECIF_4", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SPECIF_5", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SPECIF_6", DBFDataType.CHARACTER, 35));
dbfFields.add(new DBFField("SEND_TYPE", DBFDataType.CHARACTER, 10));
dbfFields.add(new DBFField("SERVDATE", DBFDataType.CHARACTER, 8));
dbfFields.add(new DBFField("DOC_RESULT", DBFDataType.CHARACTER, 2));
dbfFields.add(new DBFField("IMP_RESULT", DBFDataType.CHARACTER, 3));
return dbfFields.toArray(DBFField[]::new);
}
}