reverting redundant BT-128 changes
This commit is contained in:
@@ -35,7 +35,6 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
protected String id;
|
protected String id;
|
||||||
protected String buyerOrderReferencedDocumentLineID = null;
|
protected String buyerOrderReferencedDocumentLineID = null;
|
||||||
protected String buyerOrderReferencedDocumentID = null;
|
protected String buyerOrderReferencedDocumentID = null;
|
||||||
protected ReferencedDocument tenderReferencedDocument=null;
|
|
||||||
protected Product product;
|
protected Product product;
|
||||||
protected ArrayList<String> notes = null;
|
protected ArrayList<String> notes = null;
|
||||||
protected ArrayList<ReferencedDocument> referencedDocuments = null;
|
protected ArrayList<ReferencedDocument> referencedDocuments = null;
|
||||||
@@ -132,28 +131,7 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
product = new Product();
|
product = new Product();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
itemMap.getAsNodeMap("DocumentReference").ifPresent(drnm -> {
|
|
||||||
// BT-128
|
|
||||||
ReferencedDocument rd=getTenderReferencedDocument();
|
|
||||||
if (rd==null) {
|
|
||||||
rd=new ReferencedDocument();
|
|
||||||
}
|
|
||||||
Node idNode=drnm.getNode("ID").get();
|
|
||||||
if (idNode!=null) {
|
|
||||||
rd.setIssuerAssignedID(idNode.getTextContent());
|
|
||||||
Node schemeIDAttr;
|
|
||||||
|
|
||||||
schemeIDAttr=idNode.getAttributes().getNamedItem("schemeID");
|
|
||||||
if (schemeIDAttr!=null) {
|
|
||||||
rd.setReferenceTypeCode(schemeIDAttr.getNodeValue());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
drnm.getAsString("DocumentTypeCode").ifPresent(rd::setTypeCode);
|
|
||||||
if (rd!=null) {
|
|
||||||
setTenderReferencedDocument(rd);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
itemMap.getAsNodeMap("SpecifiedLineTradeAgreement", "SpecifiedSupplyChainTradeAgreement").ifPresent(icnm -> {
|
itemMap.getAsNodeMap("SpecifiedLineTradeAgreement", "SpecifiedSupplyChainTradeAgreement").ifPresent(icnm -> {
|
||||||
icnm.getAsNodeMap("BuyerOrderReferencedDocument")
|
icnm.getAsNodeMap("BuyerOrderReferencedDocument")
|
||||||
@@ -645,21 +623,6 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
return detailedDeliveryPeriodTo;
|
return detailedDeliveryPeriodTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ReferencedDocument getTenderReferencedDocument() {
|
|
||||||
return tenderReferencedDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Item setTenderReferencedDocument(ReferencedDocument idr) {
|
|
||||||
tenderReferencedDocument=idr;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Item setTenderReferencedDocument(String id) {
|
|
||||||
ReferencedDocument rd=new ReferencedDocument(id);
|
|
||||||
setTenderReferencedDocument(rd);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public IZUGFeRDExportableItem addNotes(Collection<IncludedNote> notes) {
|
public IZUGFeRDExportableItem addNotes(Collection<IncludedNote> notes) {
|
||||||
if (notes == null) {
|
if (notes == null) {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.mustangproject;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.mustangproject.ZUGFeRD.IReferencedDocument;
|
import org.mustangproject.ZUGFeRD.IReferencedDocument;
|
||||||
@@ -55,6 +56,7 @@ public class ReferencedDocument implements IReferencedDocument {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* which type is the document? e.g. "916" for additional invoice related
|
* which type is the document? e.g. "916" for additional invoice related
|
||||||
|
*
|
||||||
* @param typeCode as String, e.g. 916
|
* @param typeCode as String, e.g. 916
|
||||||
*/
|
*/
|
||||||
public void setTypeCode(String typeCode) {
|
public void setTypeCode(String typeCode) {
|
||||||
@@ -63,6 +65,7 @@ public class ReferencedDocument implements IReferencedDocument {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* type of the reference of this line, a UNTDID 1153 code
|
* type of the reference of this line, a UNTDID 1153 code
|
||||||
|
*
|
||||||
* @param referenceTypeCode three uppercase character reference type code as string
|
* @param referenceTypeCode three uppercase character reference type code as string
|
||||||
*/
|
*/
|
||||||
public void setReferenceTypeCode(String referenceTypeCode) {
|
public void setReferenceTypeCode(String referenceTypeCode) {
|
||||||
@@ -94,8 +97,7 @@ public class ReferencedDocument implements IReferencedDocument {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Date getFormattedIssueDateTime()
|
public Date getFormattedIssueDateTime() {
|
||||||
{
|
|
||||||
return formattedIssueDateTime;
|
return formattedIssueDateTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,9 +106,20 @@ public class ReferencedDocument implements IReferencedDocument {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
NodeMap nodes = new NodeMap(node);
|
NodeMap nodes = new NodeMap(node);
|
||||||
return new ReferencedDocument(nodes.getAsStringOrNull("IssuerAssignedID", "ID"),
|
ReferencedDocument rd = new ReferencedDocument(nodes.getAsStringOrNull("IssuerAssignedID", "ID"),
|
||||||
nodes.getAsStringOrNull("TypeCode", "DocumentTypeCode"),
|
nodes.getAsStringOrNull("TypeCode", "DocumentTypeCode"),
|
||||||
nodes.getAsStringOrNull("ReferenceTypeCode"),
|
nodes.getAsStringOrNull("ReferenceTypeCode"),
|
||||||
XMLTools.tryDate(nodes.getAsStringOrNull("FormattedIssueDateTime")));
|
XMLTools.tryDate(nodes.getAsStringOrNull("FormattedIssueDateTime")));
|
||||||
|
if (nodes.getAsStringOrNull("ID") != null) {
|
||||||
|
//sure sign for UBL: here ReferenceTypeCode is no element but a "schemeID" attribute to ID
|
||||||
|
Node idNode = nodes.getNode("ID").get();
|
||||||
|
if (idNode != null) {
|
||||||
|
Node schemeIDAttr = idNode.getAttributes().getNamedItem("schemeID");
|
||||||
|
if (schemeIDAttr != null) {
|
||||||
|
rd.setReferenceTypeCode(schemeIDAttr.getNodeValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,14 +156,6 @@ public interface IZUGFeRDExportableItem extends IAbsoluteValueProvider{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***
|
|
||||||
* tender reference on line level BT-128
|
|
||||||
* @return BT-17 on line level
|
|
||||||
*/
|
|
||||||
default IReferencedDocument getTenderReferencedDocument() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* specifies the item level delivery period (there is also one on document level),
|
* specifies the item level delivery period (there is also one on document level),
|
||||||
|
|||||||
@@ -607,7 +607,8 @@ public class ZF2PushTest extends TestCase {
|
|||||||
.setContractReferencedDocument(contractID)
|
.setContractReferencedDocument(contractID)
|
||||||
.setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE").addGlobalID(gln).setEmail("recipient@test.org").addVATID("DE4711")
|
.setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE").addGlobalID(gln).setEmail("recipient@test.org").addVATID("DE4711")
|
||||||
.setContact(new Contact("Franz Müller", "01779999999", "franz@mueller.de", "teststr. 12", "55232", "Entenhausen", "DE").setFax("++49555123456")).setAdditionalAddress("Hinterhaus 3"))
|
.setContact(new Contact("Franz Müller", "01779999999", "franz@mueller.de", "teststr. 12", "55232", "Entenhausen", "DE").setFax("++49555123456")).setAdditionalAddress("Hinterhaus 3"))
|
||||||
.addItem(new Item(new Product("Testprodukt", "", "H87", new BigDecimal(16)).addGlobalID(gtin).setSellerAssignedID("4711"), price, new BigDecimal(1.0)).setId("a123").setTenderReferencedDocument(dr2).addBuyerOrderReferencedDocumentID("orderId").addBuyerOrderReferencedDocumentLineID("xxx").addReferencedLineID("xxx").addNote("item level 1/1").addAllowance(new Allowance(new BigDecimal(0.02)).setReason("item discount").setTaxPercent(new BigDecimal(16))).setDetailedDeliveryPeriod(sdf.parse("2020-01-13"), sdf.parse("2020-01-15")))
|
.addItem(new Item(new Product("Testprodukt", "", "H87", new BigDecimal(16)).addGlobalID(gtin).setSellerAssignedID("4711"), price, new BigDecimal(1.0)).setId("a123").
|
||||||
|
addAdditionalReference(dr2).addBuyerOrderReferencedDocumentID("orderId").addBuyerOrderReferencedDocumentLineID("xxx").addReferencedLineID("xxx").addNote("item level 1/1").addAllowance(new Allowance(new BigDecimal(0.02)).setReason("item discount").setTaxPercent(new BigDecimal(16))).setDetailedDeliveryPeriod(sdf.parse("2020-01-13"), sdf.parse("2020-01-15")))
|
||||||
.addCharge(new Charge(new BigDecimal(0.5)).setReason("quick delivery charge").setTaxPercent(new BigDecimal(16)))
|
.addCharge(new Charge(new BigDecimal(0.5)).setReason("quick delivery charge").setTaxPercent(new BigDecimal(16)))
|
||||||
.addAllowance(new Allowance(new BigDecimal(0.2)).setReason("discount").setTaxPercent(new BigDecimal(16)))
|
.addAllowance(new Allowance(new BigDecimal(0.2)).setReason("discount").setTaxPercent(new BigDecimal(16)))
|
||||||
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
||||||
|
|||||||
@@ -185,10 +185,9 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase {
|
|||||||
assertEquals("9384", invoice.getSellerOrderReferencedDocumentID());
|
assertEquals("9384", invoice.getSellerOrderReferencedDocumentID());
|
||||||
assertEquals("90-kl-98798-C", invoice.getTenderReferencedDocument().getIssuerAssignedID());
|
assertEquals("90-kl-98798-C", invoice.getTenderReferencedDocument().getIssuerAssignedID());
|
||||||
|
|
||||||
IReferencedDocument rd=invoice.getZFItems()[0].getTenderReferencedDocument();
|
IReferencedDocument[] rd=invoice.getZFItems()[0].getAdditionalReferences();
|
||||||
assertEquals("90-kl-98798-C1", rd.getIssuerAssignedID());
|
assertEquals("90-kl-98798-C1", rd[0].getIssuerAssignedID());
|
||||||
assertEquals("AAG", rd.getReferenceTypeCode());
|
assertEquals("AAG", rd[0].getReferenceTypeCode());
|
||||||
assertEquals("2025-10-13", sdf.format(rd.getFormattedIssueDateTime()));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -248,8 +247,8 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase {
|
|||||||
assertFalse(hasExceptions);
|
assertFalse(hasExceptions);
|
||||||
SimpleDateFormat sdf=new SimpleDateFormat("YYYY-mm-dd");
|
SimpleDateFormat sdf=new SimpleDateFormat("YYYY-mm-dd");
|
||||||
// Reading ZUGFeRD
|
// Reading ZUGFeRD
|
||||||
assertEquals("90-kl-98798-C1", invoice.getZFItems()[0].getTenderReferencedDocument().getIssuerAssignedID());
|
assertEquals("90-kl-98798-C1", invoice.getZFItems()[0].getAdditionalReferences()[0].getIssuerAssignedID());
|
||||||
assertEquals("AAG", invoice.getZFItems()[0].getTenderReferencedDocument().getReferenceTypeCode());
|
assertEquals("AAG", invoice.getZFItems()[0].getAdditionalReferences()[0].getReferenceTypeCode());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user