switch to getTenderReferencedDocument analogue to getContractReferencedDocument, added DatedReference class and setters/getters for Invoice
This commit is contained in:
46
library/src/main/java/org/mustangproject/DatedReference.java
Normal file
46
library/src/main/java/org/mustangproject/DatedReference.java
Normal file
@@ -0,0 +1,46 @@
|
||||
package org.mustangproject;
|
||||
|
||||
import org.mustangproject.ZUGFeRD.IDatedReference;
|
||||
|
||||
import java.beans.BeanProperty;
|
||||
import java.util.Date;
|
||||
|
||||
public class DatedReference implements IDatedReference {
|
||||
|
||||
protected String ID;
|
||||
protected Date opDate;
|
||||
|
||||
public DatedReference setDate(Date opDate) {
|
||||
this.opDate = opDate;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DatedReference setID(String ID) {
|
||||
this.ID = ID;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DatedReference() {
|
||||
|
||||
}
|
||||
|
||||
public DatedReference(String ID) {
|
||||
setID(ID);
|
||||
}
|
||||
|
||||
public DatedReference(String ID, Date theDate) {
|
||||
setID(ID);
|
||||
setDate(theDate);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getID() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getDate() {
|
||||
return opDate;
|
||||
}
|
||||
}
|
||||
@@ -54,6 +54,7 @@ public class Invoice implements IExportableTransaction {
|
||||
protected BigDecimal totalPrepaidAmount = null;
|
||||
protected Date detailedDeliveryDateStart = null;
|
||||
protected Date detailedDeliveryPeriodEnd = null;
|
||||
protected IDatedReference tenderReference = null;
|
||||
|
||||
protected ArrayList<IZUGFeRDAllowanceCharge> Allowances = new ArrayList<>(),
|
||||
Charges = new ArrayList<>(), LogisticsServiceCharges = new ArrayList<>();
|
||||
@@ -144,6 +145,34 @@ public class Invoice implements IExportableTransaction {
|
||||
return number;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
/***
|
||||
* BT-17
|
||||
*/
|
||||
public IDatedReference getTenderReferencedDocument() {
|
||||
return tenderReference;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* BT-17
|
||||
* @param dr
|
||||
* @return
|
||||
*/
|
||||
public Invoice setTenderReferencedDocument(DatedReference dr) {
|
||||
tenderReference=dr;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Invoice setTenderReferencedDocument(String ID) {
|
||||
DatedReference dr=new DatedReference(ID);
|
||||
setTenderReferencedDocument(dr);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public Invoice setNumber(String number) {
|
||||
this.number = number;
|
||||
return this;
|
||||
|
||||
@@ -219,7 +219,7 @@ public interface IExportableTransaction {
|
||||
*
|
||||
* @return mandatory ID, optional Date
|
||||
*/
|
||||
default IDatedReference getTenderReference() {
|
||||
default IDatedReference getTenderReferencedDocument() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ public class ZF2EdgeTest extends MustangReaderTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public IDatedReference getTenderReference() {
|
||||
public IDatedReference getTenderReferencedDocument() {
|
||||
return new IDatedReference() {
|
||||
@Override
|
||||
public String getID() {
|
||||
@@ -159,6 +159,7 @@ public class ZF2EdgeTest extends MustangReaderTestCase {
|
||||
} catch (ParseException e) {
|
||||
// wont happen, I promise :-)
|
||||
}
|
||||
return null; // wont happen either
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -596,6 +596,7 @@ public class ZF2PushTest extends TestCase {
|
||||
try {
|
||||
SchemedID gtin = new SchemedID("0160", "2001015001325");
|
||||
SchemedID gln = new SchemedID("0088", "4304171000002");
|
||||
DatedReference dr=new DatedReference("90-kl-98798-C", sdf.parse("2025-10-12"));
|
||||
ze.setTransaction(new Invoice().setCurrency("CHF").addNote("document level 1/2").addNote("document level 2/2").setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setPaymentReference("Verwendungszweck").setDocumentName("Rechnung")
|
||||
.setSellerOrderReferencedDocumentID("9384").setBuyerOrderReferencedDocumentID("28934")
|
||||
.setDetailedDeliveryPeriod(new SimpleDateFormat("yyyyMMdd").parse(occurrenceFrom), new SimpleDateFormat("yyyyMMdd").parse(occurrenceTo))
|
||||
@@ -608,6 +609,7 @@ public class ZF2PushTest extends TestCase {
|
||||
.addCharge(new Charge(new BigDecimal(0.5)).setReason("quick delivery charge").setTaxPercent(new BigDecimal(16)))
|
||||
.addAllowance(new Allowance(new BigDecimal(0.2)).setReason("discount").setTaxPercent(new BigDecimal(16)))
|
||||
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
||||
.setTenderReferencedDocument(dr)
|
||||
.setDeliveryDate(sdf.parse("2020-11-02")).setNumber(number).setVATDueDateTypeCode(EventTimeCodeTypeConstants.PAYMENT_DATE)
|
||||
.setInvoiceReferencedDocumentID("abc123").addInvoiceReferencedDocument(new ReferencedDocument("abcd1234"))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user