diff --git a/src/pages/dashboard/abrechnung/monatlich.pdf.astro b/src/pages/dashboard/abrechnung/monatlich.pdf.astro index 95b98acd..7cb1178a 100644 --- a/src/pages/dashboard/abrechnung/monatlich.pdf.astro +++ b/src/pages/dashboard/abrechnung/monatlich.pdf.astro @@ -127,18 +127,23 @@ Handlebars.registerHelper("get-provision-betrag", function (ausweisart, ausweist return provision_betrag ? provision_betrag.toFixed(2) : "0.00"; }); +const gesamt = ausweisBestellungen.reduce((acc, bestellung) => { + const { provision_betrag } = getProvision(bestellung.ausweis.ausweisart, bestellung.ausweis.ausweistyp, provisionen); + return acc + (provision_betrag || 0); +}, 0).toFixed(2); + const template = Handlebars.compile(abrechnungTemplateHTML); -const html = template({ monat: datum.format("MMMM YYYY"), bestellungen: blocks, heute: moment().format("DD.MM.YYYY"), plz: benutzer.plz, ort: benutzer.ort, adresse: benutzer.adresse, firma: benutzer.firma, email: benutzer.email }); +const html = template({ monat: datum.format("MMMM YYYY"), bestellungen: blocks, heute: moment().format("DD.MM.YYYY"), plz: benutzer.plz, ort: benutzer.ort, adresse: benutzer.adresse, firma: benutzer.firma, email: benutzer.email, gesamt }); await page.goto(`data:text/html;charset=UTF-8,${encodeURIComponent(html)}`, { waitUntil: "networkidle0", }); -const pdf = await page.pdf({ path: "abrechnung.pdf", format: "A4" }); +const pdf = await page.pdf({ format: "A4" }); await browser.close(); return new Response(pdf, { headers: { "Content-Type": "application/pdf", - "Content-Disposition": "attachment; filename=abrechnung.pdf", + "Content-Disposition": `attachment; filename="Abrechnung_${datum.format("YYYY_MM")}.pdf"`, }, }); --- diff --git a/src/templates/pdf/abrechnung.handlebars b/src/templates/pdf/abrechnung.handlebars index 906bd95c..18571332 100644 --- a/src/templates/pdf/abrechnung.handlebars +++ b/src/templates/pdf/abrechnung.handlebars @@ -75,6 +75,9 @@ + {{#if @last}} + Gesamt {{ @root.gesamt }} € + {{/if}}