From a178bf7e366f382ca5a7eba897fc583ee13363c2 Mon Sep 17 00:00:00 2001 From: Sebastian Sieber Date: Thu, 4 Mar 2021 09:13:58 +0100 Subject: [PATCH] Add invoiceReferencedIssueDate --- .../main/java/org/mustangproject/Invoice.java | 20 ++++++++++++++----- .../ZUGFeRD/IExportableTransaction.java | 1 + .../ZUGFeRD/ZUGFeRD2PullProvider.java | 9 +++++++-- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/library/src/main/java/org/mustangproject/Invoice.java b/library/src/main/java/org/mustangproject/Invoice.java index ba4602f8..9613ea04 100644 --- a/library/src/main/java/org/mustangproject/Invoice.java +++ b/library/src/main/java/org/mustangproject/Invoice.java @@ -46,13 +46,13 @@ public class Invoice implements IExportableTransaction { protected Date detailedDeliveryDateStart = null; protected Date detailedDeliveryPeriodEnd = null; - protected ArrayList Allowances = new ArrayList(), - Charges = new ArrayList(), LogisticsServiceCharges = new ArrayList(); + protected ArrayList Allowances = new ArrayList<>(), + Charges = new ArrayList<>(), LogisticsServiceCharges = new ArrayList<>(); protected IZUGFeRDPaymentTerms paymentTerms = null; - + private Date invoiceReferencedIssueDate; public Invoice() { - ZFItems = new ArrayList(); + ZFItems = new ArrayList<>(); setCurrency("EUR"); } @@ -246,7 +246,17 @@ public class Invoice implements IExportableTransaction { return invoiceReferencedDocumentID; } - @Override + @Override + public Date getInvoiceReferencedIssueDate() { + return invoiceReferencedIssueDate; + } + + public Invoice setInvoiceReferencedIssueDate(Date issueDate) { + this.invoiceReferencedIssueDate = issueDate; + return this; + } + + @Override public String getBuyerOrderReferencedDocumentIssueDateTime() { return buyerOrderReferencedDocumentIssueDateTime; } diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java index 15520f2c..8225a71d 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java @@ -424,6 +424,7 @@ public interface IExportableTransaction { return null; } + default Date getInvoiceReferencedIssueDate(){return null;} /** * get the issue timestamp of the BuyerOrderReferencedDocument, which sits in the ApplicableSupplyChainTradeAgreement * diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 2bef4cc1..aef5f40c 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -631,8 +631,13 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { if (trans.getInvoiceReferencedDocumentID() != null) { xml = xml + " \n" + " " - + XMLTools.encodeXML(trans.getInvoiceReferencedDocumentID()) + "\n" - + " \n"; + + XMLTools.encodeXML(trans.getInvoiceReferencedDocumentID()) + "\n"; + if(trans.getInvoiceReferencedIssueDate()!= null){ + xml += "" + + zugferdDateFormat.format(trans.getInvoiceReferencedIssueDate()) + + "\n"; + } + xml += " \n"; } xml = xml + " \n";