UBL updates
This commit is contained in:
@@ -115,7 +115,7 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
});
|
||||
|
||||
itemMap.getAllNodes("DocumentReference").map(ReferencedDocument::fromNode)
|
||||
.forEach(this::addReferencedDocument);
|
||||
.forEach(this::addAdditionalReference);
|
||||
|
||||
// ubl
|
||||
|
||||
|
||||
@@ -70,8 +70,8 @@ public class ReferencedDocument implements IReferencedDocument {
|
||||
return null;
|
||||
}
|
||||
NodeMap nodes = new NodeMap(node);
|
||||
return new ReferencedDocument(nodes.getAsStringOrNull("IssuerAssignedID"),
|
||||
nodes.getAsStringOrNull("TypeCode"),
|
||||
return new ReferencedDocument(nodes.getAsStringOrNull("IssuerAssignedID", "ID"),
|
||||
nodes.getAsStringOrNull("TypeCode", "DocumentTypeCode"),
|
||||
nodes.getAsStringOrNull("ReferenceTypeCode"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,35 +74,34 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
||||
|
||||
if (currentItemNode.getLocalName() != null) {
|
||||
String currentUBLChild = currentItemNode.getLocalName();
|
||||
if (currentUBLChild.equals("Delivery")) {
|
||||
NodeList delivery = currentItemNode.getChildNodes();
|
||||
for (int deliveryIndex = 0; deliveryIndex < delivery.getLength(); deliveryIndex++) {
|
||||
if (delivery.item(deliveryIndex).getLocalName() != null) {
|
||||
Node currentNode = delivery.item(deliveryIndex);
|
||||
if (currentNode.getLocalName().equals("DeliveryLocation")) {
|
||||
NodeList deliveryLocation = currentNode.getChildNodes();
|
||||
for (int deliveryLocationIndex = 0; deliveryLocationIndex < deliveryLocation.getLength(); deliveryLocationIndex++) {
|
||||
if (deliveryLocation.item(deliveryLocationIndex).getLocalName() != null) {
|
||||
if (deliveryLocation.item(deliveryLocationIndex).getLocalName().equals("ID")) {
|
||||
//Node currentNode = partyID.item(partyIDIndex);
|
||||
setID(deliveryLocation.item(deliveryLocationIndex).getTextContent());
|
||||
if ((deliveryLocation.item(deliveryLocationIndex).getAttributes() != null &&
|
||||
(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID") != null))
|
||||
) {
|
||||
SchemedID sID = new SchemedID().setScheme(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID").getTextContent());
|
||||
addGlobalID(sID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
// if (currentUBLChild.equals("Delivery")) {
|
||||
// NodeList delivery = currentItemNode.getChildNodes();
|
||||
// for (int deliveryIndex = 0; deliveryIndex < delivery.getLength(); deliveryIndex++) {
|
||||
// if (delivery.item(deliveryIndex).getLocalName() != null) {
|
||||
// Node currentNode = delivery.item(deliveryIndex);
|
||||
// if (currentNode.getLocalName().equals("DeliveryLocation")) {
|
||||
// NodeList deliveryLocation = currentNode.getChildNodes();
|
||||
// for (int deliveryLocationIndex = 0; deliveryLocationIndex < deliveryLocation.getLength(); deliveryLocationIndex++) {
|
||||
// if (deliveryLocation.item(deliveryLocationIndex).getLocalName() != null) {
|
||||
// if (deliveryLocation.item(deliveryLocationIndex).getLocalName().equals("ID")) {
|
||||
// //Node currentNode = partyID.item(partyIDIndex);
|
||||
// setID(deliveryLocation.item(deliveryLocationIndex).getTextContent());
|
||||
// if ((deliveryLocation.item(deliveryLocationIndex).getAttributes() != null &&
|
||||
// (deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID") != null))
|
||||
// ) {
|
||||
// SchemedID sID = new SchemedID().setScheme(deliveryLocation.item(deliveryLocationIndex).getAttributes().getNamedItem("schemeID").getTextContent());
|
||||
// addGlobalID(sID);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
if (currentUBLChild.equals("Party")) {
|
||||
|
||||
NodeList party = currentItemNode.getChildNodes();
|
||||
for (int partyIndex = 0; partyIndex < party.getLength(); partyIndex++) {
|
||||
if (party.item(partyIndex).getLocalName() != null) {
|
||||
@@ -130,10 +129,6 @@ 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++) {
|
||||
@@ -143,55 +138,18 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
||||
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);
|
||||
|
||||
//&& ((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")) {
|
||||
NodeList partyTaxScheme = party.item(partyIndex).getChildNodes();
|
||||
|
||||
@@ -306,6 +306,7 @@ public class ZUGFeRDInvoiceImporter {
|
||||
}
|
||||
|
||||
|
||||
|
||||
//UBL...
|
||||
XPathExpression shipExUBL = xpath.compile("//*[local-name()=\"Delivery\"]");
|
||||
Node deliveryNode = (Node) shipExUBL.evaluate(getDocument(), XPathConstants.NODE);
|
||||
@@ -381,9 +382,40 @@ public class ZUGFeRDInvoiceImporter {
|
||||
xpr = xpath.compile("//*[local-name()=\"BuyerTradeParty\"]|//*[local-name()=\"AccountingCustomerParty\"]/*");
|
||||
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);
|
||||
|
||||
// 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\"]");
|
||||
NodeList ExchangedDocumentNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||
|
||||
@@ -505,6 +537,9 @@ public class ZUGFeRDInvoiceImporter {
|
||||
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\"]");
|
||||
NodeList headerTradeDeliveryNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user