UBL updates
This commit is contained in:
@@ -111,11 +111,21 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
product.setUnit(icn.getAttributes().getNamedItem("unitCode").getNodeValue());
|
product.setUnit(icn.getAttributes().getNamedItem("unitCode").getNodeValue());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
itemMap.getAsNodeMap("OrderLineReference")
|
||||||
|
.flatMap(bordNodes -> bordNodes.getAsString("LineID"))
|
||||||
|
.ifPresent(this::addReferencedLineID);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
itemMap.getAllNodes("DocumentReference").map(ReferencedDocument::fromNode)
|
||||||
|
.forEach(this::addAdditionalReference);
|
||||||
|
|
||||||
itemMap.getAsNodeMap("SpecifiedLineTradeAgreement", "SpecifiedSupplyChainTradeAgreement").ifPresent(icnm -> {
|
itemMap.getAsNodeMap("SpecifiedLineTradeAgreement", "SpecifiedSupplyChainTradeAgreement").ifPresent(icnm -> {
|
||||||
icnm.getAsNodeMap("BuyerOrderReferencedDocument")
|
icnm.getAsNodeMap("BuyerOrderReferencedDocument")
|
||||||
.flatMap(bordNodes -> bordNodes.getAsString("LineID"))
|
.flatMap(bordNodes -> bordNodes.getAsString("LineID"))
|
||||||
.ifPresent(this::addReferencedLineID);
|
.ifPresent(this::addReferencedLineID);
|
||||||
|
|
||||||
|
|
||||||
icnm.getAsNodeMap("NetPriceProductTradePrice").ifPresent(npptpNodes -> {
|
icnm.getAsNodeMap("NetPriceProductTradePrice").ifPresent(npptpNodes -> {
|
||||||
npptpNodes.getAsBigDecimal("ChargeAmount").ifPresent(this::setPrice);
|
npptpNodes.getAsBigDecimal("ChargeAmount").ifPresent(this::setPrice);
|
||||||
npptpNodes.getAsBigDecimal("BasisQuantity").ifPresent(this::setBasisQuantity);
|
npptpNodes.getAsBigDecimal("BasisQuantity").ifPresent(this::setBasisQuantity);
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import java.util.Map;
|
|||||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||||
|
|
||||||
public class Product implements IZUGFeRDExportableProduct {
|
public class Product implements IZUGFeRDExportableProduct {
|
||||||
protected String unit, name, sellerAssignedID, buyerAssignedID,ID;
|
protected String unit, name, sellerAssignedID, buyerAssignedID;
|
||||||
protected String description="";
|
protected String description="";
|
||||||
protected String taxExemptionReason=null;
|
protected String taxExemptionReason=null;
|
||||||
protected String taxCategoryCode=null;
|
protected String taxCategoryCode=null;
|
||||||
|
|||||||
@@ -130,31 +130,67 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// if (party.item(partyIndex).getLocalName().equals("AccountingSupplierParty")) {
|
||||||
|
// NodeList payeeParty = party.item(partyIndex).getChildNodes();
|
||||||
|
// for (int payeePartyIndex = 0; payeePartyIndex < payeeParty.getLength(); payeePartyIndex++) {
|
||||||
|
// if (payeeParty.item(payeePartyIndex).getLocalName() != null) {
|
||||||
|
if (currentTopElementName.equals("PartyIdentification")) {
|
||||||
|
NodeList partyID = party.item(partyIndex).getChildNodes();
|
||||||
|
for (int partyIDIndex = 0; partyIDIndex < partyID.getLength(); partyIDIndex++) {
|
||||||
|
if (partyID.item(partyIDIndex).getLocalName() != null) {
|
||||||
|
if (partyID.item(partyIDIndex).getLocalName().equals("ID")) {
|
||||||
|
Node currentNode = partyID.item(partyIDIndex);
|
||||||
|
if ((currentNode.getAttributes() != null &&
|
||||||
|
(currentNode.getAttributes().getNamedItem("schemeID") != null))
|
||||||
|
) {
|
||||||
|
//SchemedID gid = new SchemedID().setScheme(nodes.item(nodeIndex).getAttributes().getNamedItem("schemeID").getNodeValue()).setId(nodes.item(nodeIndex).getTextContent());
|
||||||
|
// addGlobalID(gid);
|
||||||
|
SchemedID sID = new SchemedID().setScheme(currentNode.getAttributes().getNamedItem("schemeID").getTextContent()).setId(currentNode.getTextContent());
|
||||||
|
addGlobalID(sID);
|
||||||
|
|
||||||
if (currentTopElementName.equals("PartyIdentification")) {
|
//&& ((currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0110") && currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0100"))
|
||||||
NodeList partyID = party.item(partyIndex).getChildNodes();
|
}
|
||||||
for (int partyIDIndex = 0; partyIDIndex < partyID.getLength(); partyIDIndex++) {
|
// else {
|
||||||
if (partyID.item(partyIDIndex).getLocalName() != null) {
|
// setID(currentNode.getTextContent());
|
||||||
if (partyID.item(partyIDIndex).getLocalName().equals("ID")) {
|
// }
|
||||||
Node currentNode = partyID.item(partyIDIndex);
|
|
||||||
|
|
||||||
if ((currentNode.getAttributes() != null &&
|
}
|
||||||
(currentNode.getAttributes().getNamedItem("schemeID") != null))
|
}
|
||||||
) {
|
|
||||||
//SchemedID gid = new SchemedID().setScheme(nodes.item(nodeIndex).getAttributes().getNamedItem("schemeID").getNodeValue()).setId(nodes.item(nodeIndex).getTextContent());
|
|
||||||
// addGlobalID(gid);
|
|
||||||
SchemedID sID = new SchemedID(currentNode.getAttributes().getNamedItem("schemeID").getTextContent(), currentNode.getTextContent());
|
|
||||||
addGlobalID(sID);
|
|
||||||
|
|
||||||
//&& ((currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0110") && currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0100"))
|
|
||||||
} else {
|
|
||||||
setID(currentNode.getTextContent());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// if (currentTopElementName.equals("AccountingCustomerParty")) {
|
||||||
|
// NodeList partyID = party.item(partyIndex).getChildNodes();
|
||||||
|
// for (int partyIDIndex = 0; partyIDIndex < partyID.getLength(); partyIDIndex++) {
|
||||||
|
// if (partyID.item(partyIDIndex).getLocalName() != null) {
|
||||||
|
// if (partyID.item(partyIDIndex).getLocalName().equals("ID")) {
|
||||||
|
// Node currentNode = partyID.item(partyIDIndex);
|
||||||
|
// //setID(currentNode.getTextContent());
|
||||||
|
//
|
||||||
|
// if ((currentNode.getAttributes() != null &&
|
||||||
|
// (currentNode.getAttributes().getNamedItem("schemeID") != null))
|
||||||
|
// ) {
|
||||||
|
// //SchemedID gid = new SchemedID().setScheme(nodes.item(nodeIndex).getAttributes().getNamedItem("schemeID").getNodeValue()).setId(nodes.item(nodeIndex).getTextContent());
|
||||||
|
// //addGlobalID(gid);
|
||||||
|
// //SchemedID sID = new SchemedID(currentNode.getAttributes().getNamedItem("schemeID").getTextContent(), currentNode.getTextContent());
|
||||||
|
// //addGlobalID(sID);
|
||||||
|
// // SchemedID sID = new SchemedID().setScheme(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID").getTextContent());
|
||||||
|
// // addGlobalID(sID);
|
||||||
|
// SchemedID sID = new SchemedID().setScheme(currentNode.getAttributes().getNamedItem("schemeID").getTextContent()).setId(currentNode.getTextContent());
|
||||||
|
// addGlobalID(sID);
|
||||||
|
//
|
||||||
|
// //&& ((currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0110") && currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0100"))
|
||||||
|
// } else {
|
||||||
|
// setID(currentNode.getTextContent());
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
if (currentTopElementName.equals("PartyTaxScheme")) {
|
if (currentTopElementName.equals("PartyTaxScheme")) {
|
||||||
@@ -297,40 +333,6 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
NodeList contact = nodes.item(nodeIndex).getChildNodes();
|
NodeList contact = nodes.item(nodeIndex).getChildNodes();
|
||||||
setContact(new Contact(contact));
|
setContact(new Contact(contact));
|
||||||
}
|
}
|
||||||
if (currentUBLChild.equals("PayeeParty")) {
|
|
||||||
NodeList payeeParty = nodes.item(nodeIndex).getChildNodes();
|
|
||||||
for (int payeePartyIndex = 0; payeePartyIndex < payeeParty.getLength(); payeePartyIndex++) {
|
|
||||||
if (payeeParty.item(payeePartyIndex).getLocalName() != null) {
|
|
||||||
if (payeeParty.item(payeePartyIndex).getLocalName().equals("PartyIdentification")) {
|
|
||||||
NodeList partyID = payeeParty.item(payeePartyIndex).getChildNodes();
|
|
||||||
for (int partyIDIndex = 0; partyIDIndex < partyID.getLength(); partyIDIndex++) {
|
|
||||||
if (partyID.item(partyIDIndex).getLocalName() != null) {
|
|
||||||
if (partyID.item(partyIDIndex).getLocalName().equals("ID")) {
|
|
||||||
Node currentNode = partyID.item(partyIDIndex);
|
|
||||||
|
|
||||||
if ((currentNode.getAttributes() != null &&
|
|
||||||
(currentNode.getAttributes().getNamedItem("schemeID") != null))
|
|
||||||
) {
|
|
||||||
//SchemedID gid = new SchemedID().setScheme(nodes.item(nodeIndex).getAttributes().getNamedItem("schemeID").getNodeValue()).setId(nodes.item(nodeIndex).getTextContent());
|
|
||||||
// addGlobalID(gid);
|
|
||||||
SchemedID sID = new SchemedID(currentNode.getAttributes().getNamedItem("schemeID").getTextContent(), currentNode.getTextContent());
|
|
||||||
addGlobalID(sID);
|
|
||||||
|
|
||||||
//&& ((currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0110") && currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0100"))
|
|
||||||
} else {
|
|
||||||
setID(currentNode.getTextContent());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -305,6 +305,7 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
zpp.setDeliveryAddress(new TradeParty(deliveryNodes));
|
zpp.setDeliveryAddress(new TradeParty(deliveryNodes));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//UBL...
|
//UBL...
|
||||||
XPathExpression shipExUBL = xpath.compile("//*[local-name()=\"Delivery\"]");
|
XPathExpression shipExUBL = xpath.compile("//*[local-name()=\"Delivery\"]");
|
||||||
Node deliveryNode = (Node) shipExUBL.evaluate(getDocument(), XPathConstants.NODE);
|
Node deliveryNode = (Node) shipExUBL.evaluate(getDocument(), XPathConstants.NODE);
|
||||||
@@ -380,7 +381,7 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
xpr = xpath.compile("//*[local-name()=\"BuyerTradeParty\"]|//*[local-name()=\"AccountingCustomerParty\"]/*");
|
xpr = xpath.compile("//*[local-name()=\"BuyerTradeParty\"]|//*[local-name()=\"AccountingCustomerParty\"]/*");
|
||||||
NodeList BuyerNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
NodeList BuyerNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
xpr = xpath.compile("//*[local-name()=\"PayeeTradeParty\"]|//*[local-name()=\"PayeeParty\"]/*");
|
xpr = xpath.compile("//*[local-name()=\"PayeeTradeParty\"]|//*[local-name()=\"PayeeParty\"]//*");
|
||||||
NodeList payeeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
NodeList payeeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
xpr = xpath.compile("//*[local-name()=\"ExchangedDocument\"]|//*[local-name()=\"HeaderExchangedDocument\"]");
|
xpr = xpath.compile("//*[local-name()=\"ExchangedDocument\"]|//*[local-name()=\"HeaderExchangedDocument\"]");
|
||||||
|
|||||||
Reference in New Issue
Block a user