fix pdf Verbrauchsausweis gewerbe

This commit is contained in:
Jens Cornelsen
2025-04-15 16:05:24 +02:00
parent ed753b71c1
commit 3912262f4b

View File

@@ -4,7 +4,6 @@ import { Enums } from "#lib/server/prisma.js";
import * as fs from "fs" import * as fs from "fs"
import moment from "moment"; import moment from "moment";
import { PDFDocument, PDFFont, PDFImage, PDFPage, StandardFonts } from "pdf-lib"; import { PDFDocument, PDFFont, PDFImage, PDFPage, StandardFonts } from "pdf-lib";
import { addCheckMark } from "./utils/checkbox.js";
import { addText } from "./utils/text.js"; import { addText } from "./utils/text.js";
import { addAnsichtsausweisLabel, addDatumGEG, addRegistriernummer } from "./utils/helpers.js"; import { addAnsichtsausweisLabel, addDatumGEG, addRegistriernummer } from "./utils/helpers.js";
import { getS3File } from "#lib/s3.js"; import { getS3File } from "#lib/s3.js";
@@ -112,30 +111,80 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) { if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) {
addCheckMark(pages[0], 213, height - 334) pages[0].drawText("x", {
x: 214,
y: height - 342,
size: 10,
font: bold
})
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.Schachtlueftung) { } else if (aufnahme.lueftung === Enums.Lueftungskonzept.Schachtlueftung) {
addCheckMark(pages[0], 213, height - 345) pages[0].drawText("x", {
x: 214,
y: height - 353,
size: 10,
font: bold
})
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung) { } else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung) {
addCheckMark(pages[0], 355, height - 334) pages[0].drawText("x", {
x: 356,
y: height - 342,
size: 10,
font: bold
})
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung) { } else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung) {
addCheckMark(pages[0], 355, height - 345) pages[0].drawText("x", {
x: 356,
y: height - 353,
size: 10,
font: bold
})
} }
// Kühlung // Kühlung
if (aufnahme.kuehlung) { if (aufnahme.kuehlung) {
addCheckMark(pages[0], 213, height - 362.5) pages[0].drawText("x", {
x: 214,
y: height - 370.5,
size: 10,
font: bold
})
} else { } else {
addCheckMark(pages[0], 355, height - 373.5) pages[0].drawText("x", {
x: 356,
y: height - 381.5,
size: 10,
font: bold
})
} }
if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) { if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) {
addCheckMark(pages[0], 213, height - 406) pages[0].drawText("x", {
x: 214,
y: height - 414,
size: 10,
font: bold
})
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung) { } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung) {
addCheckMark(pages[0], 213, height - 417) pages[0].drawText("x", {
x: 214,
y: height - 425,
size: 10,
font: bold
})
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Modernisierung) { } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Modernisierung) {
addCheckMark(pages[0], 344.5, height - 406) pages[0].drawText("x", {
x: 345.5,
y: height - 414,
size: 10,
font: bold
})
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Sonstiges) { } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Sonstiges) {
addCheckMark(pages[0], 463, height - 417) pages[0].drawText("x", {
x: 464,
y: height - 425,
size: 10,
font: bold
})
} }
// Aushangpflicht // Aushangpflicht
// addCheckMark(pages[0], 463, height - 406) // addCheckMark(pages[0], 463, height - 406)
@@ -161,11 +210,21 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
} }
} }
// Checkmark Angabe energetische Qualität des Gebäudes. // Checkmark Verbrauchsausweis.
addCheckMark(pages[0], 40, height - 550) pages[0].drawText("x", {
x: 41,
y: height - 558,
size: 10,
font: bold
})
// Datenerhebung durch Eigentümer // Datenerhebung durch Eigentümer
addCheckMark(pages[0], 295, height - 580) pages[0].drawText("x", {
x: 296,
y: height - 588,
size: 10,
font: bold
})
// Ausstellungsdatum // Ausstellungsdatum
pages[0].drawText(moment().format("DD.MM.YYYY"), { pages[0].drawText(moment().format("DD.MM.YYYY"), {
@@ -425,35 +484,75 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
addEnergieverbrauchSkalaPfeile(pages[2]) addEnergieverbrauchSkalaPfeile(pages[2])
if (ausweis.warmwasser_enthalten) { if (ausweis.warmwasser_enthalten) {
addCheckMark(pages[2], 41, height - 293) pages[0].drawText("x", {
x: 42,
y: height - 301,
size: 10,
font: bold
})
} }
if (ausweis.kuehlung_enthalten) { if (ausweis.kuehlung_enthalten) {
addCheckMark(pages[2], 41, height - 305) pages[0].drawText("x", {
x: 42,
y: height - 313,
size: 10,
font: bold
})
} }
if (ausweis.stromverbrauch_enthaelt_heizung) { if (ausweis.stromverbrauch_enthaelt_heizung) {
addCheckMark(pages[2], 41, height - 456) pages[0].drawText("x", {
x: 42,
y: height - 464,
size: 10,
font: bold
})
} }
if (ausweis.stromverbrauch_enthaelt_warmwasser) { if (ausweis.stromverbrauch_enthaelt_warmwasser) {
addCheckMark(pages[2], 131, height - 456) pages[0].drawText("x", {
x: 132,
y: height - 464,
size: 10,
font: bold
})
} }
if (ausweis.stromverbrauch_enthaelt_lueftung) { if (ausweis.stromverbrauch_enthaelt_lueftung) {
addCheckMark(pages[2], 218, height - 456) pages[0].drawText("x", {
x: 219,
y: height - 464,
size: 10,
font: bold
})
} }
if (ausweis.stromverbrauch_enthaelt_beleuchtung) { if (ausweis.stromverbrauch_enthaelt_beleuchtung) {
addCheckMark(pages[2], 281, height - 456) pages[0].drawText("x", {
x: 282,
y: height - 464,
size: 10,
font: bold
})
} }
if (ausweis.stromverbrauch_enthaelt_kuehlung) { if (ausweis.stromverbrauch_enthaelt_kuehlung) {
addCheckMark(pages[2], 422, height - 456) pages[0].drawText("x", {
x: 423,
y: height - 464,
size: 10,
font: bold
})
} }
if (ausweis.stromverbrauch_enthaelt_sonstige) { if (ausweis.stromverbrauch_enthaelt_sonstige) {
addCheckMark(pages[2], 492, height - 456) pages[0].drawText("x", {
x: 493,
y: height - 464,
size: 10,
font: bold
})
} }
addText(pages[2], berechnungen?.primaerEnergieVerbrauchGesamt.toString() || "", 475, height - 637, 10, font) addText(pages[2], berechnungen?.primaerEnergieVerbrauchGesamt.toString() || "", 475, height - 637, 10, font)