UBL updates : line charge / allowance
This commit is contained in:
@@ -171,7 +171,7 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
NodeList taxSchemechilds = partyTaxScheme.item(partyTaxSchemeIndex).getChildNodes();
|
NodeList taxSchemechilds = partyTaxScheme.item(partyTaxSchemeIndex).getChildNodes();
|
||||||
for (int taxSchemechildsIndex = 0; taxSchemechildsIndex < taxSchemechilds.getLength(); taxSchemechildsIndex++) {
|
for (int taxSchemechildsIndex = 0; taxSchemechildsIndex < taxSchemechilds.getLength(); taxSchemechildsIndex++) {
|
||||||
if (taxSchemechilds.item(taxSchemechildsIndex).getLocalName() != null){
|
if (taxSchemechilds.item(taxSchemechildsIndex).getLocalName() != null){
|
||||||
if (taxSchemechilds.item(taxSchemechildsIndex).getTextContent().equals("FC")) {
|
if (taxSchemechilds.item(taxSchemechildsIndex).getTextContent().equals("FC") ||(taxSchemechilds.item(taxSchemechildsIndex).getTextContent().equals("NOVAT"))) {
|
||||||
setTaxID(CompanyId);
|
setTaxID(CompanyId);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@@ -252,8 +252,6 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if (postal.item(postalChildIndex).getLocalName().equals("Name")) {
|
if (postal.item(postalChildIndex).getLocalName().equals("Name")) {
|
||||||
setName(postal.item(postalChildIndex).getTextContent());
|
setName(postal.item(postalChildIndex).getTextContent());
|
||||||
@@ -284,6 +282,41 @@ 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());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -302,8 +302,8 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//UBL...
|
//UBL...
|
||||||
shipEx = xpath.compile("//*[local-name()=\"DeliveryLocation\"]");
|
XPathExpression shipExUBL = xpath.compile("//*[local-name()=\"DeliveryLocation\"]");
|
||||||
deliveryNodes = (NodeList) shipEx.evaluate(getDocument(), XPathConstants.NODESET);
|
deliveryNodes = (NodeList) shipExUBL.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
if (deliveryNodes != null) {
|
if (deliveryNodes != null) {
|
||||||
String street, name, additionalStreet, city, postal, countrySubentity, line, country = null;
|
String street, name, additionalStreet, city, postal, countrySubentity, line, country = null;
|
||||||
street = extractString("//*[local-name() = \"Address\"]/*[local-name() = \"StreetName\"]");
|
street = extractString("//*[local-name() = \"Address\"]/*[local-name() = \"StreetName\"]");
|
||||||
@@ -315,7 +315,15 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
country = extractString("//*[local-name() = \"Address\"]//*[local-name() = \"Country\"]/*[local-name() = \"IdentificationCode\"]");
|
country = extractString("//*[local-name() = \"Address\"]//*[local-name() = \"Country\"]/*[local-name() = \"IdentificationCode\"]");
|
||||||
name = extractString("//*[local-name() = \"DeliveryParty\"]//*[local-name() = \"PartyName\"]/*[local-name() = \"Name\"]");
|
name = extractString("//*[local-name() = \"DeliveryParty\"]//*[local-name() = \"PartyName\"]/*[local-name() = \"Name\"]");
|
||||||
|
|
||||||
zpp.setDeliveryAddress(new TradeParty(deliveryNodes).setStreet(street).setAdditionalAddress(additionalStreet).setLocation(city).setZIP(postal).setAdditionalAddressExtension(line).setCountry(country).setName(name));
|
zpp.setDeliveryAddress(new TradeParty(deliveryNodes)
|
||||||
|
.setStreet(street)
|
||||||
|
.setAdditionalAddress(additionalStreet)
|
||||||
|
.setLocation(city)
|
||||||
|
.setZIP(postal)
|
||||||
|
.setAdditionalAddressExtension(line)
|
||||||
|
.setCountry(country)
|
||||||
|
.setName(name)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -613,7 +621,7 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
zpp.setDespatchAdviceReferencedDocumentID(extractString("//*[local-name()=\"DespatchDocumentReference\"]/*[local-name()=\"ID\"]"));
|
zpp.setDespatchAdviceReferencedDocumentID(extractString("//*[local-name()=\"DespatchDocumentReference\"]/*[local-name()=\"ID\"]"));
|
||||||
}
|
}
|
||||||
|
|
||||||
//zpp.setOwnOrganisationName(extractString("//*[local-name()=\"SellerTradeParty\"]/*[local-name()=\"Name\"]|//*[local-name()=\"AccountingSupplierParty\"]/*[local-name()=\"Party\"]/*[local-name()=\"PartyName\"]").trim());
|
zpp.setOwnOrganisationName(extractString("//*[local-name()=\"SellerTradeParty\"]/*[local-name()=\"Name\"]|//*[local-name()=\"AccountingSupplierParty\"]/*[local-name()=\"Party\"]/*[local-name()=\"PartyName\"]").trim());
|
||||||
|
|
||||||
xpr = xpath.compile("//*[local-name()=\"BuyerReference\"]");
|
xpr = xpath.compile("//*[local-name()=\"BuyerReference\"]");
|
||||||
String buyerReference = null;
|
String buyerReference = null;
|
||||||
@@ -651,7 +659,7 @@ public class ZUGFeRDInvoiceImporter {
|
|||||||
// be read,
|
// be read,
|
||||||
// so the invoice remains arithmetically correct
|
// so the invoice remains arithmetically correct
|
||||||
// -> parse document level charges+allowances
|
// -> parse document level charges+allowances
|
||||||
xpr = xpath.compile("//*[local-name()=\"SpecifiedTradeAllowanceCharge\"]|/*[local-name()=\"Invoice\"]/*[local-name()=\"AllowanceCharge\"]");//CII and UBL
|
xpr = xpath.compile("//*[local-name()=\"SpecifiedTradeAllowanceCharge\"]|//*[local-name()=\"AllowanceCharge\"]");//CII and UBL
|
||||||
NodeList chargeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
NodeList chargeNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||||
for (int i = 0; i < chargeNodes.getLength(); i++) {
|
for (int i = 0; i < chargeNodes.getLength(); i++) {
|
||||||
NodeList chargeNodeChilds = chargeNodes.item(i).getChildNodes();
|
NodeList chargeNodeChilds = chargeNodes.item(i).getChildNodes();
|
||||||
|
|||||||
Reference in New Issue
Block a user