diff --git a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java index f3334682e..2ccff62f9 100644 --- a/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java +++ b/clearing-parent/xml-exporter/src/main/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcast.java @@ -12,6 +12,7 @@ import java.util.Map; import java.util.Objects; import java.util.function.Supplier; import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import net.logstash.logback.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Qualifier; @@ -20,6 +21,7 @@ import ru.clearing.classes.statics.data.sdf.SDf02; import ru.clearing.classes.statics.data.sdf.SDf03; import ru.clearing.classes.statics.data.sdf.SDf07; import ru.clearing.classes.statics.data.sdf.SDf53; +import ru.clearing.classes.statics.data.sdf.WithMessageId; import ru.clearing.classes.statics.data.sdf.WithParentId; import ru.spcex.clearing.imdg.IMDGDistributedNames; import static ru.spcex.clearing.platform.messaging.domain.Consts.PAIR_SDF; @@ -103,7 +105,6 @@ public class ExportFromHazelcast { ParentDocTag parentDocTag = new ParentDocTag(); parentDocTag.setParentId(""); // todo: Добавить данные DocumentTag'а - documentTag.setMessageId(String.valueOf(resultContainer.getGroupId())); documentTag.setMessageType(table.getFilePrefix().replace("-", "")); documentTag.setMessageName(messageName); documentTag.setMessageDate(LocalDate.now()); @@ -150,7 +151,19 @@ public class ExportFromHazelcast { ((ArrayList) tableRows).sort(Comparator.comparing(SpcexObjectBase::getId)); } + String messageId = ""; for (SpcexObjectBase s : tableRows) { + if (s instanceof WithMessageId withMessageId) { + if (!StringUtils.isBlank(messageId) && !messageId.equals(withMessageId.getMessageId())) { + log.warn( + "For batch messageId = {} current messageId ({}) not equal, skip", + messageId, + withMessageId.getMessageId() + ); + continue; + } + messageId = withMessageId.getMessageId(); + } if (s instanceof WithParentId withParentId && withParentId.getParentId() != null) { documentTag.getParentDoc().setParentId(withParentId.getParentId()); } @@ -158,6 +171,7 @@ public class ExportFromHazelcast { updateSdfFilename(withFileName, xmlFile); } } + documentTag.setMessageId(messageId); documentTag.setObjects(addObjectTags(tableRows, table)); resultContainer.setDocumentTag(documentTag); diff --git a/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java b/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java index 724b16b99..d2ff86bad 100644 --- a/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java +++ b/clearing-parent/xml-exporter/src/test/java/ru/spcex/clearing/xml/exporter/logic/stages/ExportFromHazelcastTest.java @@ -145,7 +145,6 @@ class ExportFromHazelcastTest { StageResult stageResult = exportFromHazelcast.process(actualResultContainer); DF02ObjectTag actualObjectTag = (DF02ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); - Assertions.assertThat("1777").isEqualTo(actualResultContainer.getDocumentTag().getMessageId()); Assertions.assertThat("007").isEqualTo(actualResultContainer.getDocumentTag().getParentDoc().getParentId()); Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF02"); @@ -315,8 +314,6 @@ class ExportFromHazelcastTest { StageResult stageResult = exportFromHazelcast.process(actualResultContainer); DF07ObjectTag actualObjectTag = (DF07ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); - Assertions.assertThat("3775").isEqualTo(actualResultContainer.getDocumentTag().getMessageId()); - Assertions.assertThat("005").isEqualTo(actualResultContainer.getDocumentTag().getParentDoc().getParentId()); Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF07"); Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedSDf07.getAccount()); @@ -400,8 +397,6 @@ class ExportFromHazelcastTest { StageResult stageResult = exportFromHazelcast.process(actualResultContainer); DF53ObjectTag actualObjectTag = (DF53ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); - Assertions.assertThat("2776").isEqualTo(actualResultContainer.getDocumentTag().getMessageId()); - Assertions.assertThat("006").isEqualTo(actualResultContainer.getDocumentTag().getParentDoc().getParentId()); Assertions.assertThat(stageResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo("DF53"); Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedSDf53.getAccount()); diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml index 81f849b50..0ed92ee8f 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1_empty.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1_empty.xml index 4ea0422e2..ea579e470 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1_empty.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-02_S_PRC1604240915_1_empty.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml index a1d717512..1f04f4272 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-03_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml index 7c2f2d83c..0292fce3e 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-05_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml index 2d9dbcca4..41dc55e29 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-07_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml index defe8cfe7..63dd2c6a9 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-51_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml index 4be195221..a6c66fe93 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-53_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml index f4d4317f0..6460632e2 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-54_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - + diff --git a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml index 29e6b364b..9b948b531 100644 --- a/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml +++ b/clearing-parent/xml-exporter/src/test/resources/xml-original/DF-56_S_PRC1604240915_1.xml @@ -1,5 +1,5 @@ - +