Ausweis und weitere Änderungen
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
import { AufnahmeClient, BenutzerClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
||||
import { AufnahmeClient, BenutzerClient, ObjektClient, UploadedGebaeudeBild, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
||||
import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016 } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.js";
|
||||
import { getEmpfehlungen } from "#lib/XML/getEmpfehlungen.js";
|
||||
import { Enums } from "@ibcornelsen/database/server";
|
||||
import * as fs from "fs"
|
||||
import moment from "moment";
|
||||
import { PDFDocument, PDFFont, PDFName, PDFNumber, PDFPage, StandardFonts, TextAlignment } from "pdf-lib";
|
||||
import { PDFDocument, PDFFont, PDFImage, PDFName, PDFNumber, PDFPage, StandardFonts, TextAlignment } from "pdf-lib";
|
||||
|
||||
|
||||
export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: UploadedGebaeudeBild[], user: BenutzerClient) {
|
||||
export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: UploadedGebaeudeBild[], user: BenutzerClient) {
|
||||
const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("./templates/GEG24_Nichtwohngebaeude.pdf", import.meta.url), "base64");
|
||||
const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF)
|
||||
const pages = pdf.getPages()
|
||||
@@ -15,7 +15,6 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisWohn
|
||||
// const template = VerbrauchsausweisWohnen2016Template as Template;
|
||||
|
||||
const berechnungen = await endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis, aufnahme, objekt);
|
||||
console.log(berechnungen);
|
||||
|
||||
const empfehlungen = getEmpfehlungen(ausweis, aufnahme, objekt)
|
||||
|
||||
@@ -44,6 +43,50 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisWohn
|
||||
}
|
||||
}
|
||||
|
||||
pages[0].drawText(aufnahme.gebaeudetyp || "", {
|
||||
x: 181,
|
||||
y: height - 191,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(objekt.adresse || "", {
|
||||
x: 181,
|
||||
y: height - 210,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.gebaeudeteil || "", {
|
||||
x: 181,
|
||||
y: height - 226,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.baujahr_gebaeude?.toString() || "", {
|
||||
x: 181,
|
||||
y: height - 242.5,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.baujahr_heizung?.toString() || "", {
|
||||
x: 181,
|
||||
y: height - 259,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.nutzflaeche?.toString() || "", {
|
||||
x: 181,
|
||||
y: height - 295,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
||||
x: 181,
|
||||
y: height - 314,
|
||||
size: 10
|
||||
})
|
||||
|
||||
|
||||
|
||||
// const gebaeudetyp = fillFormField("gebaeudetyp", aufnahme.gebaeudetyp || "")
|
||||
|
||||
// const adresse = fillFormField("adresse", objekt.adresse)
|
||||
@@ -76,7 +119,22 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisWohn
|
||||
// toggleCheck("anlass_sonstiges", ausweis.ausstellgrund == "Sonstiges")
|
||||
|
||||
|
||||
// const gebaeudeBild = bilder.find(image => image.kategorie === "Gebaeude");
|
||||
const gebaeudeBild = bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude);
|
||||
|
||||
if (gebaeudeBild) {
|
||||
let image: PDFImage;
|
||||
try {
|
||||
image = await pdf.embedJpg(gebaeudeBild?.base64)
|
||||
} catch(e) {
|
||||
image = await pdf.embedPng(gebaeudeBild?.base64)
|
||||
}
|
||||
pages[0].drawImage(image, {
|
||||
x: 424.5,
|
||||
y: height - 321,
|
||||
width: 111,
|
||||
height: 143
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// /* -------------------------------- Seite 2 -------------------------------- */
|
||||
@@ -248,50 +306,44 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisWohn
|
||||
|
||||
const addVerbrauch = addVerbrauchGenerator();
|
||||
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(1, "year").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1,
|
||||
berechnungen?.primaerfaktor.toString(),
|
||||
Math.round(berechnungen?.verbrauch_1_kwh).toString(),
|
||||
Math.round(
|
||||
berechnungen?.anteil_warmwasser_1 * berechnungen?.verbrauch_1_kwh
|
||||
).toString(),
|
||||
Math.round(
|
||||
berechnungen?.anteil_heizung_1 * berechnungen?.verbrauch_1_kwh
|
||||
).toString(),
|
||||
berechnungen?.klimafaktoren[0].klimafaktor.toString()
|
||||
);
|
||||
if (!ausweis.warmwasser_enthalten) {
|
||||
// Mit Warmwasserzuschlag
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1 || "",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||
"0",
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
} else {
|
||||
// Ohne Warmwasserzuschlag
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1 || "",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
}
|
||||
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).add(1, "year").format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(2, "year").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1,
|
||||
berechnungen?.primaerfaktor.toString(),
|
||||
Math.round(berechnungen?.verbrauch_2_kwh).toString(),
|
||||
Math.round(
|
||||
berechnungen?.anteil_warmwasser_1 * berechnungen?.verbrauch_2_kwh
|
||||
).toString(),
|
||||
Math.round(
|
||||
berechnungen?.anteil_heizung_1 * berechnungen?.verbrauch_2_kwh
|
||||
).toString(),
|
||||
berechnungen?.klimafaktoren[0].klimafaktor.toString()
|
||||
);
|
||||
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).add(2, "year").format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "year").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1,
|
||||
berechnungen?.primaerfaktor.toString(),
|
||||
Math.round(berechnungen?.verbrauch_3_kwh).toString(),
|
||||
Math.round(
|
||||
berechnungen?.anteil_warmwasser_1 * berechnungen?.verbrauch_3_kwh
|
||||
).toString(),
|
||||
Math.round(
|
||||
berechnungen?.anteil_heizung_1 * berechnungen?.verbrauch_3_kwh
|
||||
).toString(),
|
||||
berechnungen?.klimafaktoren[0].klimafaktor.toString()
|
||||
);
|
||||
if (ausweis.zusaetzliche_heizquelle) {
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_2 || "",
|
||||
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_2 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
}
|
||||
|
||||
/* -------------------------------- Seite 4 -------------------------------- */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user