xml-importer ReadXMLFile and ImportToDB steps tests added
This commit is contained in:
parent
0106d58569
commit
2588000456
18 changed files with 1040 additions and 25 deletions
|
|
@ -118,6 +118,11 @@
|
|||
<artifactId>assertj-core</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>test-clearing</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||
|
||||
@Configuration
|
||||
|
|
@ -33,7 +34,7 @@ public class ImporterImdgConfig {
|
|||
|
||||
@Autowired
|
||||
@Bean
|
||||
public HazelcastService imdgProvider(
|
||||
public ImdgProvider imdgProvider(
|
||||
@Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer,
|
||||
@Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter,
|
||||
ImportXMLServiceSettings settings
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf01;
|
||||
|
|
@ -30,20 +29,19 @@ import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings;
|
|||
import ru.spcex.clearing.xml.importer.logic.data.enums.ETable;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@Configuration
|
||||
@EnableConfigurationProperties
|
||||
@ComponentScan(basePackages = {"ru.spcex.clearing.xml.importer"})
|
||||
public class XMLImporterConfig {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final ImportXMLServiceSettings settings;
|
||||
private final ApplicationContext context;
|
||||
private final HazelcastService hazelcastService;
|
||||
private final ImdgProvider hazelcastService;
|
||||
|
||||
public XMLImporterConfig(ImportXMLServiceSettings settings,
|
||||
ApplicationContext context,
|
||||
HazelcastService hazelcastService) {
|
||||
ImdgProvider hazelcastService) {
|
||||
this.settings = settings;
|
||||
this.context = context;
|
||||
this.hazelcastService = hazelcastService;
|
||||
|
|
|
|||
|
|
@ -4,12 +4,14 @@ import java.io.File;
|
|||
import java.util.UUID;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.ETable;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag;
|
||||
|
||||
public class ResultContainer {
|
||||
private UUID uuid;
|
||||
private ETable xmlTable;
|
||||
private File xmlFile;
|
||||
private StageResult lastStageStatus;
|
||||
private DocumentTag documentTag;
|
||||
|
||||
public ResultContainer(ETable xmlTable, File xmlFile) {
|
||||
this.xmlTable = xmlTable;
|
||||
|
|
@ -48,4 +50,12 @@ public class ResultContainer {
|
|||
public void setLastStageStatus(StageResult lastStageRes) {
|
||||
this.lastStageStatus = lastStageRes;
|
||||
}
|
||||
|
||||
public DocumentTag getDocumentTag() {
|
||||
return documentTag;
|
||||
}
|
||||
|
||||
public void setDocumentTag(DocumentTag documentTag) {
|
||||
this.documentTag = documentTag;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,8 +155,8 @@ public class DF55ObjectTag extends ObjectTag<SDf55> {
|
|||
result.setSclientn2(this.getSclientn1());
|
||||
result.setSclientn3(this.getSclientn1());
|
||||
result.setSclientn4(this.getSclientn1());
|
||||
result.setInn_deb(this.getInnCred());
|
||||
result.setKpp_deb(this.getKppCred());
|
||||
result.setInn_deb(this.getInnDeb());
|
||||
result.setKpp_deb(this.getKppDeb());
|
||||
result.setAcc_deb(this.getAccDeb());
|
||||
result.setRclientn1(this.getRclientn1());
|
||||
result.setRclientn2(this.getRclientn1());
|
||||
|
|
|
|||
|
|
@ -154,8 +154,8 @@ public class DF57ObjectTag extends ObjectTag<SDf57> {
|
|||
result.setRclientn2(this.getRclientn1());
|
||||
result.setRclientn3(this.getRclientn1());
|
||||
result.setRclientn4(this.getRclientn1());
|
||||
result.setInn_cred(this.getInnDeb());
|
||||
result.setKpp_cred(this.getKppDeb());
|
||||
result.setInn_cred(this.getInnCred());
|
||||
result.setKpp_cred(this.getKppCred());
|
||||
result.setAcc_kr(this.getAccKr());
|
||||
result.setSpecif(this.getSpecif());
|
||||
result.setDoc_Num(this.getDocNum());
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package ru.spcex.clearing.xml.importer.logic.steps;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -16,7 +14,6 @@ import ru.spcex.clearing.xml.importer.logic.data.tags.objects.ObjectTag;
|
|||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||
|
||||
@Component
|
||||
public class ImportToDB {
|
||||
|
|
@ -39,17 +36,7 @@ public class ImportToDB {
|
|||
public StageResult process(ResultContainer resultContainer) {
|
||||
log.info("uuid {}. Stage: Import to DB", resultContainer.getUuid());
|
||||
ETable currTable = resultContainer.getXmlTable();
|
||||
File xmlFile = resultContainer.getXmlFile();
|
||||
DocumentTag documentTag;
|
||||
try {
|
||||
documentTag = xmlMapper.readValue(xmlFile, DocumentTag.class);
|
||||
System.out.println(documentTag);
|
||||
} catch (IOException e) {
|
||||
log.error(ExceptionUtils.getStackTrace(e));
|
||||
kafkaMessenger.notifyUserAboutErrorParsing(e, resultContainer);
|
||||
log.info("uuid {}. Stage import to DB finished with status {}", resultContainer.getUuid(), StageResult.ERROR);
|
||||
return StageResult.ERROR;
|
||||
}
|
||||
DocumentTag documentTag = resultContainer.getDocumentTag();
|
||||
|
||||
String fileName = resultContainer.getXmlFile().getName();
|
||||
Long fileId = hazelcastService.getImdgIdGenerator().nextId();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
package ru.spcex.clearing.xml.importer.logic.steps;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
||||
import java.io.IOException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.ResultContainer;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag;
|
||||
import ru.spcex.platform.utils.log.ExceptionUtils;
|
||||
|
||||
@Component
|
||||
public class ReadXMLFile {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final XmlMapper xmlMapper;
|
||||
private final XmlImportKafkaMessenger kafkaMessenger;
|
||||
|
||||
public ReadXMLFile(@Qualifier("xmlMapper") XmlMapper xmlMapper,
|
||||
XmlImportKafkaMessenger kafkaMessenger) {
|
||||
this.xmlMapper = xmlMapper;
|
||||
this.kafkaMessenger = kafkaMessenger;
|
||||
}
|
||||
|
||||
public StageResult process(ResultContainer resultContainer) {
|
||||
log.info("uuid {}. Stage: Reading XML file", resultContainer.getUuid());
|
||||
try {
|
||||
resultContainer.setDocumentTag(xmlMapper.readValue(resultContainer.getXmlFile(), DocumentTag.class));
|
||||
return StageResult.OK;
|
||||
} catch (IOException e) {
|
||||
log.error(ExceptionUtils.getStackTrace(e));
|
||||
kafkaMessenger.notifyUserAboutErrorParsing(e, resultContainer);
|
||||
log.info("uuid {}. Stage reading from XML file finished with status {}", resultContainer.getUuid(), StageResult.ERROR);
|
||||
return StageResult.ERROR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -25,6 +25,7 @@ import ru.spcex.clearing.xml.importer.logic.data.ResultContainer;
|
|||
import ru.spcex.clearing.xml.importer.logic.data.enums.ETable;
|
||||
import ru.spcex.clearing.xml.importer.logic.steps.ChangeDirOfFileStage;
|
||||
import ru.spcex.clearing.xml.importer.logic.steps.ImportToDB;
|
||||
import ru.spcex.clearing.xml.importer.logic.steps.ReadXMLFile;
|
||||
import ru.spcex.platform.utils.collection.Pair;
|
||||
|
||||
@Service("xmlImporterService")
|
||||
|
|
@ -35,15 +36,18 @@ public class XMLImporterService {
|
|||
private final ThreadPoolTaskExecutor executorService;
|
||||
private final Set<Path> filesCurrentlyInProcess;
|
||||
|
||||
private final ReadXMLFile readXMLFile;
|
||||
private final ImportToDB importToDB;
|
||||
private final ChangeDirOfFileStage changeDirOfFileStage;
|
||||
|
||||
public XMLImporterService(@Qualifier("fileChecker") FileChecker fileChecker,
|
||||
@Qualifier("executor") ThreadPoolTaskExecutor executorService,
|
||||
ReadXMLFile readXMLFile,
|
||||
ImportToDB importToDB,
|
||||
ChangeDirOfFileStage changeDirOfFileStage) {
|
||||
this.fileChecker = fileChecker;
|
||||
this.executorService = executorService;
|
||||
this.readXMLFile = readXMLFile;
|
||||
this.importToDB = importToDB;
|
||||
this.changeDirOfFileStage = changeDirOfFileStage;
|
||||
this.filesCurrentlyInProcess = new HashSet<>();
|
||||
|
|
@ -89,6 +93,7 @@ public class XMLImporterService {
|
|||
log.info("uuid {}. Task started", task.getUuid());
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
stopWatch.start();
|
||||
task.setLastStageStatus(readXMLFile.process(task));
|
||||
task.setLastStageStatus(importToDB.process(task));
|
||||
task.setLastStageStatus(changeDirOfFileStage.process(task));
|
||||
stopWatch.stop();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,486 @@
|
|||
package ru.spcex.clearing.xml.importer.logic.steps;
|
||||
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import javax.annotation.PostConstruct;
|
||||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf01;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf04;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf06;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf52;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf55;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf57;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.test.TestObjectCreator;
|
||||
import ru.spcex.clearing.test.config.ImdgTestConfig;
|
||||
import ru.spcex.clearing.test.config.KafkaTestConfig;
|
||||
import ru.spcex.clearing.xml.importer.config.XMLImporterConfig;
|
||||
import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.ResultContainer;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.ETable;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.ParentDocTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF01ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF04ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF06ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF52ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF55ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF57ObjectTag;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||
|
||||
@SpringBootTest(classes = {
|
||||
ImportToDB.class,
|
||||
ImportXMLServiceSettings.class,
|
||||
XmlImportKafkaMessenger.class,
|
||||
XMLImporterConfig.class,
|
||||
ImdgTestConfig.class,
|
||||
KafkaTestConfig.class,
|
||||
})
|
||||
@TestPropertySource(properties = {"spring.config.location=./src/test/resources/"})
|
||||
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
|
||||
class ImportToDBTest {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@Autowired
|
||||
@Qualifier("hazelcastServiceTest")
|
||||
private HazelcastService hazelcastService;
|
||||
|
||||
@Captor
|
||||
private ArgumentCaptor<ProducerRecord> producerRecord;
|
||||
@SpyBean
|
||||
private MockProducer<String, Object> producer;
|
||||
@Autowired
|
||||
@Qualifier("mockProducer")
|
||||
protected Producer<String, Object> mockProducer;
|
||||
|
||||
@Autowired
|
||||
private ImportToDB importToDB;
|
||||
|
||||
@PostConstruct
|
||||
private void init() {
|
||||
hazelcastService.waitAvailable();
|
||||
|
||||
new TestObjectCreator(hazelcastService).createUserAdmin(1000L);
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldImportSDf01ToHazelcast() {
|
||||
DF01ObjectTag expectedObjectTag = new DF01ObjectTag();
|
||||
expectedObjectTag.setCurrCode("test1");
|
||||
expectedObjectTag.setAccount("test2");
|
||||
expectedObjectTag.setRemainder("test3");
|
||||
expectedObjectTag.setDeal("test4");
|
||||
expectedObjectTag.setAccCode("test5");
|
||||
expectedObjectTag.setDat(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setMarket("test6");
|
||||
expectedObjectTag.setAccName("test7");
|
||||
expectedObjectTag.setAccType("test8");
|
||||
expectedObjectTag.setSumengage("test9");
|
||||
expectedObjectTag.setSumunblock("test10");
|
||||
expectedObjectTag.setFileType("test11");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF01");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_01,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-01_S_PRC1604240915_1.xml")).getFile()));
|
||||
actualResultContainer.setDocumentTag(expectedDocumentTag);
|
||||
|
||||
StageResult stageResult = importToDB.process(actualResultContainer);
|
||||
|
||||
Imdg<SDf01> imdg = hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class);
|
||||
SDf01 actualSDf01 = imdg.getAllValues().iterator().next();
|
||||
|
||||
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualSDf01.getCurr_code()).isEqualTo(expectedObjectTag.getCurrCode());
|
||||
Assertions.assertThat(actualSDf01.getAccount()).isEqualTo(expectedObjectTag.getAccount());
|
||||
Assertions.assertThat(actualSDf01.getRemainder()).isEqualTo(expectedObjectTag.getRemainder());
|
||||
Assertions.assertThat(actualSDf01.getDeal()).isEqualTo(expectedObjectTag.getDeal());
|
||||
Assertions.assertThat(actualSDf01.getAcc_code()).isEqualTo(expectedObjectTag.getAccCode());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf01.getDat())).isEqualTo(expectedObjectTag.getDat());
|
||||
Assertions.assertThat(actualSDf01.getMarket()).isEqualTo(expectedObjectTag.getMarket());
|
||||
Assertions.assertThat(actualSDf01.getAcc_name()).isEqualTo(expectedObjectTag.getAccName());
|
||||
Assertions.assertThat(actualSDf01.getAcc_type()).isEqualTo(expectedObjectTag.getAccType());
|
||||
Assertions.assertThat(actualSDf01.getSumengage()).isEqualTo(expectedObjectTag.getSumengage());
|
||||
Assertions.assertThat(actualSDf01.getSumunblock()).isEqualTo(expectedObjectTag.getSumunblock());
|
||||
Assertions.assertThat(actualSDf01.getFile_type()).isEqualTo(expectedObjectTag.getFileType());
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldImportSDf04ToHazelcast() {
|
||||
DF04ObjectTag expectedObjectTag = new DF04ObjectTag();
|
||||
expectedObjectTag.setSegType("test1");
|
||||
expectedObjectTag.setDocType("test2");
|
||||
expectedObjectTag.setDocnmRef("test3");
|
||||
expectedObjectTag.setDocnmprev("test4");
|
||||
expectedObjectTag.setcAccDeb("test5");
|
||||
expectedObjectTag.setSbanknam1("test6");
|
||||
expectedObjectTag.setcAccCred("test7");
|
||||
expectedObjectTag.setRbanknam1("test8");
|
||||
expectedObjectTag.setPayDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setPayVal("test9");
|
||||
expectedObjectTag.setSumDeb("test10");
|
||||
expectedObjectTag.setSpecif1("test11");
|
||||
expectedObjectTag.setImpResult("test12");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF04");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_04,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-04_S_PRC1604240915_1.xml")).getFile()));
|
||||
actualResultContainer.setDocumentTag(expectedDocumentTag);
|
||||
|
||||
StageResult stageResult = importToDB.process(actualResultContainer);
|
||||
|
||||
Imdg<SDf04> imdg = hazelcastService.getImdg(IMDGDistributedNames.Map_SDf04, SDf04.class);
|
||||
SDf04 actualSDf04 = imdg.getAllValues().iterator().next();
|
||||
|
||||
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualSDf04.getSeg_type()).isEqualTo(expectedObjectTag.getSegType());
|
||||
Assertions.assertThat(actualSDf04.getDoc_type()).isEqualTo(expectedObjectTag.getDocType());
|
||||
Assertions.assertThat(actualSDf04.getDocnm_ref()).isEqualTo(expectedObjectTag.getDocnmRef());
|
||||
Assertions.assertThat(actualSDf04.getDocnmprev()).isEqualTo(expectedObjectTag.getDocnmprev());
|
||||
Assertions.assertThat(actualSDf04.getC_acc_deb()).isEqualTo(expectedObjectTag.getcAccDeb());
|
||||
Assertions.assertThat(actualSDf04.getSbanknam1()).isEqualTo(expectedObjectTag.getSbanknam1());
|
||||
Assertions.assertThat(actualSDf04.getC_acc_cred()).isEqualTo(expectedObjectTag.getcAccCred());
|
||||
Assertions.assertThat(actualSDf04.getRbanknam1()).isEqualTo(expectedObjectTag.getRbanknam1());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf04.getPay_date())).isEqualTo(expectedObjectTag.getPayDate());
|
||||
Assertions.assertThat(actualSDf04.getPay_val()).isEqualTo(expectedObjectTag.getPayVal());
|
||||
Assertions.assertThat(actualSDf04.getSum_deb()).isEqualTo(expectedObjectTag.getSumDeb());
|
||||
Assertions.assertThat(actualSDf04.getSpecif_1()).isEqualTo(expectedObjectTag.getSpecif1());
|
||||
Assertions.assertThat(actualSDf04.getImp_result()).isEqualTo(expectedObjectTag.getImpResult());
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldImportSDf06ToHazelcast() {
|
||||
DF06ObjectTag expectedObjectTag = new DF06ObjectTag();
|
||||
expectedObjectTag.setAccount("test1");
|
||||
expectedObjectTag.setSum(new BigDecimal(BigInteger.TEN));
|
||||
expectedObjectTag.setMarket("test3");
|
||||
expectedObjectTag.setType("test4");
|
||||
expectedObjectTag.setDeal("test5");
|
||||
expectedObjectTag.setClientN("test6");
|
||||
expectedObjectTag.setInn("test7");
|
||||
expectedObjectTag.setBic("test8");
|
||||
expectedObjectTag.setSpec("test9");
|
||||
expectedObjectTag.setNumber(new BigDecimal(BigInteger.TWO));
|
||||
expectedObjectTag.setDocNum("test11");
|
||||
expectedObjectTag.setDocDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setPayVal("test12");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF06");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_06,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-06_S_PRC1604240915_1.xml")).getFile()));
|
||||
actualResultContainer.setDocumentTag(expectedDocumentTag);
|
||||
|
||||
StageResult stageResult = importToDB.process(actualResultContainer);
|
||||
|
||||
Imdg<SDf06> imdg = hazelcastService.getImdg(IMDGDistributedNames.Map_SDf06, SDf06.class);
|
||||
SDf06 actualSDf06 = imdg.getAllValues().iterator().next();
|
||||
|
||||
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualSDf06.getAccount()).isEqualTo(expectedObjectTag.getAccount());
|
||||
Assertions.assertThat(actualSDf06.getSum()).isEqualTo(expectedObjectTag.getSum());
|
||||
Assertions.assertThat(actualSDf06.getMarket()).isEqualTo(expectedObjectTag.getMarket());
|
||||
Assertions.assertThat(actualSDf06.getType()).isEqualTo(expectedObjectTag.getType());
|
||||
Assertions.assertThat(actualSDf06.getDeal()).isEqualTo(expectedObjectTag.getDeal());
|
||||
Assertions.assertThat(actualSDf06.getClientN()).isEqualTo(expectedObjectTag.getClientN());
|
||||
Assertions.assertThat(actualSDf06.getInn()).isEqualTo(expectedObjectTag.getInn());
|
||||
Assertions.assertThat(actualSDf06.getBic()).isEqualTo(expectedObjectTag.getBic());
|
||||
Assertions.assertThat(actualSDf06.getSpec()).isEqualTo(expectedObjectTag.getSpec());
|
||||
Assertions.assertThat(actualSDf06.getNumber()).isEqualTo(expectedObjectTag.getNumber());
|
||||
Assertions.assertThat(actualSDf06.getDoc_Num()).isEqualTo(expectedObjectTag.getDocNum());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf06.getDoc_Date())).isEqualTo(expectedObjectTag.getDocDate());
|
||||
Assertions.assertThat(actualSDf06.getPay_val()).isEqualTo(expectedObjectTag.getPayVal());
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldImportSDf52ToHazelcast() {
|
||||
DF52ObjectTag expectedObjectTag = new DF52ObjectTag();
|
||||
expectedObjectTag.setAccount("test1");
|
||||
expectedObjectTag.setAccName("test2");
|
||||
expectedObjectTag.setDeal("test3");
|
||||
expectedObjectTag.setDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setAccType("test5");
|
||||
expectedObjectTag.setStatus(1L);
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF52");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_52,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-52_S_PRC1604240915_1.xml")).getFile()));
|
||||
actualResultContainer.setDocumentTag(expectedDocumentTag);
|
||||
|
||||
StageResult stageResult = importToDB.process(actualResultContainer);
|
||||
|
||||
Imdg<SDf52> imdg = hazelcastService.getImdg(IMDGDistributedNames.Map_SDf52, SDf52.class);
|
||||
SDf52 actualSDf52 = imdg.getAllValues().iterator().next();
|
||||
|
||||
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualSDf52.getAccount()).isEqualTo(expectedObjectTag.getAccount());
|
||||
Assertions.assertThat(actualSDf52.getAcc_name()).isEqualTo(expectedObjectTag.getAccName());
|
||||
Assertions.assertThat(actualSDf52.getDeal()).isEqualTo(expectedObjectTag.getDeal());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf52.getDate())).isEqualTo(expectedObjectTag.getDate());
|
||||
Assertions.assertThat(actualSDf52.getAcc_type()).isEqualTo(expectedObjectTag.getAccType());
|
||||
Assertions.assertThat(actualSDf52.getStatus()).isEqualTo(expectedObjectTag.getStatus());
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldImportSDf55ToHazelcast() {
|
||||
DF55ObjectTag expectedObjectTag = new DF55ObjectTag();
|
||||
expectedObjectTag.setSegType("test1");
|
||||
expectedObjectTag.setDocType("test2");
|
||||
expectedObjectTag.setDocnmRef("test3");
|
||||
expectedObjectTag.setDocnmprev("test4");
|
||||
expectedObjectTag.setSbankcode("test5");
|
||||
expectedObjectTag.setcAccDeb("test6");
|
||||
expectedObjectTag.setSbanknam1("test7");
|
||||
expectedObjectTag.setRbankcode("test8");
|
||||
expectedObjectTag.setcAccCred("test9");
|
||||
expectedObjectTag.setRbanknam1("test10");
|
||||
expectedObjectTag.setOpType("test11");
|
||||
expectedObjectTag.setOpOrder("test12");
|
||||
expectedObjectTag.setPayDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setPayVal("test13");
|
||||
expectedObjectTag.setSumDeb("test14");
|
||||
expectedObjectTag.setSclientn1("test15");
|
||||
expectedObjectTag.setInnDeb("test16");
|
||||
expectedObjectTag.setKppDeb("test17");
|
||||
expectedObjectTag.setAccDeb("test18");
|
||||
expectedObjectTag.setRclientn1("test19");
|
||||
expectedObjectTag.setInnCred("test20");
|
||||
expectedObjectTag.setKppCred("test21");
|
||||
expectedObjectTag.setAccKr1("test22");
|
||||
expectedObjectTag.setSpecif1("test23");
|
||||
expectedObjectTag.setSendType("test24");
|
||||
expectedObjectTag.setDocResult("test25");
|
||||
expectedObjectTag.setDocNum("test26");
|
||||
expectedObjectTag.setDocDate(LocalDate.parse("2024-03-15"));
|
||||
expectedObjectTag.setValueDate(LocalDate.parse("2024-03-16"));
|
||||
expectedObjectTag.setSwiftBen("test27");
|
||||
expectedObjectTag.setSwiftInt("test28");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF55");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_55,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-55_S_PRC1604240915_1.xml")).getFile()));
|
||||
actualResultContainer.setDocumentTag(expectedDocumentTag);
|
||||
|
||||
StageResult stageResult = importToDB.process(actualResultContainer);
|
||||
|
||||
Imdg<SDf55> imdg = hazelcastService.getImdg(IMDGDistributedNames.Map_SDf55, SDf55.class);
|
||||
SDf55 actualSDf55 = imdg.getAllValues().iterator().next();
|
||||
|
||||
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualSDf55.getSeg_type()).isEqualTo(expectedObjectTag.getSegType());
|
||||
Assertions.assertThat(actualSDf55.getDoc_type()).isEqualTo(expectedObjectTag.getDocType());
|
||||
Assertions.assertThat(actualSDf55.getDocnm_ref()).isEqualTo(expectedObjectTag.getDocnmRef());
|
||||
Assertions.assertThat(actualSDf55.getDocnmprev()).isEqualTo(expectedObjectTag.getDocnmprev());
|
||||
Assertions.assertThat(actualSDf55.getSbankcode()).isEqualTo(expectedObjectTag.getSbankcode());
|
||||
Assertions.assertThat(actualSDf55.getC_acc_deb()).isEqualTo(expectedObjectTag.getcAccDeb());
|
||||
Assertions.assertThat(actualSDf55.getSbanknam1()).isEqualTo(expectedObjectTag.getSbanknam1());
|
||||
Assertions.assertThat(actualSDf55.getRbankcode()).isEqualTo(expectedObjectTag.getRbankcode());
|
||||
Assertions.assertThat(actualSDf55.getC_acc_cred()).isEqualTo(expectedObjectTag.getcAccCred());
|
||||
Assertions.assertThat(actualSDf55.getRbanknam1()).isEqualTo(expectedObjectTag.getRbanknam1());
|
||||
Assertions.assertThat(actualSDf55.getOp_type()).isEqualTo(expectedObjectTag.getOpType());
|
||||
Assertions.assertThat(actualSDf55.getOp_order()).isEqualTo(expectedObjectTag.getOpOrder());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf55.getPay_date())).isEqualTo(expectedObjectTag.getPayDate());
|
||||
Assertions.assertThat(actualSDf55.getPay_val()).isEqualTo(expectedObjectTag.getPayVal());
|
||||
Assertions.assertThat(actualSDf55.getSum_deb()).isEqualTo(expectedObjectTag.getSumDeb());
|
||||
Assertions.assertThat(actualSDf55.getSclientn1()).isEqualTo(expectedObjectTag.getSclientn1());
|
||||
Assertions.assertThat(actualSDf55.getInn_deb()).isEqualTo(expectedObjectTag.getInnDeb());
|
||||
Assertions.assertThat(actualSDf55.getKpp_deb()).isEqualTo(expectedObjectTag.getKppDeb());
|
||||
Assertions.assertThat(actualSDf55.getAcc_deb()).isEqualTo(expectedObjectTag.getAccDeb());
|
||||
Assertions.assertThat(actualSDf55.getRclientn1()).isEqualTo(expectedObjectTag.getRclientn1());
|
||||
Assertions.assertThat(actualSDf55.getInn_cred()).isEqualTo(expectedObjectTag.getInnCred());
|
||||
Assertions.assertThat(actualSDf55.getKpp_cred()).isEqualTo(expectedObjectTag.getKppCred());
|
||||
Assertions.assertThat(actualSDf55.getAcc_kr_1()).isEqualTo(expectedObjectTag.getAccKr1());
|
||||
Assertions.assertThat(actualSDf55.getSpecif_1()).isEqualTo(expectedObjectTag.getSpecif1());
|
||||
Assertions.assertThat(actualSDf55.getSend_type()).isEqualTo(expectedObjectTag.getSendType());
|
||||
Assertions.assertThat(actualSDf55.getDoc_result()).isEqualTo(expectedObjectTag.getDocResult());
|
||||
Assertions.assertThat(actualSDf55.getDoc_Num()).isEqualTo(expectedObjectTag.getDocNum());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf55.getDoc_Date())).isEqualTo(expectedObjectTag.getDocDate());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf55.getValue_date())).isEqualTo(expectedObjectTag.getValueDate());
|
||||
Assertions.assertThat(actualSDf55.getSwift_ben()).isEqualTo(expectedObjectTag.getSwiftBen());
|
||||
Assertions.assertThat(actualSDf55.getSwift_int()).isEqualTo(expectedObjectTag.getSwiftInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldImportSDf57ToHazelcast() {
|
||||
DF57ObjectTag expectedObjectTag = new DF57ObjectTag();
|
||||
expectedObjectTag.setId(1L);
|
||||
expectedObjectTag.setDealDeb("test2");
|
||||
expectedObjectTag.setDealCred("test3");
|
||||
expectedObjectTag.setSbankcode("test4");
|
||||
expectedObjectTag.setcAccDeb("test5");
|
||||
expectedObjectTag.setSbanknam1("test6");
|
||||
expectedObjectTag.setRbankcode("test7");
|
||||
expectedObjectTag.setcAccCred("test8");
|
||||
expectedObjectTag.setRbanknam1("test9");
|
||||
expectedObjectTag.setOpType("test10");
|
||||
expectedObjectTag.setPayDate(LocalDate.parse("2024-03-15"));
|
||||
expectedObjectTag.setExtDate(111L);
|
||||
expectedObjectTag.setPayVal("test11");
|
||||
expectedObjectTag.setSumDeb("test12");
|
||||
expectedObjectTag.setSclientn1("test13");
|
||||
expectedObjectTag.setInnDeb("test14");
|
||||
expectedObjectTag.setKppDeb("test15");
|
||||
expectedObjectTag.setAccDeb("test16");
|
||||
expectedObjectTag.setRclientn1("test17");
|
||||
expectedObjectTag.setInnCred("test18");
|
||||
expectedObjectTag.setKppCred("test19");
|
||||
expectedObjectTag.setAccKr("test20");
|
||||
expectedObjectTag.setSpecif("test21");
|
||||
expectedObjectTag.setDocNum("test22");
|
||||
expectedObjectTag.setDocDate(LocalDate.parse("2024-03-16"));
|
||||
expectedObjectTag.setDtIn("test23");
|
||||
expectedObjectTag.setKtIn("test24");
|
||||
expectedObjectTag.setDtOut("test25");
|
||||
expectedObjectTag.setKtOut("test26");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF57");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_57,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-57_S_PRC1604240915_1.xml")).getFile()));
|
||||
actualResultContainer.setDocumentTag(expectedDocumentTag);
|
||||
|
||||
StageResult stageResult = importToDB.process(actualResultContainer);
|
||||
|
||||
Imdg<SDf57> imdg = hazelcastService.getImdg(IMDGDistributedNames.Map_SDf57, SDf57.class);
|
||||
SDf57 actualSDf57 = imdg.getAllValues().iterator().next();
|
||||
|
||||
Assertions.assertThat(stageResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualSDf57.getDbfId()).isEqualTo(expectedObjectTag.getId());
|
||||
Assertions.assertThat(actualSDf57.getDeal_deb()).isEqualTo(expectedObjectTag.getDealDeb());
|
||||
Assertions.assertThat(actualSDf57.getDeal_cred()).isEqualTo(expectedObjectTag.getDealCred());
|
||||
Assertions.assertThat(actualSDf57.getSbankcode()).isEqualTo(expectedObjectTag.getSbankcode());
|
||||
Assertions.assertThat(actualSDf57.getC_acc_deb()).isEqualTo(expectedObjectTag.getcAccDeb());
|
||||
Assertions.assertThat(actualSDf57.getSbanknam1()).isEqualTo(expectedObjectTag.getSbanknam1());
|
||||
Assertions.assertThat(actualSDf57.getRbankcode()).isEqualTo(expectedObjectTag.getRbankcode());
|
||||
Assertions.assertThat(actualSDf57.getC_acc_cred()).isEqualTo(expectedObjectTag.getcAccCred());
|
||||
Assertions.assertThat(actualSDf57.getRbanknam1()).isEqualTo(expectedObjectTag.getRbanknam1());
|
||||
Assertions.assertThat(actualSDf57.getOp_type()).isEqualTo(expectedObjectTag.getOpType());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf57.getPay_date())).isEqualTo(expectedObjectTag.getPayDate());
|
||||
Assertions.assertThat(Long.parseLong(actualSDf57.getExt_date())).isEqualTo(expectedObjectTag.getExtDate());
|
||||
Assertions.assertThat(actualSDf57.getPay_val()).isEqualTo(expectedObjectTag.getPayVal());
|
||||
Assertions.assertThat(actualSDf57.getSum_deb()).isEqualTo(expectedObjectTag.getSumDeb());
|
||||
Assertions.assertThat(actualSDf57.getSclientn1()).isEqualTo(expectedObjectTag.getSclientn1());
|
||||
Assertions.assertThat(actualSDf57.getInn_deb()).isEqualTo(expectedObjectTag.getInnDeb());
|
||||
Assertions.assertThat(actualSDf57.getKpp_deb()).isEqualTo(expectedObjectTag.getKppDeb());
|
||||
Assertions.assertThat(actualSDf57.getAcc_deb()).isEqualTo(expectedObjectTag.getAccDeb());
|
||||
Assertions.assertThat(actualSDf57.getRclientn1()).isEqualTo(expectedObjectTag.getRclientn1());
|
||||
Assertions.assertThat(actualSDf57.getInn_cred()).isEqualTo(expectedObjectTag.getInnCred());
|
||||
Assertions.assertThat(actualSDf57.getKpp_cred()).isEqualTo(expectedObjectTag.getKppCred());
|
||||
Assertions.assertThat(actualSDf57.getAcc_kr()).isEqualTo(expectedObjectTag.getAccKr());
|
||||
Assertions.assertThat(actualSDf57.getSpecif()).isEqualTo(expectedObjectTag.getSpecif());
|
||||
Assertions.assertThat(actualSDf57.getDoc_Num()).isEqualTo(expectedObjectTag.getDocNum());
|
||||
Assertions.assertThat(LocalDate.parse(actualSDf57.getDoc_Date())).isEqualTo(expectedObjectTag.getDocDate());
|
||||
Assertions.assertThat(actualSDf57.getDt_in()).isEqualTo(expectedObjectTag.getDtIn());
|
||||
Assertions.assertThat(actualSDf57.getKt_in()).isEqualTo(expectedObjectTag.getKtIn());
|
||||
Assertions.assertThat(actualSDf57.getDt_out()).isEqualTo(expectedObjectTag.getDtOut());
|
||||
Assertions.assertThat(actualSDf57.getKt_out()).isEqualTo(expectedObjectTag.getKtOut());
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,337 @@
|
|||
package ru.spcex.clearing.xml.importer.logic.steps;
|
||||
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import org.assertj.core.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.TestPropertySource;
|
||||
import ru.spcex.clearing.test.config.ImdgTestConfig;
|
||||
import ru.spcex.clearing.test.config.KafkaTestConfig;
|
||||
import ru.spcex.clearing.xml.importer.config.XMLImporterConfig;
|
||||
import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.ResultContainer;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.ETable;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.ParentDocTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF01ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF04ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF06ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF52ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF55ObjectTag;
|
||||
import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF57ObjectTag;
|
||||
|
||||
@SpringBootTest(classes = {
|
||||
ReadXMLFile.class,
|
||||
ImportXMLServiceSettings.class,
|
||||
XmlImportKafkaMessenger.class,
|
||||
XMLImporterConfig.class,
|
||||
ImdgTestConfig.class,
|
||||
KafkaTestConfig.class,
|
||||
})
|
||||
@TestPropertySource(properties = {"spring.config.location=./src/test/resources/"})
|
||||
class ReadXMLFileTest {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
@Autowired
|
||||
private ReadXMLFile readXMLFile;
|
||||
|
||||
@Test
|
||||
void process_shouldReadSDf01XMLFile() {
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_01,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-01_S_PRC1604240915_1.xml")).getFile()));
|
||||
|
||||
StageResult processResult = readXMLFile.process(actualResultContainer);
|
||||
|
||||
DF01ObjectTag expectedObjectTag = new DF01ObjectTag();
|
||||
expectedObjectTag.setCurrCode("test1");
|
||||
expectedObjectTag.setAccount("test2");
|
||||
expectedObjectTag.setRemainder("test3");
|
||||
expectedObjectTag.setDeal("test4");
|
||||
expectedObjectTag.setAccCode("test5");
|
||||
expectedObjectTag.setDat(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setMarket("test6");
|
||||
expectedObjectTag.setAccName("test7");
|
||||
expectedObjectTag.setAccType("test8");
|
||||
expectedObjectTag.setSumengage("test9");
|
||||
expectedObjectTag.setSumunblock("test10");
|
||||
expectedObjectTag.setFileType("test11");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF01");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
Assertions.assertThat(processResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualResultContainer.getDocumentTag())
|
||||
.usingRecursiveComparison()
|
||||
.isEqualTo(expectedDocumentTag);
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldReadSDf04XMLFile() {
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_04,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-04_S_PRC1604240915_1.xml")).getFile()));
|
||||
|
||||
StageResult processResult = readXMLFile.process(actualResultContainer);
|
||||
|
||||
DF04ObjectTag expectedObjectTag = new DF04ObjectTag();
|
||||
expectedObjectTag.setSegType("test1");
|
||||
expectedObjectTag.setDocType("test2");
|
||||
expectedObjectTag.setDocnmRef("test3");
|
||||
expectedObjectTag.setDocnmprev("test4");
|
||||
expectedObjectTag.setcAccDeb("test5");
|
||||
expectedObjectTag.setSbanknam1("test6");
|
||||
expectedObjectTag.setcAccCred("test7");
|
||||
expectedObjectTag.setRbanknam1("test8");
|
||||
expectedObjectTag.setPayDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setPayVal("test9");
|
||||
expectedObjectTag.setSumDeb("test10");
|
||||
expectedObjectTag.setSpecif1("test11");
|
||||
expectedObjectTag.setImpResult("test12");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF04");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
Assertions.assertThat(processResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualResultContainer.getDocumentTag())
|
||||
.usingRecursiveComparison()
|
||||
.isEqualTo(expectedDocumentTag);
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldReadSDf06XMLFile() {
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_06,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-06_S_PRC1604240915_1.xml")).getFile()));
|
||||
|
||||
StageResult processResult = readXMLFile.process(actualResultContainer);
|
||||
|
||||
DF06ObjectTag expectedObjectTag = new DF06ObjectTag();
|
||||
expectedObjectTag.setAccount("test1");
|
||||
expectedObjectTag.setSum(new BigDecimal(BigInteger.TEN));
|
||||
expectedObjectTag.setMarket("test3");
|
||||
expectedObjectTag.setType("test4");
|
||||
expectedObjectTag.setDeal("test5");
|
||||
expectedObjectTag.setClientN("test6");
|
||||
expectedObjectTag.setInn("test7");
|
||||
expectedObjectTag.setBic("test8");
|
||||
expectedObjectTag.setSpec("test9");
|
||||
expectedObjectTag.setNumber(new BigDecimal(BigInteger.TWO));
|
||||
expectedObjectTag.setDocNum("test11");
|
||||
expectedObjectTag.setDocDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setPayVal("test12");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF06");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
Assertions.assertThat(processResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualResultContainer.getDocumentTag())
|
||||
.usingRecursiveComparison()
|
||||
.isEqualTo(expectedDocumentTag);
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldReadSDf52XMLFile() {
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_52,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-52_S_PRC1604240915_1.xml")).getFile()));
|
||||
|
||||
StageResult processResult = readXMLFile.process(actualResultContainer);
|
||||
|
||||
DF52ObjectTag expectedObjectTag = new DF52ObjectTag();
|
||||
expectedObjectTag.setAccount("test1");
|
||||
expectedObjectTag.setAccName("test2");
|
||||
expectedObjectTag.setDeal("test3");
|
||||
expectedObjectTag.setDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setAccType("test5");
|
||||
expectedObjectTag.setStatus(1L);
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF52");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
Assertions.assertThat(processResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualResultContainer.getDocumentTag())
|
||||
.usingRecursiveComparison()
|
||||
.isEqualTo(expectedDocumentTag);
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldReadSDf55XMLFile() {
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_55,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-55_S_PRC1604240915_1.xml")).getFile()));
|
||||
|
||||
StageResult processResult = readXMLFile.process(actualResultContainer);
|
||||
|
||||
DF55ObjectTag expectedObjectTag = new DF55ObjectTag();
|
||||
expectedObjectTag.setSegType("test1");
|
||||
expectedObjectTag.setDocType("test2");
|
||||
expectedObjectTag.setDocnmRef("test3");
|
||||
expectedObjectTag.setDocnmprev("test4");
|
||||
expectedObjectTag.setSbankcode("test5");
|
||||
expectedObjectTag.setcAccDeb("test6");
|
||||
expectedObjectTag.setSbanknam1("test7");
|
||||
expectedObjectTag.setRbankcode("test8");
|
||||
expectedObjectTag.setcAccCred("test9");
|
||||
expectedObjectTag.setRbanknam1("test10");
|
||||
expectedObjectTag.setOpType("test11");
|
||||
expectedObjectTag.setOpOrder("test12");
|
||||
expectedObjectTag.setPayDate(LocalDate.parse("2024-03-14"));
|
||||
expectedObjectTag.setPayVal("test13");
|
||||
expectedObjectTag.setSumDeb("test14");
|
||||
expectedObjectTag.setSclientn1("test15");
|
||||
expectedObjectTag.setInnDeb("test16");
|
||||
expectedObjectTag.setKppDeb("test17");
|
||||
expectedObjectTag.setAccDeb("test18");
|
||||
expectedObjectTag.setRclientn1("test19");
|
||||
expectedObjectTag.setInnCred("test20");
|
||||
expectedObjectTag.setKppCred("test21");
|
||||
expectedObjectTag.setAccKr1("test22");
|
||||
expectedObjectTag.setSpecif1("test23");
|
||||
expectedObjectTag.setSendType("test24");
|
||||
expectedObjectTag.setDocResult("test25");
|
||||
expectedObjectTag.setDocNum("test26");
|
||||
expectedObjectTag.setDocDate(LocalDate.parse("2024-03-15"));
|
||||
expectedObjectTag.setValueDate(LocalDate.parse("2024-03-16"));
|
||||
expectedObjectTag.setSwiftBen("test27");
|
||||
expectedObjectTag.setSwiftInt("test28");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF55");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
Assertions.assertThat(processResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualResultContainer.getDocumentTag())
|
||||
.usingRecursiveComparison()
|
||||
.isEqualTo(expectedDocumentTag);
|
||||
}
|
||||
|
||||
@Test
|
||||
void process_shouldReadSDf57XMLFile() {
|
||||
ResultContainer actualResultContainer = new ResultContainer(ETable.DF_57,
|
||||
new File(Objects.requireNonNull(getClass()
|
||||
.getClassLoader()
|
||||
.getResource("xml/DF-57_S_PRC1604240915_1.xml")).getFile()));
|
||||
|
||||
StageResult processResult = readXMLFile.process(actualResultContainer);
|
||||
|
||||
DF57ObjectTag expectedObjectTag = new DF57ObjectTag();
|
||||
expectedObjectTag.setId(1L);
|
||||
expectedObjectTag.setDealDeb("test2");
|
||||
expectedObjectTag.setDealCred("test3");
|
||||
expectedObjectTag.setSbankcode("test4");
|
||||
expectedObjectTag.setcAccDeb("test5");
|
||||
expectedObjectTag.setSbanknam1("test6");
|
||||
expectedObjectTag.setRbankcode("test7");
|
||||
expectedObjectTag.setcAccCred("test8");
|
||||
expectedObjectTag.setRbanknam1("test9");
|
||||
expectedObjectTag.setOpType("test10");
|
||||
expectedObjectTag.setPayDate(LocalDate.parse("2024-03-15"));
|
||||
expectedObjectTag.setExtDate(111L);
|
||||
expectedObjectTag.setPayVal("test11");
|
||||
expectedObjectTag.setSumDeb("test12");
|
||||
expectedObjectTag.setSclientn1("test13");
|
||||
expectedObjectTag.setInnDeb("test14");
|
||||
expectedObjectTag.setKppDeb("test15");
|
||||
expectedObjectTag.setAccDeb("test16");
|
||||
expectedObjectTag.setRclientn1("test17");
|
||||
expectedObjectTag.setInnCred("test18");
|
||||
expectedObjectTag.setKppCred("test19");
|
||||
expectedObjectTag.setAccKr("test20");
|
||||
expectedObjectTag.setSpecif("test21");
|
||||
expectedObjectTag.setDocNum("test22");
|
||||
expectedObjectTag.setDocDate(LocalDate.parse("2024-03-16"));
|
||||
expectedObjectTag.setDtIn("test23");
|
||||
expectedObjectTag.setKtIn("test24");
|
||||
expectedObjectTag.setDtOut("test25");
|
||||
expectedObjectTag.setKtOut("test26");
|
||||
|
||||
ParentDocTag expectedParentDocTag = new ParentDocTag();
|
||||
expectedParentDocTag.setParentId("");
|
||||
|
||||
DocumentTag expectedDocumentTag = new DocumentTag();
|
||||
expectedDocumentTag.setMessageId("qq");
|
||||
expectedDocumentTag.setMessageType("DF57");
|
||||
expectedDocumentTag.setMessageName("ww");
|
||||
expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14"));
|
||||
expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31"));
|
||||
expectedDocumentTag.setSender("БИСКВИТ");
|
||||
expectedDocumentTag.setReceiver("");
|
||||
expectedDocumentTag.setParentDoc(expectedParentDocTag);
|
||||
expectedDocumentTag.setObjects(List.of(expectedObjectTag));
|
||||
|
||||
Assertions.assertThat(processResult).isEqualTo(StageResult.OK);
|
||||
Assertions.assertThat(actualResultContainer.getDocumentTag())
|
||||
.usingRecursiveComparison()
|
||||
.isEqualTo(expectedDocumentTag);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
server.port=8081
|
||||
server.servlet.context-path=/xml-importer
|
||||
spring.main.web-application-type=servlet
|
||||
|
||||
import-xml-service.scheduler.check-src-dir-cron=* * * * 1 ?
|
||||
|
||||
import-xml-service.store.delete-src-files=false
|
||||
import-xml-service.store.src-dir=/opt/clearing/file/xml-importer/
|
||||
import-xml-service.store.out-dir=/opt/clearing/file/xml-importer/loaded/
|
||||
import-xml-service.store.out-dir-error=/opt/clearing/file/xml-importer/error/
|
||||
|
||||
import-xml-service.common.encoding-source=cp866
|
||||
import-xml-service.common.insert-batch-size=100
|
||||
import-xml-service.common.threads-count=10
|
||||
|
||||
#sftpSrcDir
|
||||
import-xml-service.store.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/
|
||||
import-xml-service.store.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/
|
||||
import-xml-service.store.sftp-in.sftp-src-dir=clearing_xml-importer_sftp
|
||||
import-xml-service.store.sftp-in.user=user
|
||||
import-xml-service.store.sftp-in.password=*********
|
||||
import-xml-service.store.sftp-in.server-ip=127.0.0.1
|
||||
import-xml-service.store.sftp-in.server-port=22
|
||||
|
||||
import-xml-service.hazelcast.cluster-members=127.0.0.1:5701
|
||||
import-xml-service.hazelcast.login=dev
|
||||
import-xml-service.hazelcast.password=dev-pass
|
||||
|
||||
|
||||
import-xml-service.kafka-producer.bootstrap-servers=localhost:9092
|
||||
import-xml-service.kafka-producer.acks=all
|
||||
import-xml-service.kafka-producer.retries=0
|
||||
import-xml-service.kafka-producer.batch-size=16384
|
||||
import-xml-service.kafka-producer.linger-ms=1
|
||||
import-xml-service.kafka-producer.buffer-memory=33554432
|
||||
|
||||
import-xml-service.kafka-consumer.bootstrap-servers=localhost:9092
|
||||
import-xml-service.kafka-consumer.group-id=dev-group-clearing-service
|
||||
import-xml-service.kafka-consumer.enable-auto-commit=false
|
||||
import-xml-service.kafka-consumer.session-timeout-ms=30000
|
||||
import-xml-service.kafka-consumer.auto-offset-reset=latest
|
||||
import-xml-service.kafka-consumer.linger-ms=1
|
||||
import-xml-service.kafka-consumer.buffer-memory=33554432
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DOCUMENT MESSAGEID="qq" MESSAGETYPE="DF01" MESSAGENAME="ww" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="БИСКВИТ" RECEIVER="">
|
||||
<PARENTDOC PARENTID=""/>
|
||||
<OBJECTS>
|
||||
<OBJECT CURR_CODE="test1" ACCOUNT="test2" REMAINDER="test3" DEAL="test4" ACC_CODE="test5" DAT="2024-03-14" MARKET="test6" ACC_NAME="test7" ACC_TYPE="test8" SUMENGAGE="test9" SUMUNBLOK="test10" FILE_TYPE="test11" />
|
||||
</OBJECTS>
|
||||
</DOCUMENT>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DOCUMENT MESSAGEID="qq" MESSAGETYPE="DF04" MESSAGENAME="ww" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="БИСКВИТ" RECEIVER="">
|
||||
<PARENTDOC PARENTID=""/>
|
||||
<OBJECTS>
|
||||
<OBJECT SEG_TYPE="test1" DOC_TYPE="test2" DOCNM_REF="test3" DOCNMPREV="test4" C_ACC_DEB="test5" SBANKNAM="test6" C_ACC_CRED="test7" RBANKNAM="test8" PAY_DATE="2024-03-14" PAY_VAL="test9" SUM_DEB="test10" SPECIF_1="test11" IMP_RESULT="test12" />
|
||||
</OBJECTS>
|
||||
</DOCUMENT>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DOCUMENT MESSAGEID="qq" MESSAGETYPE="DF06" MESSAGENAME="ww" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="БИСКВИТ" RECEIVER="">
|
||||
<PARENTDOC PARENTID=""/>
|
||||
<OBJECTS>
|
||||
<OBJECT ACCOUNT="test1" SUM="10" MARKET="test3" TYPE="test4" DEAL="test5" CLIENTN="test6" INN="test7" BIC="test8" SPEC="test9" NUMBER="2" DOC_NUM="test11" DOC_DATE="2024-03-14" PAY_VAL="test12" />
|
||||
</OBJECTS>
|
||||
</DOCUMENT>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DOCUMENT MESSAGEID="qq" MESSAGETYPE="DF52" MESSAGENAME="ww" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="БИСКВИТ" RECEIVER="">
|
||||
<PARENTDOC PARENTID=""/>
|
||||
<OBJECTS>
|
||||
<OBJECT ACCOUNT="test1" ACC_NAME="test2" DEAL="test3" DATE="2024-03-14" STATUS="1" ACC_TYPE="test5" />
|
||||
</OBJECTS>
|
||||
</DOCUMENT>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DOCUMENT MESSAGEID="qq" MESSAGETYPE="DF55" MESSAGENAME="ww" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31" SENDER="БИСКВИТ" RECEIVER="">
|
||||
<PARENTDOC PARENTID=""/>
|
||||
<OBJECTS>
|
||||
<OBJECT
|
||||
SEG_TYPE="test1"
|
||||
DOC_TYPE="test2"
|
||||
DOCNM_REF="test3"
|
||||
DOCNMPREV="test4"
|
||||
SBANKCODE="test5"
|
||||
C_ACC_DEB="test6"
|
||||
SBANKNAM="test7"
|
||||
RBANKCODE="test8"
|
||||
C_ACC_CRED="test9"
|
||||
RBANKNAM="test10"
|
||||
OP_TYPE="test11"
|
||||
OP_ORDER="test12"
|
||||
PAY_DATE="2024-03-14"
|
||||
PAY_VAL="test13"
|
||||
SUM_DEB="test14"
|
||||
SCLIENTN="test15"
|
||||
INN_DEB="test16"
|
||||
KPP_DEB="test17"
|
||||
ACC_DEB="test18"
|
||||
RCLIENTN="test19"
|
||||
INN_CRED="test20"
|
||||
KPP_CRED="test21"
|
||||
ACC_KR_1="test22"
|
||||
SPECIF_1="test23"
|
||||
SEND_TYPE="test24"
|
||||
DOC_RESULT="test25"
|
||||
DOC_NUM="test26"
|
||||
DOC_DATE="2024-03-15"
|
||||
VALUE_DATE="2024-03-16"
|
||||
SWIFT_BEN="test27"
|
||||
SWIFT_INT="test28"
|
||||
/>
|
||||
</OBJECTS>
|
||||
</DOCUMENT>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<DOCUMENT MESSAGEID="qq" MESSAGETYPE="DF57" MESSAGENAME="ww" MESSAGEDATE="2024-03-14" MESSAGETIME="09:15:31"
|
||||
SENDER="БИСКВИТ" RECEIVER="">
|
||||
<PARENTDOC PARENTID=""/>
|
||||
<OBJECTS>
|
||||
<OBJECT
|
||||
ID="1"
|
||||
DEAL_DEB="test2"
|
||||
DEAL_CRED="test3"
|
||||
SBANKCODE="test4"
|
||||
C_ACC_DEB="test5"
|
||||
SBANKNAM="test6"
|
||||
RBANKCODE="test7"
|
||||
C_ACC_CRED="test8"
|
||||
RBANKNAM="test9"
|
||||
OP_TYPE="test10"
|
||||
PAY_DATE="2024-03-15"
|
||||
EXT_DATE="111"
|
||||
PAY_VAL="test11"
|
||||
SUM_DEB="test12"
|
||||
SCLIENTN="test13"
|
||||
INN_DEB="test14"
|
||||
KPP_DEB="test15"
|
||||
ACC_DEB="test16"
|
||||
RCLIENTN="test17"
|
||||
INN_CRED="test18"
|
||||
KPP_CRED="test19"
|
||||
ACC_KR="test20"
|
||||
SPECIF="test21"
|
||||
DOC_NUM="test22"
|
||||
DOC_DATE="2024-03-16"
|
||||
DT_IN="test23"
|
||||
KT_IN="test24"
|
||||
DT_OUT="test25"
|
||||
KT_OUT="test26"
|
||||
/>
|
||||
</OBJECTS>
|
||||
</DOCUMENT>
|
||||
Loading…
Add table
Reference in a new issue