From 5ddd6f745eeff96e610dc66599d96aeb0a1d8c0c Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Wed, 10 Apr 2019 15:11:09 +0200 Subject: [PATCH] add document code --- .../IZUGFeRDExportableTransaction.java | 11 +++++++ .../ZUGFeRD/ZUGFeRDImporter.java | 7 ++++ .../ZUGFeRDTransactionModelConverter.java | 2 +- .../ZUGFeRD/MustangReaderWriterEdgeTest.java | 1 + .../ZUGFeRD/MustangReaderWriterTest.java | 33 ++++--------------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java index 44057afc..1c4c4dbc 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java @@ -27,10 +27,21 @@ package org.mustangproject.ZUGFeRD; * */ +import org.mustangproject.ZUGFeRD.model.DocumentCodeTypeConstants; + import java.util.Date; public interface IZUGFeRDExportableTransaction { + /** + * + * + * @return Code of Document + */ + default String getDocumentCode() { + return DocumentCodeTypeConstants.INVOICE; + } + /** * Number, typically invoice number of the invoice * diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 9ea0b067..6b2a1acb 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -209,6 +209,13 @@ public class ZUGFeRDImporter { return result; } + /** + * @return the document code + */ + public String getDocumentCode() { + return extractString("//HeaderExchangedDocument/TypeCode"); + } + /** * @return the sender's bank's BLZ code */ diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java index e21fed1d..265c6f98 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java @@ -94,7 +94,7 @@ class ZUGFeRDTransactionModelConverter { document.setIssueDateTime(issueDateTime); DocumentCodeType documentCodeType = xmlFactory.createDocumentCodeType(); - documentCodeType.setValue(DocumentCodeTypeConstants.INVOICE); + documentCodeType.setValue(trans.getDocumentCode()); document.setTypeCode(documentCodeType); TextType name = xmlFactory.createTextType(); diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index 01b99312..84fd2fa3 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -348,6 +348,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDueDate(), "20170530"); assertEquals(zi.getForeignReference(), getNumber()); + assertEquals(zi.getDocumentCode(), "380"); } diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index 066863c3..a041a7e8 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -350,32 +350,13 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta ZUGFeRDImporter zi = new ZUGFeRDImporter(inputStream); // Reading ZUGFeRD - String amount = null; - String blz = null; - String bic = null; - String iban = null; - String kto = null; - String holder = null; - String ref = null; - - if (zi.canParse()) { - amount = zi.getAmount(); - blz = zi.getBLZ(); - bic = zi.getBIC(); - iban = zi.getIBAN(); - kto = zi.getKTO(); - holder = zi.getHolder(); - ref = zi.getForeignReference(); - } - // this resembles the data written in MustangReaderWriterCustomXMLTest - assertEquals(amount, "571.04"); - assertEquals(blz, "41441604"); - assertEquals(bic, "COBADEFFXXX"); - assertEquals(iban, "DE88 2008 0000 0970 3757 00"); - assertEquals(kto, "44421800"); - assertEquals(holder, "Bei Spiel GmbH"); - assertEquals(ref, "RE-20170509/505"); - + assertEquals(zi.getAmount(), "571.04"); + assertEquals(zi.getBLZ(), getOwnBLZ()); + assertEquals(zi.getBIC(), getOwnBIC()); + assertEquals(zi.getIBAN(), getOwnIBAN()); + assertEquals(zi.getKTO(), getOwnKto()); + assertEquals(zi.getHolder(), getOwnOrganisationName()); + assertEquals(zi.getForeignReference(), "RE-20170509/505"); } public void testForeignImport() throws IOException {