UBL updates
This commit is contained in:
@@ -115,7 +115,7 @@ public class Item implements IZUGFeRDExportableItem {
|
|||||||
});
|
});
|
||||||
|
|
||||||
itemMap.getAllNodes("DocumentReference").map(ReferencedDocument::fromNode)
|
itemMap.getAllNodes("DocumentReference").map(ReferencedDocument::fromNode)
|
||||||
.forEach(this::addReferencedDocument);
|
.forEach(this::addAdditionalReference);
|
||||||
|
|
||||||
// ubl
|
// ubl
|
||||||
|
|
||||||
|
|||||||
@@ -70,8 +70,8 @@ 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"),
|
return new ReferencedDocument(nodes.getAsStringOrNull("IssuerAssignedID", "ID"),
|
||||||
nodes.getAsStringOrNull("TypeCode"),
|
nodes.getAsStringOrNull("TypeCode", "DocumentTypeCode"),
|
||||||
nodes.getAsStringOrNull("ReferenceTypeCode"));
|
nodes.getAsStringOrNull("ReferenceTypeCode"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,35 +74,34 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
|
|
||||||
if (currentItemNode.getLocalName() != null) {
|
if (currentItemNode.getLocalName() != null) {
|
||||||
String currentUBLChild = currentItemNode.getLocalName();
|
String currentUBLChild = currentItemNode.getLocalName();
|
||||||
if (currentUBLChild.equals("Delivery")) {
|
// if (currentUBLChild.equals("Delivery")) {
|
||||||
NodeList delivery = currentItemNode.getChildNodes();
|
// NodeList delivery = currentItemNode.getChildNodes();
|
||||||
for (int deliveryIndex = 0; deliveryIndex < delivery.getLength(); deliveryIndex++) {
|
// for (int deliveryIndex = 0; deliveryIndex < delivery.getLength(); deliveryIndex++) {
|
||||||
if (delivery.item(deliveryIndex).getLocalName() != null) {
|
// if (delivery.item(deliveryIndex).getLocalName() != null) {
|
||||||
Node currentNode = delivery.item(deliveryIndex);
|
// Node currentNode = delivery.item(deliveryIndex);
|
||||||
if (currentNode.getLocalName().equals("DeliveryLocation")) {
|
// if (currentNode.getLocalName().equals("DeliveryLocation")) {
|
||||||
NodeList deliveryLocation = currentNode.getChildNodes();
|
// NodeList deliveryLocation = currentNode.getChildNodes();
|
||||||
for (int deliveryLocationIndex = 0; deliveryLocationIndex < deliveryLocation.getLength(); deliveryLocationIndex++) {
|
// for (int deliveryLocationIndex = 0; deliveryLocationIndex < deliveryLocation.getLength(); deliveryLocationIndex++) {
|
||||||
if (deliveryLocation.item(deliveryLocationIndex).getLocalName() != null) {
|
// if (deliveryLocation.item(deliveryLocationIndex).getLocalName() != null) {
|
||||||
if (deliveryLocation.item(deliveryLocationIndex).getLocalName().equals("ID")) {
|
// if (deliveryLocation.item(deliveryLocationIndex).getLocalName().equals("ID")) {
|
||||||
//Node currentNode = partyID.item(partyIDIndex);
|
// //Node currentNode = partyID.item(partyIDIndex);
|
||||||
setID(deliveryLocation.item(deliveryLocationIndex).getTextContent());
|
// setID(deliveryLocation.item(deliveryLocationIndex).getTextContent());
|
||||||
if ((deliveryLocation.item(deliveryLocationIndex).getAttributes() != null &&
|
// if ((deliveryLocation.item(deliveryLocationIndex).getAttributes() != null &&
|
||||||
(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID") != null))
|
// (deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID") != null))
|
||||||
) {
|
// ) {
|
||||||
SchemedID sID = new SchemedID().setScheme(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID").getTextContent());
|
// SchemedID sID = new SchemedID().setScheme(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID").getTextContent());
|
||||||
addGlobalID(sID);
|
// addGlobalID(sID);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (currentUBLChild.equals("Party")) {
|
if (currentUBLChild.equals("Party")) {
|
||||||
|
|
||||||
NodeList party = currentItemNode.getChildNodes();
|
NodeList party = currentItemNode.getChildNodes();
|
||||||
for (int partyIndex = 0; partyIndex < party.getLength(); partyIndex++) {
|
for (int partyIndex = 0; partyIndex < party.getLength(); partyIndex++) {
|
||||||
if (party.item(partyIndex).getLocalName() != null) {
|
if (party.item(partyIndex).getLocalName() != null) {
|
||||||
@@ -130,68 +129,27 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// if (party.item(partyIndex).getLocalName().equals("AccountingSupplierParty")) {
|
if (currentTopElementName.equals("PartyIdentification")) {
|
||||||
// NodeList payeeParty = party.item(partyIndex).getChildNodes();
|
NodeList partyID = party.item(partyIndex).getChildNodes();
|
||||||
// for (int payeePartyIndex = 0; payeePartyIndex < payeeParty.getLength(); payeePartyIndex++) {
|
for (int partyIDIndex = 0; partyIDIndex < partyID.getLength(); partyIDIndex++) {
|
||||||
// if (payeeParty.item(payeePartyIndex).getLocalName() != null) {
|
if (partyID.item(partyIDIndex).getLocalName() != null) {
|
||||||
if (currentTopElementName.equals("PartyIdentification")) {
|
if (partyID.item(partyIDIndex).getLocalName().equals("ID")) {
|
||||||
NodeList partyID = party.item(partyIndex).getChildNodes();
|
Node currentNode = partyID.item(partyIDIndex);
|
||||||
for (int partyIDIndex = 0; partyIDIndex < partyID.getLength(); partyIDIndex++) {
|
if ((currentNode.getAttributes() != null &&
|
||||||
if (partyID.item(partyIDIndex).getLocalName() != null) {
|
(currentNode.getAttributes().getNamedItem("schemeID") != null))
|
||||||
if (partyID.item(partyIDIndex).getLocalName().equals("ID")) {
|
) {
|
||||||
Node currentNode = partyID.item(partyIDIndex);
|
SchemedID sID = new SchemedID().setScheme(currentNode.getAttributes().getNamedItem("schemeID").getTextContent()).setId(currentNode.getTextContent());
|
||||||
if ((currentNode.getAttributes() != null &&
|
addGlobalID(sID);
|
||||||
(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);
|
|
||||||
|
|
||||||
//&& ((currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0110") && currentNode.getAttributes().getNamedItem("schemeID").getNodeValue().equals("0100"))
|
|
||||||
}
|
|
||||||
// else {
|
|
||||||
// setID(currentNode.getTextContent());
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
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")) {
|
||||||
NodeList partyTaxScheme = party.item(partyIndex).getChildNodes();
|
NodeList partyTaxScheme = party.item(partyIndex).getChildNodes();
|
||||||
|
|||||||
@@ -306,6 +306,7 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//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);
|
||||||
@@ -381,9 +382,40 @@ 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\"]");
|
||||||
NodeList payeeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
NodeList payeeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
|
// UBL
|
||||||
|
XPathExpression shipPayee = xpath.compile("//*[local-name()=\"PayeeParty\"]/*");
|
||||||
|
NodeList ublPayeeNodes = (NodeList) shipPayee.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
|
// if(ublPayeeNodes != null) {
|
||||||
|
// TradeParty payee = new TradeParty();
|
||||||
|
// NodeMap nodeMap = new NodeMap(ublPayeeNodes).getAsNodeMap("PayeeParty").get();
|
||||||
|
// nodeMap.getNode("ID").ifPresent(s -> {
|
||||||
|
// SchemedID sID = new SchemedID().setScheme(s.getAttributes().getNamedItem("schemeID").getTextContent()).setId(s.getTextContent());
|
||||||
|
// payee.addGlobalID(sID);
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
//NodeList UBLpayeeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
zpp.setPayee(new TradeParty(ublPayeeNodes));
|
||||||
|
// TradeParty payee =new TradeParty();
|
||||||
|
// NodeMap payeeID = new NodeMap(UBLpayeeNodes).getAsNodeMap("PartyIdentification").get();
|
||||||
|
// if (payeeID !=null) {
|
||||||
|
// payeeID.getAsString("Name").ifPresent(t->payee.setName(t));
|
||||||
|
// }
|
||||||
|
// if (payeeNodes != null) {
|
||||||
|
// TradeParty payee =new TradeParty();
|
||||||
|
// NodeMap nodeMap = new NodeMap(payeeNodes).getAsNodeMap("PartyIdentification").get();
|
||||||
|
// if (nodeMap != null) {
|
||||||
|
// nodeMap.getNode("ID").ifPresent(s -> {
|
||||||
|
// SchemedID sID = new SchemedID().setScheme(s.getAttributes().getNamedItem("schemeID").getTextContent()).setId(s.getTextContent());
|
||||||
|
// payee.addGlobalID(sID);
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
xpr = xpath.compile("//*[local-name()=\"ExchangedDocument\"]|//*[local-name()=\"HeaderExchangedDocument\"]");
|
xpr = xpath.compile("//*[local-name()=\"ExchangedDocument\"]|//*[local-name()=\"HeaderExchangedDocument\"]");
|
||||||
NodeList ExchangedDocumentNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
NodeList ExchangedDocumentNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
@@ -505,6 +537,9 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
deliveryDate = new SimpleDateFormat("yyyy-MM-dd").parse(deliveryDt);
|
deliveryDate = new SimpleDateFormat("yyyy-MM-dd").parse(deliveryDt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
xpr = xpath.compile("//*[local-name()=\"Invoice\"]/*[local-name()=\"Note\"]");
|
||||||
|
Node note = (Node) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
xpr = xpath.compile("//*[local-name()=\"ApplicableHeaderTradeDelivery\"]|//*[local-name()=\"Delivery\"]");
|
xpr = xpath.compile("//*[local-name()=\"ApplicableHeaderTradeDelivery\"]|//*[local-name()=\"Delivery\"]");
|
||||||
NodeList headerTradeDeliveryNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
NodeList headerTradeDeliveryNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user