Add property and method TradeParty to add debit details
This commit is contained in:
@@ -1,11 +1,17 @@
|
|||||||
package org.mustangproject;
|
package org.mustangproject;
|
||||||
|
|
||||||
import org.mustangproject.ZUGFeRD.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableContact;
|
||||||
|
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableTradeParty;
|
||||||
|
import org.mustangproject.ZUGFeRD.IZUGFeRDTradeSettlement;
|
||||||
|
import org.mustangproject.ZUGFeRD.IZUGFeRDTradeSettlementDebit;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
import org.w3c.dom.NodeList;
|
import org.w3c.dom.NodeList;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* A organisation, i.e. usually a company
|
* A organisation, i.e. usually a company
|
||||||
*/
|
*/
|
||||||
@@ -15,7 +21,8 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
protected String taxID = null, vatID = null;
|
protected String taxID = null, vatID = null;
|
||||||
protected String ID = null;
|
protected String ID = null;
|
||||||
protected String additionalAddress = null;
|
protected String additionalAddress = null;
|
||||||
protected ArrayList<BankDetails> bankDetails = new ArrayList<BankDetails>();
|
protected List<BankDetails> bankDetails = new ArrayList<>();
|
||||||
|
protected List<IZUGFeRDTradeSettlementDebit> debitDetails = new ArrayList<>();
|
||||||
protected Contact contact = null;
|
protected Contact contact = null;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@@ -137,8 +144,17 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
bankDetails.add(s);
|
bankDetails.add(s);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* (optional)
|
||||||
|
* @param debitDetail
|
||||||
|
* @return fluent setter
|
||||||
|
*/
|
||||||
|
public TradeParty addDebitDetails(IZUGFeRDTradeSettlementDebit debitDetail) {
|
||||||
|
debitDetails.add(debitDetail);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<BankDetails> getBankDetails() {
|
public List<BankDetails> getBankDetails() {
|
||||||
return bankDetails;
|
return bankDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -262,10 +278,19 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public IZUGFeRDTradeSettlement[] getAsTradeSettlement() {
|
public IZUGFeRDTradeSettlement[] getAsTradeSettlement() {
|
||||||
if (bankDetails.size() == 0) {
|
if (bankDetails.isEmpty() && debitDetails.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return bankDetails.toArray(new IZUGFeRDTradeSettlement[0]);
|
List<IZUGFeRDTradeSettlement> tradeSettlements = Stream.concat(bankDetails.stream(), debitDetails.stream())
|
||||||
|
.map(IZUGFeRDTradeSettlement.class::cast)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
IZUGFeRDTradeSettlement[] result = new IZUGFeRDTradeSettlement[tradeSettlements.size()];
|
||||||
|
for (int i = 0; i < tradeSettlements.size(); i++) {
|
||||||
|
IZUGFeRDTradeSettlement izugFeRDTradeSettlement = tradeSettlements.get(i);
|
||||||
|
result[i]=izugFeRDTradeSettlement;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user