Verbrauchsausweis Wohnen Ausweis fertig
This commit is contained in:
@@ -4,7 +4,7 @@ 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, PDFImage, PDFName, PDFNumber, PDFPage, StandardFonts, TextAlignment } from "pdf-lib";
|
||||
import { PDFDocument, PDFFont, PDFImage, PDFName, PDFNumber, PDFPage, rgb, StandardFonts, TextAlignment } from "pdf-lib";
|
||||
|
||||
|
||||
export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: UploadedGebaeudeBild[], user: BenutzerClient) {
|
||||
@@ -44,80 +44,75 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
}
|
||||
|
||||
pages[0].drawText(aufnahme.gebaeudetyp || "", {
|
||||
x: 181,
|
||||
y: height - 191,
|
||||
x: 211,
|
||||
y: height - 166,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(objekt.adresse || "", {
|
||||
x: 181,
|
||||
y: height - 210,
|
||||
x: 211,
|
||||
y: height - 194,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.gebaeudeteil || "", {
|
||||
x: 181,
|
||||
y: height - 226,
|
||||
x: 211,
|
||||
y: height - 214.5,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.baujahr_gebaeude?.toString() || "", {
|
||||
x: 181,
|
||||
y: height - 242.5,
|
||||
x: 211,
|
||||
y: height - 229.5,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.baujahr_heizung?.toString() || "", {
|
||||
x: 181,
|
||||
y: height - 259,
|
||||
x: 211,
|
||||
y: height - 250,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(aufnahme.nutzflaeche?.toString() || "", {
|
||||
x: 181,
|
||||
y: height - 295,
|
||||
x: 211,
|
||||
y: height - 271.5,
|
||||
size: 10
|
||||
})
|
||||
|
||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
||||
x: 181,
|
||||
y: height - 314,
|
||||
x: 211,
|
||||
y: height - 285,
|
||||
size: 10
|
||||
})
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
||||
x: 211,
|
||||
y: height - 299,
|
||||
size: 10
|
||||
})
|
||||
}
|
||||
|
||||
function checkbox(page: PDFPage, x: number, y: number) {
|
||||
page.drawSvgPath(`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>`, {
|
||||
x,
|
||||
y,
|
||||
scale: 0.4,
|
||||
color: rgb(0,0,0)
|
||||
})
|
||||
}
|
||||
|
||||
if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) {
|
||||
checkbox(pages[0], 213, height - 334)
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.Schachtlueftung) {
|
||||
checkbox(pages[0], 213, height - 345)
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung) {
|
||||
checkbox(pages[0], 355, height - 334)
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung) {
|
||||
checkbox(pages[0], 355, height - 345)
|
||||
}
|
||||
|
||||
|
||||
// const gebaeudetyp = fillFormField("gebaeudetyp", aufnahme.gebaeudetyp || "")
|
||||
|
||||
// const adresse = fillFormField("adresse", objekt.adresse)
|
||||
|
||||
|
||||
// const gebaeudeteil = fillFormField("gebaeudeteil", aufnahme.gebaeudeteil || "")
|
||||
|
||||
// const baujahr_gebaeude = fillFormField("baujahr_gebaeude", aufnahme.baujahr_gebaeude?.toString())
|
||||
|
||||
// const baujahr_heizung = fillFormField("baujahr_heizung", aufnahme.baujahr_heizung?.toString())
|
||||
|
||||
// const einheiten = fillFormField("einheiten", aufnahme.einheiten?.toString())
|
||||
|
||||
// const nutzflaeche = fillFormField("nutzflaeche", `${aufnahme.nutzflaeche?.toString()}m²`)
|
||||
|
||||
// fillFormField("energietraeger_heizung", `${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`)
|
||||
|
||||
// if (ausweis.warmwasser_enthalten) {
|
||||
// fillFormField("energietraeger_warmwasser", `${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`)
|
||||
// }
|
||||
|
||||
// toggleCheck("fensterlueftung", aufnahme.lueftung == Enums.Lueftungskonzept.Fensterlueftung)
|
||||
// toggleCheck("schachtlueftung", aufnahme.lueftung == Enums.Lueftungskonzept.Schachtlueftung)
|
||||
// toggleCheck("lueftungsanlage_ohne_waermerueckgewinnung", aufnahme.lueftung == Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung)
|
||||
// toggleCheck("lueftungsanlage_waermerueckgewinnung", aufnahme.lueftung == Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung)
|
||||
|
||||
// toggleCheck("anlass_neubau", ausweis.ausstellgrund == "Neubau")
|
||||
// toggleCheck("anlass_vermietung", ausweis.ausstellgrund == "Vermietung" || ausweis.ausstellgrund == "Verkauf")
|
||||
// toggleCheck("anlass_modernisierung", ausweis.ausstellgrund == "Modernisierung")
|
||||
// toggleCheck("anlass_sonstiges", ausweis.ausstellgrund == "Sonstiges")
|
||||
|
||||
|
||||
const gebaeudeBild = bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude);
|
||||
|
||||
@@ -129,10 +124,10 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
image = await pdf.embedPng(gebaeudeBild?.base64)
|
||||
}
|
||||
pages[0].drawImage(image, {
|
||||
x: 424.5,
|
||||
y: height - 321,
|
||||
x: 460.5,
|
||||
y: height - 289,
|
||||
width: 111,
|
||||
height: 143
|
||||
height: 138
|
||||
})
|
||||
}
|
||||
|
||||
@@ -368,7 +363,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
const addEmpfehlungenGenerator = () => {
|
||||
let i = 0;
|
||||
let yOffset = 43;
|
||||
const initialHeight = 568
|
||||
const initialHeight = 562
|
||||
const initialXOffset = 36;
|
||||
return (bauteil?: string, beschreibung?: string, alsEinzelmassnahme?: boolean, amortisationszeit?: string, kosten?: string) => {
|
||||
pages[3].drawText((i + 1).toString(), {
|
||||
|
||||
Reference in New Issue
Block a user