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 BigDecimal totalPrepaidAmount = null;
|
||||||
protected Date detailedDeliveryDateStart = null;
|
protected Date detailedDeliveryDateStart = null;
|
||||||
protected Date detailedDeliveryPeriodEnd = null;
|
protected Date detailedDeliveryPeriodEnd = null;
|
||||||
|
protected IDatedReference tenderReference = null;
|
||||||
|
|
||||||
protected ArrayList<IZUGFeRDAllowanceCharge> Allowances = new ArrayList<>(),
|
protected ArrayList<IZUGFeRDAllowanceCharge> Allowances = new ArrayList<>(),
|
||||||
Charges = new ArrayList<>(), LogisticsServiceCharges = new ArrayList<>();
|
Charges = new ArrayList<>(), LogisticsServiceCharges = new ArrayList<>();
|
||||||
@@ -144,6 +145,34 @@ public class Invoice implements IExportableTransaction {
|
|||||||
return number;
|
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) {
|
public Invoice setNumber(String number) {
|
||||||
this.number = number;
|
this.number = number;
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ public interface IExportableTransaction {
|
|||||||
*
|
*
|
||||||
* @return mandatory ID, optional Date
|
* @return mandatory ID, optional Date
|
||||||
*/
|
*/
|
||||||
default IDatedReference getTenderReference() {
|
default IDatedReference getTenderReferencedDocument() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ public class ZF2EdgeTest extends MustangReaderTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IDatedReference getTenderReference() {
|
public IDatedReference getTenderReferencedDocument() {
|
||||||
return new IDatedReference() {
|
return new IDatedReference() {
|
||||||
@Override
|
@Override
|
||||||
public String getID() {
|
public String getID() {
|
||||||
@@ -159,6 +159,7 @@ public class ZF2EdgeTest extends MustangReaderTestCase {
|
|||||||
} catch (ParseException e) {
|
} catch (ParseException e) {
|
||||||
// wont happen, I promise :-)
|
// wont happen, I promise :-)
|
||||||
}
|
}
|
||||||
|
return null; // wont happen either
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -596,6 +596,7 @@ public class ZF2PushTest extends TestCase {
|
|||||||
try {
|
try {
|
||||||
SchemedID gtin = new SchemedID("0160", "2001015001325");
|
SchemedID gtin = new SchemedID("0160", "2001015001325");
|
||||||
SchemedID gln = new SchemedID("0088", "4304171000002");
|
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")
|
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")
|
.setSellerOrderReferencedDocumentID("9384").setBuyerOrderReferencedDocumentID("28934")
|
||||||
.setDetailedDeliveryPeriod(new SimpleDateFormat("yyyyMMdd").parse(occurrenceFrom), new SimpleDateFormat("yyyyMMdd").parse(occurrenceTo))
|
.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)))
|
.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)))
|
.addAllowance(new Allowance(new BigDecimal(0.2)).setReason("discount").setTaxPercent(new BigDecimal(16)))
|
||||||
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
.addCashDiscount(new CashDiscount(new BigDecimal(2), 14))
|
||||||
|
.setTenderReferencedDocument(dr)
|
||||||
.setDeliveryDate(sdf.parse("2020-11-02")).setNumber(number).setVATDueDateTypeCode(EventTimeCodeTypeConstants.PAYMENT_DATE)
|
.setDeliveryDate(sdf.parse("2020-11-02")).setNumber(number).setVATDueDateTypeCode(EventTimeCodeTypeConstants.PAYMENT_DATE)
|
||||||
.setInvoiceReferencedDocumentID("abc123").addInvoiceReferencedDocument(new ReferencedDocument("abcd1234"))
|
.setInvoiceReferencedDocumentID("abc123").addInvoiceReferencedDocument(new ReferencedDocument("abcd1234"))
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user