Merge pull request #862 from rexfox147/buyerOrderId_merged
Add support for BuyerOrderReferencedDocument on line level - Merged to Master and Conflicts resolved
This commit is contained in:
@@ -34,7 +34,8 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
protected Date detailedDeliveryPeriodFrom = null;
|
||||
protected Date detailedDeliveryPeriodTo = null;
|
||||
protected String id;
|
||||
protected String referencedLineID = null;
|
||||
protected String buyerOrderReferencedDocumentLineID = null;
|
||||
protected String buyerOrderReferencedDocumentID = null;
|
||||
protected Product product;
|
||||
protected ArrayList<String> notes = null;
|
||||
protected ArrayList<ReferencedDocument> referencedDocuments = null;
|
||||
@@ -127,6 +128,9 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
.flatMap(bordNodes -> bordNodes.getAsString("LineID"))
|
||||
.ifPresent(this::addReferencedLineID);
|
||||
|
||||
icnm.getAsNodeMap("BuyerOrderReferencedDocument")
|
||||
.flatMap(bordNodes -> bordNodes.getAsString("IssuerAssignedID"))
|
||||
.ifPresent(this::addBuyerOrderReferencedDocumentID);
|
||||
|
||||
icnm.getAsNodeMap("NetPriceProductTradePrice").ifPresent(npptpNodes -> {
|
||||
npptpNodes.getAsBigDecimal("ChargeAmount").ifPresent(this::setPrice);
|
||||
@@ -277,8 +281,23 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
});
|
||||
}
|
||||
|
||||
public Item addBuyerOrderReferencedDocumentLineID(String s) {
|
||||
buyerOrderReferencedDocumentLineID = s;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Deprecated(since = "2.14.0")
|
||||
public Item addReferencedLineID(String s) {
|
||||
referencedLineID = s;
|
||||
return addBuyerOrderReferencedDocumentLineID(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBuyerOrderReferencedDocumentID() {
|
||||
return buyerOrderReferencedDocumentID;
|
||||
}
|
||||
|
||||
public Item addBuyerOrderReferencedDocumentID(String s) {
|
||||
buyerOrderReferencedDocumentID = s;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -298,7 +317,7 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
*/
|
||||
@Override
|
||||
public String getBuyerOrderReferencedDocumentLineID() {
|
||||
return referencedLineID;
|
||||
return buyerOrderReferencedDocumentLineID;
|
||||
}
|
||||
|
||||
public BigDecimal getLineTotalAmount() {
|
||||
|
||||
@@ -77,6 +77,14 @@ public interface IZUGFeRDExportableItem extends IAbsoluteValueProvider{
|
||||
return null;
|
||||
}
|
||||
|
||||
/***
|
||||
* buyer order reference document id
|
||||
* @return the document id (defaults to {@code null})
|
||||
*/
|
||||
default String getBuyerOrderReferencedDocumentID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/***
|
||||
* BT 132 (issue https://github.com/ZUGFeRD/mustangproject/issues/247)
|
||||
* @return the line ID of the order (BT-132)
|
||||
@@ -106,7 +114,7 @@ public interface IZUGFeRDExportableItem extends IAbsoluteValueProvider{
|
||||
|
||||
/**
|
||||
* how many items units per price
|
||||
*
|
||||
*
|
||||
* @return item units per price
|
||||
*/
|
||||
default BigDecimal getBasisQuantity() {
|
||||
@@ -166,7 +174,7 @@ public interface IZUGFeRDExportableItem extends IAbsoluteValueProvider{
|
||||
default Date getDetailedDeliveryPeriodTo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* get all (allowances and charges) SpecifiedTradeAllowanceCharges
|
||||
*
|
||||
|
||||
@@ -503,10 +503,17 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
"</ram:AdditionalReferencedDocument>";
|
||||
}
|
||||
}
|
||||
if (currentItem.getBuyerOrderReferencedDocumentLineID() != null) {
|
||||
xml += "<ram:BuyerOrderReferencedDocument> "
|
||||
+ "<ram:LineID>" + XMLTools.encodeXML(currentItem.getBuyerOrderReferencedDocumentLineID()) + "</ram:LineID>"
|
||||
+ "</ram:BuyerOrderReferencedDocument>";
|
||||
if ((currentItem.getBuyerOrderReferencedDocumentLineID() != null) || (currentItem.getBuyerOrderReferencedDocumentID() != null)) {
|
||||
xml += "<ram:BuyerOrderReferencedDocument> ";
|
||||
if (currentItem.getBuyerOrderReferencedDocumentID() != null) {
|
||||
xml += "<ram:IssuerAssignedID>" + XMLTools.encodeXML(currentItem.getBuyerOrderReferencedDocumentID())
|
||||
+ "</ram:IssuerAssignedID>";
|
||||
}
|
||||
if (currentItem.getBuyerOrderReferencedDocumentLineID() != null) {
|
||||
xml += "<ram:LineID>" + XMLTools.encodeXML(currentItem.getBuyerOrderReferencedDocumentLineID())
|
||||
+ "</ram:LineID>";
|
||||
}
|
||||
xml += "</ram:BuyerOrderReferencedDocument>";
|
||||
}
|
||||
|
||||
if (!allowanceChargeStr.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user