From 882d50958059bb2a3ba5e1885e0d0ff76dbd4192 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Wed, 15 Oct 2025 12:41:24 +0200 Subject: [PATCH] If the interface is implemented correctly, ZF2EdgeTest now already writes a BT-17 incl Date --- .../ZUGFeRD/IDatedReference.java | 10 ++++++++++ .../ZUGFeRD/IExportableTransaction.java | 9 +++++++++ .../mustangproject/ZUGFeRD/ZF2EdgeTest.java | 19 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java new file mode 100644 index 00000000..af1adf38 --- /dev/null +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java @@ -0,0 +1,10 @@ +package org.mustangproject.ZUGFeRD; + +import java.util.Date; + +public interface IDatedReference { + public String getID(); + default Date getDate() { + return null; + } +} diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java index c7a6d903..72b61d83 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java @@ -214,6 +214,15 @@ public interface IExportableTransaction { return null; } + /** + * BT-17 tender or lot reference + * + * @return mandatory ID, optional Date + */ + default IDatedReference getTenderReference() { + return null; + } + /** * own name * diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java index f095372b..3178c321 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java @@ -144,6 +144,25 @@ public class ZF2EdgeTest extends MustangReaderTestCase { return "DE"; } + @Override + public IDatedReference getTenderReference() { + return new IDatedReference() { + @Override + public String getID() { + return "983-jk-787 (obsolete)"; + } + @Override + public Date getDate() { + SimpleDateFormat sdf=new SimpleDateFormat("YYYY-mm-dd"); + try { + return sdf.parse("2025-10-12"); + } catch (ParseException e) { + // wont happen, I promise :-) + } + } + }; + } + @Override public String getOwnLocation() { return "Stadthausen";