Added getBuyerTradePartyAddress() and getAddressFromNodeList() to ZUGFeRDImporter.java

Added Test
This commit is contained in:
Alexander Berndt
2020-06-18 12:06:13 +02:00
parent 2b60b7a8b7
commit 2d1fd3ae94
2 changed files with 45 additions and 2 deletions

View File

@@ -400,6 +400,14 @@ public class ZUGFeRDImporter {
return extractString("//SellerTradeParty//GlobalID"); return extractString("//SellerTradeParty//GlobalID");
} }
/**
* @return the BuyerTradeParty Name
*/
public String getBuyerTradePartyName() {
return extractString("//BuyerTradeParty//Name");
}
/** /**
* @return the line Total Amount * @return the line Total Amount
@@ -679,6 +687,28 @@ public class ZUGFeRDImporter {
return s.hasNext() ? s.next() : ""; return s.hasNext() ? s.next() : "";
} }
/**
* returns an instance of PostalTradeAddress for SellerTradeParty section
* @return an instance of PostalTradeAddress
*/
public PostalTradeAddress getBuyerTradePartyAddress() {
NodeList nl = null;
try {
if (getVersion() == 1) {
nl = getNodeListByPath("//CrossIndustryDocument//SpecifiedSupplyChainTradeTransaction//ApplicableSupplyChainTradeAgreement//BuyerTradeParty//PostalTradeAddress");
} else {
nl = getNodeListByPath("//CrossIndustryInvoice//SupplyChainTradeTransaction//ApplicableHeaderTradeAgreement//BuyerTradeParty//PostalTradeAddress");
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return getAddressFromNodeList(nl);
}
/** /**
* returns an instance of PostalTradeAddress for SellerTradeParty section * returns an instance of PostalTradeAddress for SellerTradeParty section
* @return an instance of PostalTradeAddress * @return an instance of PostalTradeAddress
@@ -696,9 +726,15 @@ public class ZUGFeRDImporter {
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return address; return null;
} }
return getAddressFromNodeList(nl);
}
private PostalTradeAddress getAddressFromNodeList(NodeList nl) {
PostalTradeAddress address = new PostalTradeAddress();
if (nl != null) { if (nl != null) {
for (int i = 0; i < nl.getLength(); i++) { for (int i = 0; i < nl.getLength(); i++) {
Node n = nl.item(i); Node n = nl.item(i);
@@ -737,7 +773,6 @@ public class ZUGFeRDImporter {
return address; return address;
} }
/** /**
* returns a list of LineItems * returns a list of LineItems
* @return a List of LineItem instances * @return a List of LineItem instances

View File

@@ -219,6 +219,7 @@ public class ZF2Test extends MustangReaderTestCase {
assertEquals(zi.getTaxTotalAmount(),"75.04"); assertEquals(zi.getTaxTotalAmount(),"75.04");
assertEquals(zi.getRoundingAmount(), ""); assertEquals(zi.getRoundingAmount(), "");
assertEquals(zi.getPaidAmount(), "0.00"); assertEquals(zi.getPaidAmount(), "0.00");
assertEquals(zi.getBuyerTradePartyName(), "Theodor Est");
assertEquals(zi.getSellerTradePartyGlobalID(), ""); assertEquals(zi.getSellerTradePartyGlobalID(), "");
assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999");
assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getHolder(), getOwnOrganisationName());
@@ -229,6 +230,13 @@ public class ZF2Test extends MustangReaderTestCase {
assertEquals(zi.getIBAN(),getTradeSettlementPayment()[0].getOwnIBAN()); assertEquals(zi.getIBAN(),getTradeSettlementPayment()[0].getOwnIBAN());
assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getHolder(), getOwnOrganisationName());
assertEquals(zi.getForeignReference(), getNumber()); assertEquals(zi.getForeignReference(), getNumber());
assertEquals(zi.getBuyerTradePartyAddress().getPostcodeCode(), "88802");
assertEquals(zi.getBuyerTradePartyAddress().getLineOne(), "Bahnstr. 42");
assertEquals(zi.getBuyerTradePartyAddress().getLineTwo(), null);
assertEquals(zi.getBuyerTradePartyAddress().getLineThree(), null);
assertEquals(zi.getBuyerTradePartyAddress().getCountrySubDivisionName(), null);
assertEquals(zi.getBuyerTradePartyAddress().getCountryID(), "DE");
assertEquals(zi.getBuyerTradePartyAddress().getCityName(), "Spielkreis");
assertEquals(zi.getSellerTradePartyAddress().getPostcodeCode(), "12345"); assertEquals(zi.getSellerTradePartyAddress().getPostcodeCode(), "12345");
assertEquals(zi.getSellerTradePartyAddress().getLineOne(), "Ecke 12"); assertEquals(zi.getSellerTradePartyAddress().getLineOne(), "Ecke 12");
assertEquals(zi.getSellerTradePartyAddress().getLineTwo(), null); assertEquals(zi.getSellerTradePartyAddress().getLineTwo(), null);