Ausstellen

This commit is contained in:
Moritz Utcke
2025-04-08 19:34:51 -04:00
parent d354189d3c
commit 0956744878
5 changed files with 49 additions and 36 deletions

View File

@@ -6,7 +6,7 @@ import moment from "moment";
import { PDFDocument, PDFFont, PDFImage, PDFPage, StandardFonts } from "pdf-lib";
import { addCheckMark } from "./utils/checkbox.js";
import { addText } from "./utils/text.js";
import { addAnsichtsausweisLabel, addDatumGEG } from "./utils/helpers.js";
import { addAnsichtsausweisLabel, addDatumGEG, addRegistriernummer } from "./utils/helpers.js";
import { getS3File } from "#lib/s3.js";
import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016_Server } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016_Server.js";
@@ -612,12 +612,16 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
}
for (const page of pages) {
if (vorschau) {
addAnsichtsausweisLabel(page, font)
for (let i = 0; i < pages.length; i++) {
const page = pages[i];
if (vorschau) {
addAnsichtsausweisLabel(page, font)
}
addDatumGEG(page, font)
if (i !== pages.length - 1) {
addRegistriernummer(page, font, ausweis.registriernummer || "")
}
}
addDatumGEG(page, font)
}

View File

@@ -6,7 +6,7 @@ import moment from "moment";
import { PDFDocument, PDFFont, PDFImage, PDFPage, StandardFonts } from "pdf-lib";
import { addCheckMark } from "./utils/checkbox.js";
import { addText } from "./utils/text.js";
import { addAnsichtsausweisLabel, addDatumGEG } from "./utils/helpers.js";
import { addAnsichtsausweisLabel, addDatumGEG, addRegistriernummer } from "./utils/helpers.js";
import { getS3File } from "#lib/s3.js";
import { endEnergieVerbrauchVerbrauchsausweis_2016_Server } from "#lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016_Server.js";
@@ -592,11 +592,15 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
addEmpfehlung(empfehlung.anlagenteil, empfehlung.description, true, empfehlung.amortisationszeit, empfehlung.kosten)
}
for (const page of pages) {
for (let i = 0; i < pages.length; i++) {
const page = pages[i];
if (vorschau) {
addAnsichtsausweisLabel(page, font)
}
addDatumGEG(page, font)
if (i !== pages.length - 1) {
addRegistriernummer(page, font, ausweis.registriernummer || "")
}
}
return pdf.save();

View File

@@ -22,3 +22,13 @@ export function addAnsichtsausweisLabel(page: PDFPage, font: PDFFont) {
opacity: 0.3,
});
}
export function addRegistriernummer(page: PDFPage, font: PDFFont, registriernummer: string) {
page.drawText(registriernummer, {
x: 435,
y: page.getHeight() - 113,
size: 10,
font,
});
}

View File

@@ -129,7 +129,7 @@ export const GET = defineApiRoute({
if (pdfDatenblatt) {
const command = new PutObjectCommand({
Bucket: "ibc-pdfs",
Key: `ID_${ausweis.id}_Energieausweis.pdf`,
Key: `ID_${ausweis.id}_Datenblatt.pdf`,
Body: pdfDatenblatt,
ACL: "private",
});

View File

@@ -122,32 +122,27 @@ export const GET = defineApiRoute({
? "Energiebedarfsausweis"
: "Energieverbrauchsausweis";
const body = `<Datenregistratur xmlns="http://energieausweis.dibt.de/WebServiceEnergie/DibtEnergieAusweisService">
<doc>
<root>
<Authentifizierung>
<Aussteller_ID_DIBT>${Aussteller_ID_DIBT}</Aussteller_ID_DIBT>
<Aussteller_PWD_DIBT>${Aussteller_PWD_DIBT}</Aussteller_PWD_DIBT>
</Authentifizierung>
<EnEV-Nachweis>
<Ausstellungsdatum>${Ausstellungsdatum}</Ausstellungsdatum>
<Bundesland>${postleitzahl.bundesland}</Bundesland>
<Postleitzahl>${postleitzahl.plz}</Postleitzahl>
<Gesetzesgrundlage>${Gesetzesgrundlage}</Gesetzesgrundlage>
</EnEV-Nachweis>
<Energieausweis-Daten>
<Gebaeudeart>${gebaeudeart}</Gebaeudeart>
<Art>${art}</Art>
<Neubau>${
ausweis.ausstellgrund ===
Enums.Ausstellgrund.Neubau
? "1"
: "0"
}</Neubau>
</Energieausweis-Daten>
</root>
</doc>
</Datenregistratur>`;
const requestPayload = {
doc: {
root: {
Authentifizierung: {
Aussteller_ID_DIBT: Aussteller_ID_DIBT,
Aussteller_PWD_DIBT: Aussteller_PWD_DIBT,
},
'EnEV-Nachweis': {
Ausstellungsdatum: Ausstellungsdatum,
Bundesland: postleitzahl.bundesland,
Postleitzahl: postleitzahl.plz,
Gesetzesgrundlage: Gesetzesgrundlage,
},
'Energieausweis-Daten': {
Gebaeudeart: gebaeudeart,
Art: art,
Neubau: ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau ? "1" : "0",
},
},
},
}
return await new Promise(async (resolve, reject) => {
soap.createClient(
@@ -162,7 +157,7 @@ export const GET = defineApiRoute({
}
client.Datenregistratur(
body,
requestPayload,
async function (
err: any,
result: {