This fixes the compile errors that came up after trying to use the sample file. Now it compiles fine and produces ZF
278 lines
6.2 KiB
Java
278 lines
6.2 KiB
Java
package mustangtest;
|
|
|
|
import java.io.IOException;
|
|
import java.math.BigDecimal;
|
|
import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.GregorianCalendar;
|
|
|
|
import org.mustangproject.ZUGFeRD.IExportableTransaction;
|
|
import org.mustangproject.ZUGFeRD.IZUGFeRDAllowanceCharge;
|
|
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableItem;
|
|
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableProduct;
|
|
import org.mustangproject.ZUGFeRD.IZUGFeRDExportableTradeParty;
|
|
import org.mustangproject.ZUGFeRD.IZUGFeRDExporter;
|
|
import org.mustangproject.ZUGFeRD.ZUGFeRDExporterFromA1;
|
|
|
|
class Contact implements IZUGFeRDExportableTradeParty {
|
|
|
|
public String getCountry() {
|
|
return "DE";
|
|
}
|
|
|
|
public String getLocation() {
|
|
return "Spielkreis";
|
|
}
|
|
|
|
public String getName() {
|
|
return "Theodor Est";
|
|
}
|
|
|
|
public String getStreet() {
|
|
return "Bahnstr. 42";
|
|
}
|
|
|
|
public String getVATID() {
|
|
return "DE999999999";
|
|
}
|
|
|
|
public String getZIP() {
|
|
return "88802";
|
|
}
|
|
}
|
|
|
|
class Item implements IZUGFeRDExportableItem {
|
|
public Item(BigDecimal price, BigDecimal quantity, Product product) {
|
|
super();
|
|
this.price = price;
|
|
this.quantity = quantity;
|
|
this.product = product;
|
|
}
|
|
|
|
private BigDecimal price, quantity;
|
|
private Product product;
|
|
|
|
public BigDecimal getPrice() {
|
|
return price;
|
|
}
|
|
|
|
public void setPrice(BigDecimal price) {
|
|
this.price = price;
|
|
}
|
|
|
|
public BigDecimal getQuantity() {
|
|
return quantity;
|
|
}
|
|
|
|
public void setQuantity(BigDecimal quantity) {
|
|
this.quantity = quantity;
|
|
}
|
|
|
|
public Product getProduct() {
|
|
return product;
|
|
}
|
|
|
|
public void setProduct(Product product) {
|
|
this.product = product;
|
|
}
|
|
|
|
public IZUGFeRDAllowanceCharge[] getItemAllowances() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public IZUGFeRDAllowanceCharge[] getItemCharges() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
}
|
|
|
|
class Product implements IZUGFeRDExportableProduct {
|
|
public Product(String description, String name, String unit, BigDecimal vATPercent) {
|
|
super();
|
|
this.description = description;
|
|
this.name = name;
|
|
this.unit = unit;
|
|
VATPercent = vATPercent;
|
|
}
|
|
|
|
private String description, name, unit;
|
|
private BigDecimal VATPercent;
|
|
|
|
public String getDescription() {
|
|
return description;
|
|
}
|
|
|
|
public void setDescription(String description) {
|
|
this.description = description;
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
public String getUnit() {
|
|
return unit;
|
|
}
|
|
|
|
public void setUnit(String unit) {
|
|
this.unit = unit;
|
|
}
|
|
|
|
public BigDecimal getVATPercent() {
|
|
return VATPercent;
|
|
}
|
|
|
|
public void setVATPercent(BigDecimal vATPercent) {
|
|
VATPercent = vATPercent;
|
|
}
|
|
}
|
|
|
|
public class MustangWriter implements IExportableTransaction {
|
|
|
|
private void apply() {
|
|
try {
|
|
System.out.println("Reading Blanko-PDF");
|
|
IZUGFeRDExporter ze = new ZUGFeRDExporterFromA1().setProducer("My Application")
|
|
.setCreator(System.getProperty("user.name"))
|
|
.load("./MustangGnuaccountingBeispielRE-20170509_505blanko.pdf");
|
|
System.out.println("Generating and attaching ZUGFeRD-Data");
|
|
ze.setTransaction(this);
|
|
System.out.println("Writing ZUGFeRD-PDF");
|
|
ze.export("./MustangGnuaccountingBeispielRE-20170509_505new.pdf");
|
|
System.out.println("Done.");
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
MustangWriter mw=new MustangWriter();
|
|
mw.apply();
|
|
}
|
|
|
|
public String getCurrency() {
|
|
return "EUR";
|
|
}
|
|
|
|
public Date getDeliveryDate() {
|
|
return new GregorianCalendar(2017, Calendar.NOVEMBER, 17).getTime();
|
|
}
|
|
|
|
public Date getDueDate() {
|
|
return new GregorianCalendar(2017, Calendar.DECEMBER, 9).getTime();
|
|
}
|
|
|
|
public Date getIssueDate() {
|
|
return new GregorianCalendar(2017, Calendar.NOVEMBER, 18).getTime();
|
|
}
|
|
|
|
public String getNumber() {
|
|
// TODO Auto-generated method stub
|
|
return "RE-20171118/506";
|
|
}
|
|
|
|
public String getOwnBIC() {
|
|
// TODO Auto-generated method stub
|
|
return "COBADEFFXXX";
|
|
}
|
|
|
|
public String getOwnBankName() {
|
|
// TODO Auto-generated method stub
|
|
return "Commerzbank";
|
|
}
|
|
|
|
public String getOwnCountry() {
|
|
// TODO Auto-generated method stub
|
|
return "DE";
|
|
}
|
|
|
|
public String getOwnIBAN() {
|
|
// TODO Auto-generated method stub
|
|
return "DE88 2008 0000 0970 3757 00";
|
|
}
|
|
|
|
public String getOwnLocation() {
|
|
// TODO Auto-generated method stub
|
|
return "Stadthausen";
|
|
}
|
|
|
|
public String getOwnOrganisationFullPlaintextInfo() {
|
|
// TODO Auto-generated method stub
|
|
return "Bei Spiel GmbH\n" + "Ecke 12\n" + "12345 Stadthausen\n" + "Geschäftsführer: Max Mustermann";
|
|
}
|
|
|
|
public String getOwnOrganisationName() {
|
|
// TODO Auto-generated method stub
|
|
return "Bei Spiel GmbH";
|
|
}
|
|
|
|
public String getOwnPaymentInfoText() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public String getOwnStreet() {
|
|
return "Ecke 12";
|
|
}
|
|
|
|
public String getOwnTaxID() {
|
|
return "22/815/0815/4";
|
|
}
|
|
|
|
public String getOwnVATID() {
|
|
return "DE136695976";
|
|
}
|
|
|
|
public String getOwnZIP() {
|
|
return "12345";
|
|
}
|
|
|
|
public String getPaymentTermDescription() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public IZUGFeRDExportableTradeParty getRecipient() {
|
|
return new Contact();
|
|
}
|
|
|
|
public String getReferenceNumber() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public IZUGFeRDAllowanceCharge[] getZFAllowances() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public IZUGFeRDAllowanceCharge[] getZFCharges() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
public IZUGFeRDExportableItem[] getZFItems() {
|
|
Item[] allItems = new Item[3];
|
|
Product designProduct = new Product("", "Künstlerische Gestaltung (Stunde): Einer Beispielrechnung", "HUR",
|
|
new BigDecimal("7.000000"));
|
|
Product balloonProduct = new Product("", "Luftballon: Bunt, ca. 500ml", "C62", new BigDecimal("19.000000"));
|
|
Product airProduct = new Product("", "Heiße Luft pro Liter", "LTR", new BigDecimal("19.000000"));
|
|
allItems[0] = new Item(new BigDecimal("160"), new BigDecimal("1"), designProduct);
|
|
allItems[1] = new Item(new BigDecimal("0.79"), new BigDecimal("400"), balloonProduct);
|
|
allItems[2] = new Item(new BigDecimal("0.10"), new BigDecimal("200"), airProduct);
|
|
return allItems;
|
|
}
|
|
|
|
public IZUGFeRDAllowanceCharge[] getZFLogisticsServiceCharges() {
|
|
// TODO Auto-generated method stub
|
|
return null;
|
|
}
|
|
|
|
}
|