From 49616bd4d83074e8349397fbdc5a4ee8fd9f0b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jochen=20Sta=CC=88rk?= Date: Mon, 30 Sep 2019 20:13:45 +0200 Subject: [PATCH] closes #134 --- .../ZUGFeRD/ZUGFeRD2PullProvider.java | 15 ++++++++++++--- .../mustangproject/ZUGFeRD/ZUGFeRDExporter.java | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 5b7f8d54..a744da0a 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -40,13 +40,14 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { private class LineCalc { private BigDecimal totalGross; + private BigDecimal priceGross; private BigDecimal itemTotalNetAmount; private BigDecimal itemTotalVATAmount; public LineCalc(IZUGFeRDExportableItem currentItem) { BigDecimal multiplicator = currentItem.getProduct().getVATPercent().divide(new BigDecimal(100)) .add(new BigDecimal(1)); - // priceGross=currentItem.getPrice().multiply(multiplicator); + priceGross = currentItem.getPrice().multiply(multiplicator); totalGross = currentItem.getPrice().multiply(multiplicator).multiply(currentItem.getQuantity()); itemTotalNetAmount = currentItem.getQuantity().multiply(currentItem.getPrice()).setScale(2, BigDecimal.ROUND_HALF_UP); @@ -61,6 +62,13 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { return itemTotalVATAmount; } + public BigDecimal getItemTotalGrossAmount() { + return itemTotalVATAmount; + } + public BigDecimal getPriceGross() { + return priceGross; + } + } //// MAIN CLASS @@ -196,6 +204,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { } public String getProfile() { +// return "urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_1.2"; return "urn:cen.eu:en16931:2017"; } @@ -285,7 +294,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { + " \n" //$NON-NLS-1$ + " \n" //$NON-NLS-1$ - + " " + priceFormat(currentItem.getPrice()) //$NON-NLS-1$ + + " " + priceFormat(lc.getPriceGross()) //$NON-NLS-1$ + "\n" //$NON-NLS-1$ //currencyID=\"EUR\" + " 1.0000\n" //$NON-NLS-1$ @@ -482,7 +491,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider { + " " + currencyFormat(getTotalGross()) + "\n" //$NON-NLS-1$ //$NON-NLS-2$ // // // currencyID=\"EUR\" - + " " + currencyFormat(getTotalPrepaid()) + "\n" + + " " + currencyFormat(getTotalPrepaid()) + "\n" + " " + currencyFormat(getTotalGross().subtract(getTotalPrepaid())) + "\n" //$NON-NLS-1$ //$NON-NLS-2$ // // // currencyID=\"EUR\" diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index 19467a47..11a3a2ec 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -464,6 +464,7 @@ public class ZUGFeRDExporter implements Closeable { ByteArrayInputStream fakeFile = new ByteArrayInputStream(data); PDEmbeddedFile ef = new PDEmbeddedFile(doc, fakeFile); +// ef.addCompression(); ef.setSubtype(subType); ef.setSize(data.length); ef.setCreationDate(new GregorianCalendar());