closes #745
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#558
|
#558
|
||||||
#686
|
#686
|
||||||
#739
|
#739
|
||||||
|
#745
|
||||||
|
|
||||||
2.16.2
|
2.16.2
|
||||||
=======
|
=======
|
||||||
|
|||||||
@@ -23,6 +23,10 @@ public class LegalOrganisation implements IZUGFeRDLegalOrganisation {
|
|||||||
this.schemedID = new SchemedID(scheme, ID);
|
this.schemedID = new SchemedID(scheme, ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LegalOrganisation(String ID) {
|
||||||
|
this.schemedID = new SchemedID(null, ID);
|
||||||
|
}
|
||||||
|
|
||||||
public LegalOrganisation(SchemedID schemedID, String tradingBusinessName) {
|
public LegalOrganisation(SchemedID schemedID, String tradingBusinessName) {
|
||||||
this.schemedID = schemedID;
|
this.schemedID = schemedID;
|
||||||
this.tradingBusinessName=tradingBusinessName;
|
this.tradingBusinessName=tradingBusinessName;
|
||||||
|
|||||||
@@ -149,7 +149,12 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
|||||||
if (profile == Profiles.getByName("Minimum")) {
|
if (profile == Profiles.getByName("Minimum")) {
|
||||||
xml += "<ram:ID>" + XMLTools.encodeXML(party.getLegalOrganisation().getSchemedID().getID()) + "</ram:ID>";
|
xml += "<ram:ID>" + XMLTools.encodeXML(party.getLegalOrganisation().getSchemedID().getID()) + "</ram:ID>";
|
||||||
} else {
|
} else {
|
||||||
xml += "<ram:ID schemeID=\"" + XMLTools.encodeXML(party.getLegalOrganisation().getSchemedID().getScheme()) + "\">" + XMLTools.encodeXML(party.getLegalOrganisation().getSchemedID().getID()) + "</ram:ID>";
|
String schemeAttribute="";
|
||||||
|
if ((party.getLegalOrganisation().getSchemedID().getScheme()!=null)&&(party.getLegalOrganisation().getSchemedID().getScheme().length()>0)) {
|
||||||
|
schemeAttribute="schemeID=\"" + XMLTools.encodeXML(party.getLegalOrganisation().getSchemedID().getScheme())+"\"";
|
||||||
|
|
||||||
|
}
|
||||||
|
xml += "<ram:ID "+schemeAttribute+">" + XMLTools.encodeXML(party.getLegalOrganisation().getSchemedID().getID()) + "</ram:ID>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (party.getLegalOrganisation().getTradingBusinessName() != null) {
|
if (party.getLegalOrganisation().getTradingBusinessName() != null) {
|
||||||
|
|||||||
@@ -52,12 +52,17 @@ public class XRTest extends TestCase {
|
|||||||
TradeParty recipient = new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE");
|
TradeParty recipient = new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE");
|
||||||
recipient.setEmail("quack@ducktown.org");
|
recipient.setEmail("quack@ducktown.org");
|
||||||
Invoice i = createInvoice(recipient);
|
Invoice i = createInvoice(recipient);
|
||||||
|
String legalOrgID="aCustomSellerLegalOrgId";
|
||||||
|
String sellerID="aSellerTradePartyID";
|
||||||
|
i.getSender().setLegalOrganisation(new LegalOrganisation(legalOrgID));
|
||||||
|
i.getSender().setID(sellerID);
|
||||||
ZUGFeRD2PullProvider zf2p = new ZUGFeRD2PullProvider();
|
ZUGFeRD2PullProvider zf2p = new ZUGFeRD2PullProvider();
|
||||||
zf2p.setProfile(Profiles.getByName("XRechnung"));
|
zf2p.setProfile(Profiles.getByName("XRechnung"));
|
||||||
zf2p.generateXML(i);
|
zf2p.generateXML(i);
|
||||||
String theXML = new String(zf2p.getXML(), StandardCharsets.UTF_8);
|
String theXML = new String(zf2p.getXML(), StandardCharsets.UTF_8);
|
||||||
assertTrue(theXML.contains("<rsm:CrossIndustryInvoice"));
|
assertTrue(theXML.contains("<rsm:CrossIndustryInvoice"));
|
||||||
|
assertTrue(theXML.contains("<ram:ID>"+sellerID+"</ram:ID>"));// must be possible without scheme #
|
||||||
|
assertTrue(theXML.contains("<ram:ID>"+legalOrgID+"</ram:ID>"));// must be possible without scheme #
|
||||||
assertThat(theXML).valueByXPath("count(//*[local-name()='IncludedSupplyChainTradeLineItem'])")
|
assertThat(theXML).valueByXPath("count(//*[local-name()='IncludedSupplyChainTradeLineItem'])")
|
||||||
.asInt()
|
.asInt()
|
||||||
.isEqualTo(1); //2 errors are OK because there is a known bug
|
.isEqualTo(1); //2 errors are OK because there is a known bug
|
||||||
|
|||||||
Reference in New Issue
Block a user