From 44d63a075ee00b46ee7fb44c500cf605fe978fe2 Mon Sep 17 00:00:00 2001 From: MellowGiant Date: Thu, 22 Aug 2024 11:27:42 +0200 Subject: [PATCH] changed additional references by line from String to List and implemented it on Item --- .../main/java/org/mustangproject/Item.java | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/library/src/main/java/org/mustangproject/Item.java b/library/src/main/java/org/mustangproject/Item.java index 0dc76b83..cb1c83fa 100644 --- a/library/src/main/java/org/mustangproject/Item.java +++ b/library/src/main/java/org/mustangproject/Item.java @@ -26,6 +26,7 @@ public class Item implements IZUGFeRDExportableItem { protected Product product; protected ArrayList notes = null; protected ArrayList referencedDocuments = null; + protected ArrayList additionalReference = null; protected ArrayList Allowances = new ArrayList<>(), Charges = new ArrayList<>(); @@ -248,6 +249,35 @@ public class Item implements IZUGFeRDExportableItem { } } } + + if (tradeSettlementName.equals("AdditionalReferencedDocument")) { + String IssuerAssignedID = ""; + String TypeCode = ""; + String ReferenceTypeCode = ""; + + NodeList refDocChilds = tradeSettlementChilds.item(tradeSettlementChildIndex).getChildNodes(); + for (int refDocIndex = 0; refDocIndex < refDocChilds.getLength(); refDocIndex++) { + String localName = refDocChilds.item(refDocIndex).getLocalName(); + if ((localName != null) && (localName.equals("IssuerAssignedID"))) { + IssuerAssignedID = refDocChilds.item(refDocIndex).getTextContent(); + } + if ((localName != null) && (localName.equals("TypeCode"))) { + TypeCode = refDocChilds.item(refDocIndex).getTextContent(); + } + if ((localName != null) && (localName.equals("ReferenceTypeCode"))) { + ReferenceTypeCode = refDocChilds.item(refDocIndex).getTextContent(); + } + } + + ReferencedDocument rd = new ReferencedDocument(IssuerAssignedID, TypeCode, + ReferenceTypeCode); + if (rdocs == null) { + rdocs = new ArrayList<>(); + } + rdocs.add(rd); + + } + } } } @@ -472,19 +502,19 @@ public class Item implements IZUGFeRDExportableItem { * @return fluent setter */ public Item addAdditionalReference(ReferencedDocument doc) { - if (referencedDocuments == null) { - referencedDocuments = new ArrayList<>(); + if (additionalReference == null) { + additionalReference = new ArrayList<>(); } - referencedDocuments.add(doc); + additionalReference.add(doc); return this; } @Override public IReferencedDocument[] getAdditionalReferences() { - if (referencedDocuments == null) { + if (additionalReference == null) { return null; } - return referencedDocuments.toArray(new IReferencedDocument[0]); + return additionalReference.toArray(new IReferencedDocument[0]); }