From 48f72a2f0feb5af1423ab1a86f6120cd2bd6e427 Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Sat, 12 Apr 2025 16:40:21 +0200 Subject: [PATCH 01/40] Migrations Skripte --- src/testing/ausweise-fix-ausgestellt.ts | 37 ++++++++++++++++ src/testing/ausweise-fix-rechnungsid.ts | 59 +++++++++++++++---------- src/testing/nutzer-fix-alteid.ts | 46 +++++++++++++++++++ src/testing/rechnungen-umziehen.ts | 5 ++- 4 files changed, 122 insertions(+), 25 deletions(-) create mode 100644 src/testing/ausweise-fix-ausgestellt.ts create mode 100644 src/testing/nutzer-fix-alteid.ts diff --git a/src/testing/ausweise-fix-ausgestellt.ts b/src/testing/ausweise-fix-ausgestellt.ts new file mode 100644 index 00000000..e2943e78 --- /dev/null +++ b/src/testing/ausweise-fix-ausgestellt.ts @@ -0,0 +1,37 @@ +import { Enums, prisma } from "#lib/server/prisma.js"; + +let start = 1; +let limit = 1; + +const existing_bedarfsausweiswohnen_list = await prisma.bedarfsausweisWohnen.findMany({ + where: { + rechnung_id: null + } +}); + +for (const ausweis of existing_bedarfsausweiswohnen_list) { + if (ausweis.bestellt != false && ausweis.registriernummer == ""){ + console.log( + 'ID:' + ausweis.id + + ' Reg.Nr:' + ausweis.registriernummer + + ' Rechnung_id: ' + ausweis.rechnung_id + + ' Bestellt: ' + ausweis.bestellt + + ' Ausgestellt: ' + ausweis.ausgestellt + + ' Ausgestellt am: ' + ausweis.ausstellungsdatum + ); + + await prisma.bedarfsausweisWohnen.update({ + where: { + id: ausweis.id + }, + data: { + bestellt: false, + ausgestellt: false, + ausstellungsdatum: null + } + }); + + // if (start >= limit) break; + start++; + } +} \ No newline at end of file diff --git a/src/testing/ausweise-fix-rechnungsid.ts b/src/testing/ausweise-fix-rechnungsid.ts index ffe7544a..4d9aced7 100644 --- a/src/testing/ausweise-fix-rechnungsid.ts +++ b/src/testing/ausweise-fix-rechnungsid.ts @@ -1,39 +1,52 @@ -import moment from "moment"; import { Enums, prisma } from "#lib/server/prisma.js"; +import Papa from "papaparse" import * as fs from "fs"; import { fileURLToPath } from "url"; -import { hashPassword } from "#lib/password.js"; -import Papa from "papaparse"; import { generatePrefixedId } from "#lib/db.js"; import { VALID_UUID_PREFIXES } from "#lib/constants.js"; -import { tryCatch } from "#lib/tryCatch.js"; -import { createBrotliDecompress } from "zlib"; -const path = fileURLToPath(new URL("./ausweise.csv.br", import.meta.url)); // .br for Brotli file +const path = fileURLToPath(new URL("./rechnungen.csv", import.meta.url)); if (!fs.existsSync(path)) { - throw new Error(`${path} existiert nicht.`); + throw new Error(`${path} existiert nicht.`) } -let i = 0; -const brotliStream = fs.createReadStream(path).pipe(createBrotliDecompress()); +const file = fs.createReadStream(path, "utf8"); +Papa.parse(file, { + header: true, + async complete(results, file) { + let i = 0; + for (const rechnung of results.data as any) { + i++ + if (i % 1000 === 0) { + console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`) + } + const existing_rechnung = await prisma.rechnung.findFirst({ + where: { + alte_id: parseInt(rechnung.id) + } + }) -Papa.parse(brotliStream, { - header: true, - async complete(results, file) { - for (const dataset of results.data as any) { - const existing = await prisma.verbrauchsausweisWohnen.findFirst({ - where: { - alte_ausweis_id: parseInt(dataset.id) + if (existing_rechnung) { + const existing_bedarfsausweiswohnen = await prisma.bedarfsausweisWohnen.findFirst({ + where: { + alte_ausweis_id: parseInt(rechnung.ausweis_id) + } + }) + + if (existing_bedarfsausweiswohnen){ + if (existing_bedarfsausweiswohnen.rechnung_id != existing_rechnung.id){ + console.log('Rechnungsnummer weicht ab. Alte Ausweis Id:'+ rechnung.ausweis_id + ': ' + existing_bedarfsausweiswohnen.rechnung_id + ' vs ' + existing_rechnung.id); + //Todo: Rechnungsid updaten + } else { + //console.log('Rechnungsnummer Abgleich ok. Alte Ausweis Id:'+ rechnung.ausweis_id + ': ' + existing_bedarfsausweiswohnen.rechnung_id + ' vs ' + existing_rechnung.id); + } } - }); - - if (existing) { - continue; + } else { + console.log('Rechnung existiert nicht: '+ parseInt(rechnung.id)); } - console.log(dataset.id); - // do something with dataset... + //if (i > 10000) break; } - }, + } }); \ No newline at end of file diff --git a/src/testing/nutzer-fix-alteid.ts b/src/testing/nutzer-fix-alteid.ts new file mode 100644 index 00000000..4eca767c --- /dev/null +++ b/src/testing/nutzer-fix-alteid.ts @@ -0,0 +1,46 @@ +import { Enums, prisma } from "#lib/server/prisma.js"; +import Papa from "papaparse" +import * as fs from "fs"; +import { fileURLToPath } from "url"; +import { generatePrefixedId } from "#lib/db.js"; +import { VALID_UUID_PREFIXES } from "#lib/constants.js"; + +const path = fileURLToPath(new URL("./users.csv", import.meta.url)); + +if (!fs.existsSync(path)) { + throw new Error(`${path} existiert nicht.`) +} + +const file = fs.createReadStream(path, "utf8"); +Papa.parse(file, { + header: true, + async complete(results, file) { + let i = 0; + for (const user of results.data as any) { + i++ + if (i % 100 === 0) { + //console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`) + } + const existing = await prisma.benutzer.findFirst({ + where: { + email: user.email + } + }) + + if (existing) { + if (existing.alte_id == null){ + console.log('User: ' + user.email + ' fehlt alte id ('+user.id+')'); + await prisma.benutzer.update({ + where: { + email: user.email + }, + data: { + alte_id: parseInt(user.id) + } + }); + } + } + + } + } +}); \ No newline at end of file diff --git a/src/testing/rechnungen-umziehen.ts b/src/testing/rechnungen-umziehen.ts index 72c6067c..de56470a 100644 --- a/src/testing/rechnungen-umziehen.ts +++ b/src/testing/rechnungen-umziehen.ts @@ -19,7 +19,7 @@ Papa.parse(file, { let i = 0; for (const rechnung of results.data as any) { i++ - if (i % 50 === 0) { + if (i % 500 === 0) { console.log(`Processed ${i} of ${results.data.length}, ${Math.round(i / results.data.length * 100)}%`) } const existing = await prisma.rechnung.findFirst({ @@ -29,7 +29,7 @@ Papa.parse(file, { }) if (existing) { - console.log(`Rechnung für ${rechnung.id} existiert bereits.`); + //console.log(`Rechnung für ${rechnung.id} existiert bereits.`); continue; } @@ -166,6 +166,7 @@ Papa.parse(file, { await prisma.rechnung.create({ data }); + console.log('User: ' + rechnung.user_id + ' Rechnung:' + rechnung.id); } catch (e) { console.log(e); continue; From f7b6a504827938adb171d54e15069c6d7a40eefc Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Sat, 12 Apr 2025 17:14:02 +0200 Subject: [PATCH 02/40] Migrationsskript Bedarfsausweis Wohnen Test --- src/testing/ausweise-fix-ausgestellt.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/testing/ausweise-fix-ausgestellt.ts b/src/testing/ausweise-fix-ausgestellt.ts index e2943e78..2baa3ee6 100644 --- a/src/testing/ausweise-fix-ausgestellt.ts +++ b/src/testing/ausweise-fix-ausgestellt.ts @@ -10,7 +10,7 @@ const existing_bedarfsausweiswohnen_list = await prisma.bedarfsausweisWohnen.fin }); for (const ausweis of existing_bedarfsausweiswohnen_list) { - if (ausweis.bestellt != false && ausweis.registriernummer == ""){ + if (ausweis.bestellt == true && ausweis.registriernummer == ""){ console.log( 'ID:' + ausweis.id + ' Reg.Nr:' + ausweis.registriernummer + @@ -20,16 +20,16 @@ for (const ausweis of existing_bedarfsausweiswohnen_list) { ' Ausgestellt am: ' + ausweis.ausstellungsdatum ); - await prisma.bedarfsausweisWohnen.update({ - where: { - id: ausweis.id - }, - data: { - bestellt: false, - ausgestellt: false, - ausstellungsdatum: null - } - }); + // await prisma.bedarfsausweisWohnen.update({ + // where: { + // id: ausweis.id + // }, + // data: { + // bestellt: false, + // ausgestellt: false, + // ausstellungsdatum: null + // } + // }); // if (start >= limit) break; start++; From 6da7c0e5015f5b16f77bede120b690be4450502e Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Sat, 12 Apr 2025 17:27:51 +0200 Subject: [PATCH 03/40] Migrationsskript Bedarfsausweis Wohnen Limit 10 --- src/testing/ausweise-fix-ausgestellt.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/testing/ausweise-fix-ausgestellt.ts b/src/testing/ausweise-fix-ausgestellt.ts index 2baa3ee6..10948325 100644 --- a/src/testing/ausweise-fix-ausgestellt.ts +++ b/src/testing/ausweise-fix-ausgestellt.ts @@ -1,7 +1,7 @@ import { Enums, prisma } from "#lib/server/prisma.js"; let start = 1; -let limit = 1; +let limit = 10; const existing_bedarfsausweiswohnen_list = await prisma.bedarfsausweisWohnen.findMany({ where: { @@ -20,18 +20,18 @@ for (const ausweis of existing_bedarfsausweiswohnen_list) { ' Ausgestellt am: ' + ausweis.ausstellungsdatum ); - // await prisma.bedarfsausweisWohnen.update({ - // where: { - // id: ausweis.id - // }, - // data: { - // bestellt: false, - // ausgestellt: false, - // ausstellungsdatum: null - // } - // }); + await prisma.bedarfsausweisWohnen.update({ + where: { + id: ausweis.id + }, + data: { + bestellt: false, + ausgestellt: false, + ausstellungsdatum: null + } + }); - // if (start >= limit) break; + if (start >= limit) break; start++; } } \ No newline at end of file From f31d710b2058fbc9623a482ba91d1179016c30b5 Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Sat, 12 Apr 2025 17:36:31 +0200 Subject: [PATCH 04/40] Migrationsskript Bedarfsausweis Wohnen Ohne Limit --- src/testing/ausweise-fix-ausgestellt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/testing/ausweise-fix-ausgestellt.ts b/src/testing/ausweise-fix-ausgestellt.ts index 10948325..b2ba9299 100644 --- a/src/testing/ausweise-fix-ausgestellt.ts +++ b/src/testing/ausweise-fix-ausgestellt.ts @@ -31,7 +31,7 @@ for (const ausweis of existing_bedarfsausweiswohnen_list) { } }); - if (start >= limit) break; + // if (start >= limit) break; start++; } } \ No newline at end of file From 83727ac71d787c789b86ee5368b75b9c07f243df Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Sat, 12 Apr 2025 18:13:40 +0200 Subject: [PATCH 05/40] Migrationsskripte Verbrauchsausweis Wohnen + Gewerbe --- ...ellt.ts => ausweise-bw-fix-ausgestellt.ts} | 0 src/testing/ausweise-vg-fix-ausgestellt.ts | 37 +++++++++++++++++++ src/testing/ausweise-vw-fix-ausgestellt.ts | 37 +++++++++++++++++++ 3 files changed, 74 insertions(+) rename src/testing/{ausweise-fix-ausgestellt.ts => ausweise-bw-fix-ausgestellt.ts} (100%) create mode 100644 src/testing/ausweise-vg-fix-ausgestellt.ts create mode 100644 src/testing/ausweise-vw-fix-ausgestellt.ts diff --git a/src/testing/ausweise-fix-ausgestellt.ts b/src/testing/ausweise-bw-fix-ausgestellt.ts similarity index 100% rename from src/testing/ausweise-fix-ausgestellt.ts rename to src/testing/ausweise-bw-fix-ausgestellt.ts diff --git a/src/testing/ausweise-vg-fix-ausgestellt.ts b/src/testing/ausweise-vg-fix-ausgestellt.ts new file mode 100644 index 00000000..fe3f7531 --- /dev/null +++ b/src/testing/ausweise-vg-fix-ausgestellt.ts @@ -0,0 +1,37 @@ +import { Enums, prisma } from "#lib/server/prisma.js"; + +let start = 1; +let limit = 10; + +const existing_verbauchsauweisgewerbe_list = await prisma.verbrauchsausweisGewerbe.findMany({ + where: { + rechnung_id: null + } +}); + +for (const ausweis of existing_verbauchsauweisgewerbe_list) { + if (ausweis.bestellt == true && ausweis.registriernummer == ""){ + console.log( + 'ID:' + ausweis.id + + ' Reg.Nr:' + ausweis.registriernummer + + ' Rechnung_id: ' + ausweis.rechnung_id + + ' Bestellt: ' + ausweis.bestellt + + ' Ausgestellt: ' + ausweis.ausgestellt + + ' Ausgestellt am: ' + ausweis.ausstellungsdatum + ); + + await prisma.verbrauchsausweisGewerbe.update({ + where: { + id: ausweis.id + }, + data: { + bestellt: false, + ausgestellt: false, + ausstellungsdatum: null + } + }); + + // if (start >= limit) break; + start++; + } +} \ No newline at end of file diff --git a/src/testing/ausweise-vw-fix-ausgestellt.ts b/src/testing/ausweise-vw-fix-ausgestellt.ts new file mode 100644 index 00000000..9cd6bd7d --- /dev/null +++ b/src/testing/ausweise-vw-fix-ausgestellt.ts @@ -0,0 +1,37 @@ +import { Enums, prisma } from "#lib/server/prisma.js"; + +let start = 1; +let limit = 10; + +const existing_verbauchsausweiswohnen_list = await prisma.verbrauchsausweisWohnen.findMany({ + where: { + rechnung_id: null + } +}); + +for (const ausweis of existing_verbauchsausweiswohnen_list) { + if (ausweis.bestellt == true && ausweis.registriernummer == ""){ + console.log( + 'ID:' + ausweis.id + + ' Reg.Nr:' + ausweis.registriernummer + + ' Rechnung_id: ' + ausweis.rechnung_id + + ' Bestellt: ' + ausweis.bestellt + + ' Ausgestellt: ' + ausweis.ausgestellt + + ' Ausgestellt am: ' + ausweis.ausstellungsdatum + ); + + await prisma.verbrauchsausweisWohnen.update({ + where: { + id: ausweis.id + }, + data: { + bestellt: false, + ausgestellt: false, + ausstellungsdatum: null + } + }); + + // if (start >= limit) break; + start++; + } +} \ No newline at end of file From b8d37d4e384069ea719cfd07b2176bca911ef23b Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Sun, 13 Apr 2025 19:55:32 +0200 Subject: [PATCH 06/40] bestellt bei BW auf false wenn keine Rechnung und user nicht --- src/testing/ausweise-bw-fix-ausgestellt.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/testing/ausweise-bw-fix-ausgestellt.ts b/src/testing/ausweise-bw-fix-ausgestellt.ts index b2ba9299..00823580 100644 --- a/src/testing/ausweise-bw-fix-ausgestellt.ts +++ b/src/testing/ausweise-bw-fix-ausgestellt.ts @@ -10,7 +10,7 @@ const existing_bedarfsausweiswohnen_list = await prisma.bedarfsausweisWohnen.fin }); for (const ausweis of existing_bedarfsausweiswohnen_list) { - if (ausweis.bestellt == true && ausweis.registriernummer == ""){ + if (ausweis.bestellt == true && ausweis.benutzer_id != "USCTJ2VV"){ console.log( 'ID:' + ausweis.id + ' Reg.Nr:' + ausweis.registriernummer + From e86328b0c2874cd3565bd250cdbf0a171c3edb76 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Sun, 13 Apr 2025 20:07:50 +0200 Subject: [PATCH 07/40] VG . --- src/testing/ausweise-vg-fix-ausgestellt.ts | 2 +- src/testing/ausweise-vw-fix-ausgestellt.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/testing/ausweise-vg-fix-ausgestellt.ts b/src/testing/ausweise-vg-fix-ausgestellt.ts index fe3f7531..e22d84a2 100644 --- a/src/testing/ausweise-vg-fix-ausgestellt.ts +++ b/src/testing/ausweise-vg-fix-ausgestellt.ts @@ -10,7 +10,7 @@ const existing_verbauchsauweisgewerbe_list = await prisma.verbrauchsausweisGewer }); for (const ausweis of existing_verbauchsauweisgewerbe_list) { - if (ausweis.bestellt == true && ausweis.registriernummer == ""){ + if (ausweis.bestellt == true && ausweis.benutzer_id != "USCTJ2VV"){ console.log( 'ID:' + ausweis.id + ' Reg.Nr:' + ausweis.registriernummer + diff --git a/src/testing/ausweise-vw-fix-ausgestellt.ts b/src/testing/ausweise-vw-fix-ausgestellt.ts index 9cd6bd7d..f803ea57 100644 --- a/src/testing/ausweise-vw-fix-ausgestellt.ts +++ b/src/testing/ausweise-vw-fix-ausgestellt.ts @@ -10,7 +10,7 @@ const existing_verbauchsausweiswohnen_list = await prisma.verbrauchsausweisWohne }); for (const ausweis of existing_verbauchsausweiswohnen_list) { - if (ausweis.bestellt == true && ausweis.registriernummer == ""){ + if (ausweis.bestellt == true && ausweis.benutzer_id != "USCTJ2VV"){ console.log( 'ID:' + ausweis.id + ' Reg.Nr:' + ausweis.registriernummer + From 29d8e5e7b331fc612506184c8d01be863b95bc32 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Sun, 13 Apr 2025 21:53:59 +0200 Subject: [PATCH 08/40] . --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 40 +++++++++++----------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index 264f5c37..7b7444ce 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -122,7 +122,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe } // Kühlung - if (aufnahme.kuehlung) { + if (aufnahme.kuehlung === "1") { addCheckMark(pages[0], 213, height - 362.5) } else { addCheckMark(pages[0], 355, height - 373.5) @@ -428,7 +428,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe addCheckMark(pages[2], 41, height - 293) } - if (ausweis.kuehlung_enthalten) { + if (aufnahme.kuehlung === "1") { addCheckMark(pages[2], 41, height - 305) } @@ -547,7 +547,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe const addVerbrauch = addVerbrauchGenerator(); - if (!ausweis.warmwasser_enthalten) { + if (ausweis.warmwasser_enthalten) { // Mit Warmwasserzuschlag addVerbrauch( moment(ausweis.startdatum).format("MM.YYYY"), @@ -594,22 +594,22 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe // TODO - if (!ausweis.warmwasser_enthalten) { - /** - * Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m² - * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 - */ - addVerbrauch( - moment(ausweis.startdatum).format("MM.YYYY"), - moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"), - "Warmwasserzuschlag", - berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), - Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), - Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), - 0, - "0" - ); - } + // if (!ausweis.warmwasser_enthalten) { + // /** + // * Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m² + // * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 + // */ + // addVerbrauch( + // moment(ausweis.startdatum).format("MM.YYYY"), + // moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"), + // "Warmwasserzuschlag", + // berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), + // Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), + // Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), + // 0, + // "0" + // ); + // } if (aufnahme.leerstand && aufnahme.leerstand > 0) { /** @@ -641,7 +641,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe } } - if (aufnahme.kuehlung) { + if (aufnahme.kuehlung === "1") { /** * Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m² * Primärenergiefaktor Strom From 8b1e5df851b5a57e3060c4a39723354da5466d90 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Sun, 13 Apr 2025 23:07:36 +0200 Subject: [PATCH 09/40] kuehlung fix --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 132f1cc1..af769e7c 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -137,9 +137,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne // Kühlung if (aufnahme.kuehlung === "1") { addCheckMark(pages[0], 213, height - 375.5) - } else { - addCheckMark(pages[0], 355, height - 386.5) - } + } if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) { addCheckMark(pages[0], 213, height - 419) From cbddcf0968c7690d7ab178793f0688b9751272f4 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:01:42 +0200 Subject: [PATCH 10/40] =?UTF-8?q?Anzeige=20Nutzfl=C3=A4che=20gefixt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index af769e7c..3fa10b58 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -70,7 +70,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne size: 10 }) - pages[0].drawText(aufnahme.nutzflaeche?.toString() || "", { + pages[0].drawText(berechnungen?.energetischeNutzflaeche?.toString() || "", { x: 211, y: height - 285, size: 10 From e2490f2296e96e1eefdf5ef30b2acdc0ccbc552f Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:16:50 +0200 Subject: [PATCH 11/40] . --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 3fa10b58..3b63ce5d 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -167,7 +167,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne } // Nach 82 aus Wohnfläche ermittelt - if (aufnahme.flaeche == 0) { + if (aufnahme.nutzflaeche == 0) { addCheckMark(pages[0], 274, height - 277) } From 853fe54e3b72edac23e6c58a0ab0b0e4158604de Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:37:16 +0200 Subject: [PATCH 12/40] =?UTF-8?q?Kundenpr=C3=BCfung=20Anteil=20WW?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/KundendatenModule.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/KundendatenModule.svelte b/src/modules/KundendatenModule.svelte index dcd27407..6f6c5e7e 100644 --- a/src/modules/KundendatenModule.svelte +++ b/src/modules/KundendatenModule.svelte @@ -1016,7 +1016,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen} - {#if (ausweis.anteil_warmwasser_1 < 6) || (ausweis.anteil_warmwasser_1 > 40)} + {#if ((ausweis.anteil_warmwasser_1 < 6) && (ausweis.anteil_warmwasser_1 != 0)) || (ausweis.anteil_warmwasser_1 > 40)}
From 04dbd4adcdc63460c8e7dde15989b8bbb63dca08 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:50:08 +0200 Subject: [PATCH 13/40] . --- src/modules/KundendatenModule.svelte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/KundendatenModule.svelte b/src/modules/KundendatenModule.svelte index 6f6c5e7e..dcc639fd 100644 --- a/src/modules/KundendatenModule.svelte +++ b/src/modules/KundendatenModule.svelte @@ -1016,6 +1016,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if ausweisart === Enums.Ausweisart.VerbrauchsausweisWohnen} + {#if (ausweis.anteil_warmwasser_1 !== null)} {#if ((ausweis.anteil_warmwasser_1 < 6) && (ausweis.anteil_warmwasser_1 != 0)) || (ausweis.anteil_warmwasser_1 > 40)}
@@ -1024,6 +1025,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
{/if} + {/if} {/if} {#if ausweisart === Enums.Ausweisart.BedarfsausweisWohnen} From 15f94c7752f2fcda0f30aecd54f5c2c52fa33a4b Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:21:18 +0200 Subject: [PATCH 14/40] =?UTF-8?q?K=C3=BChlungszuschlag=20bei=20K=C3=BChlun?= =?UTF-8?q?g=20vorhanden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VerbrauchsausweisGewerbe_2016.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts index 65eafb1f..62fee541 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts @@ -108,7 +108,13 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: } let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0; - if (aufnahme.kuehlung === "1") { + if (aufnahme.kuehlung === "1" && aufnahme.kuehlung !== null) { + + kuehlungsZuschlag_1 = 6 * nutzflaeche * 3; + } + if (ausweis.kuehlung_enthalten && ausweis.kuehlung_enthalten !== null)) + { + kuehlungsZuschlag_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_kuehlung_1 || 0) / 100); kuehlungsZuschlag_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_kuehlung_2 || 0) / 100); } From 606b851661b7d153936e5703cce93f2a8d30f7dd Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:26:23 +0200 Subject: [PATCH 15/40] . --- .../VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts index 62fee541..2e846dad 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts @@ -112,7 +112,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: kuehlungsZuschlag_1 = 6 * nutzflaeche * 3; } - if (ausweis.kuehlung_enthalten && ausweis.kuehlung_enthalten !== null)) + if (ausweis.kuehlung_enthalten && ausweis.kuehlung_enthalten !== null) { kuehlungsZuschlag_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_kuehlung_1 || 0) / 100); From eb72b600b484e5aa55092746db78e52c7d558b1d Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:38:10 +0200 Subject: [PATCH 16/40] . --- .../VerbrauchsausweisGewerbe_2016.ts | 5 +++-- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts index 2e846dad..d45dd227 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts @@ -107,10 +107,10 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: energieVerbrauchWarmwasser_2 = 0; } - let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0; + let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0; let kuehlungsZuschlag = 0; if (aufnahme.kuehlung === "1" && aufnahme.kuehlung !== null) { - kuehlungsZuschlag_1 = 6 * nutzflaeche * 3; + kuehlungsZuschlag = 6 * nutzflaeche * 3; } if (ausweis.kuehlung_enthalten && ausweis.kuehlung_enthalten !== null) { @@ -186,6 +186,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: brennstoff_2, kuehlungsZuschlag_1 : Math.round(kuehlungsZuschlag_1), kuehlungsZuschlag_2: Math.round(kuehlungsZuschlag_2), + kuehlungsZuschlag: Math.round(kuehlungsZuschlag), durchschnittsKlimafaktor : Math.round(durchschnittsKlimafaktor * 100) / 100, Klimafaktor_1 : klimafaktoren[0], Klimafaktor_2 : klimafaktoren[1], diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index 7b7444ce..2ae5bad9 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -654,7 +654,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe "", // TODO // berechnungen?.primaerfaktorww.toString(), - Math.round(berechnungen?.kuehlungsZuschlag_1 || 0).toString(), + Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(), "0", 0, "" From 2b8ebcf182c84a0cf6f33e218f26284fff2e92d6 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:41:31 +0200 Subject: [PATCH 17/40] . --- .../VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts index d45dd227..377852ce 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts @@ -174,7 +174,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: let co2EmissionenKuehlungsZuschlag_1 = endEnergieVerbrauchKuehlungsZuschlag_1 * brennstoff_1.coe; let co2EmissionenKuehlungsZuschlag_2 = endEnergieVerbrauchKuehlungsZuschlag_2 * brennstoff_2.coe; - let endEnergieVerbrauchGesamt = endEnergieVerbrauch_1 + endEnergieVerbrauch_2 + endEnergieVerbrauchLeerstandsZuschlag; + let endEnergieVerbrauchGesamt = endEnergieVerbrauch_1 + endEnergieVerbrauch_2 + endEnergieVerbrauchLeerstandsZuschlag + kuehlungsZuschlag; let primaerEnergieVerbrauchGesamt = primaerEnergieVerbrauch_1 + primaerEnergieVerbrauch_2 + primaerEnergieVerbrauchLeerstandsZuschlag + primaerEnergieVerbrauchStrom; let co2EmissionenGesamt = co2Emissionen_1 + co2Emissionen_2 + co2EmissionenLeerstandsZuschlag + co2EmissionenStrom; From a7427c3462d95f87c34f80b0480f8c06ce7fa434 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 10:45:58 +0200 Subject: [PATCH 18/40] . --- .../VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts index 377852ce..2a2a6ce2 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts @@ -174,7 +174,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: let co2EmissionenKuehlungsZuschlag_1 = endEnergieVerbrauchKuehlungsZuschlag_1 * brennstoff_1.coe; let co2EmissionenKuehlungsZuschlag_2 = endEnergieVerbrauchKuehlungsZuschlag_2 * brennstoff_2.coe; - let endEnergieVerbrauchGesamt = endEnergieVerbrauch_1 + endEnergieVerbrauch_2 + endEnergieVerbrauchLeerstandsZuschlag + kuehlungsZuschlag; + let endEnergieVerbrauchGesamt = endEnergieVerbrauch_1 + endEnergieVerbrauch_2 + endEnergieVerbrauchLeerstandsZuschlag + (kuehlungsZuschlag / (3 * nutzflaeche)); let primaerEnergieVerbrauchGesamt = primaerEnergieVerbrauch_1 + primaerEnergieVerbrauch_2 + primaerEnergieVerbrauchLeerstandsZuschlag + primaerEnergieVerbrauchStrom; let co2EmissionenGesamt = co2Emissionen_1 + co2Emissionen_2 + co2EmissionenLeerstandsZuschlag + co2EmissionenStrom; From 7b5b272c17f5a27961fde97622198275f0e2892a Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:00:02 +0200 Subject: [PATCH 19/40] . --- .../VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts index 7118c5cb..6831c282 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts @@ -90,7 +90,7 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016( energieVerbrauchWarmwasser_2 = 0; } else { // Wenn Warmwasser Anteil unbekannt und **kein** Solarsystem - energieVerbrauchWarmwasser_1 = energetischeNutzflaeche * 20 * 3; + energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * 0.05; energieVerbrauchWarmwasser_2 = 0; } } From 0d9675fb3522e31879eb43e8b0d54be99714b533 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:21:18 +0200 Subject: [PATCH 20/40] . --- .../VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts | 2 +- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts index 6831c282..7118c5cb 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts @@ -90,7 +90,7 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016( energieVerbrauchWarmwasser_2 = 0; } else { // Wenn Warmwasser Anteil unbekannt und **kein** Solarsystem - energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * 0.05; + energieVerbrauchWarmwasser_1 = energetischeNutzflaeche * 20 * 3; energieVerbrauchWarmwasser_2 = 0; } } diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index 2ae5bad9..ec2904cc 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -555,7 +555,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe ausweis.brennstoff_1 || "", berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(), - "0", + Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), berechnungen?.endEnergieVerbrauchKuehlungsZuschlag_1, Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(), berechnungen?.durchschnittsKlimafaktor.toString(), From 9d9fdebf3ad4e6080a160e729a60310fc06e47bd Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:29:30 +0200 Subject: [PATCH 21/40] . --- .../VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts index 2a2a6ce2..117e8359 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016.ts @@ -85,13 +85,13 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis: let energieVerbrauchWarmwasser_1 = 0; let energieVerbrauchWarmwasser_2 = 0; - if (ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1 != 0) { + if (ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1 != 0 && ausweis.anteil_warmwasser_1 !== null) { // Wenn Warmwasser enthalten und Anteil bekannt energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_warmwasser_1 || 0) / 100); energieVerbrauchWarmwasser_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_warmwasser_2 || 0) / 100); - } else if (ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1 == 0){ + } else if (ausweis.warmwasser_enthalten && (ausweis.anteil_warmwasser_1 == 0 || ausweis.anteil_warmwasser_1 === null)) { if (aufnahme.gebaeudetyp == "Krankenhäuser (ohne Forschung und Lehre)" || aufnahme.gebaeudetyp == "Krankenhäuser (ohne Forschung und Lehre) & teilstationäre Versorgung" || aufnahme.gebaeudetyp == "Schwimmhallen") { energieVerbrauchWarmwasser_1 = energieVerbrauchGesamt_1 * 0.5; energieVerbrauchWarmwasser_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_warmwasser_2 || 0) / 100); From 2bb2bd74dbf75923e505f81809d81531cd7a317f Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:41:36 +0200 Subject: [PATCH 22/40] =?UTF-8?q?Nutzfl=C3=A4che=20gerundet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 3b63ce5d..a8b01b4a 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -70,7 +70,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne size: 10 }) - pages[0].drawText(berechnungen?.energetischeNutzflaeche?.toString() || "", { + pages[0].drawText(Math.round(berechnungen?.energetischeNutzflaeche || 0).toString() || "", { x: 211, y: height - 285, size: 10 From e55388e4b765a799b5792104b0d2d57c578c7e4c Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:06:50 +0200 Subject: [PATCH 23/40] . --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index a8b01b4a..9afbdb7d 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -75,6 +75,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne y: height - 285, size: 10 }) + pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { x: 211, From f4e6b7baf8a63d45af7e47894af210b410554757 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:07:55 +0200 Subject: [PATCH 24/40] dashboard layout --- src/layouts/DashboardLayout.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/DashboardLayout.astro b/src/layouts/DashboardLayout.astro index 5a4ccece..801bc428 100644 --- a/src/layouts/DashboardLayout.astro +++ b/src/layouts/DashboardLayout.astro @@ -1,5 +1,5 @@ --- -// import "svelte-ripple-action/ripple.css"; +// import "svelte-ripple-action/ripple.css"; import "../style/global.css"; import "../../svelte-dialogs.config.js"; import DashboardSidebar from "../components/Dashboard/DashboardSidebar.svelte"; From 5081f7057075202a8c33c5ad23c73c69c46d443a Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Mon, 14 Apr 2025 17:10:41 +0200 Subject: [PATCH 25/40] =?UTF-8?q?H=C3=B6he=20Dashboard=20full?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/DashboardLayout.astro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/layouts/DashboardLayout.astro b/src/layouts/DashboardLayout.astro index 801bc428..2aca69c2 100644 --- a/src/layouts/DashboardLayout.astro +++ b/src/layouts/DashboardLayout.astro @@ -124,7 +124,7 @@ let lightTheme = Astro.cookies.get("theme")?.value === "light"; client:load /> -
+
From 7130b6ba65aca8b0b02c69b5d543c7065e231f82 Mon Sep 17 00:00:00 2001 From: Carl Mahnke Date: Tue, 15 Apr 2025 13:36:19 +0200 Subject: [PATCH 26/40] Verbrauchsausweis Gewerbe ausstellen --- src/astro-typesafe-api-caller.ts | 2 +- src/pages/api/admin/ausstellen.ts | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index 38dbbbd9..bad30554 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -35,9 +35,9 @@ export const createCaller = createCallerFactory({ "user/self": await import("../src/pages/api/user/self.ts"), "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), + "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), - "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), "aufnahme/[id]/bilder": await import("../src/pages/api/aufnahme/[id]/bilder.ts"), "aufnahme/[id]": await import("../src/pages/api/aufnahme/[id]/index.ts"), "aufnahme/[id]/unterlagen": await import("../src/pages/api/aufnahme/[id]/unterlagen.ts"), diff --git a/src/pages/api/admin/ausstellen.ts b/src/pages/api/admin/ausstellen.ts index 4dcfe4ab..821e719f 100644 --- a/src/pages/api/admin/ausstellen.ts +++ b/src/pages/api/admin/ausstellen.ts @@ -67,9 +67,11 @@ export const GET = defineApiRoute({ const rechnung = await prisma.rechnung.findFirst({ where: { - verbrauchsausweis_wohnen: { - id: id_ausweis, - }, + OR: [ + { bedarfsausweis_wohnen: { id: id_ausweis } }, + { verbrauchsausweis_wohnen: { id: id_ausweis } }, + { verbrauchsausweis_gewerbe: { id: id_ausweis } } + ] }, orderBy: { erstellt_am: "desc", From 417009fd6e72856e54159793562691c66833cf7c Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 15 Apr 2025 17:08:34 +0200 Subject: [PATCH 27/40] PDF Verbrauchsausweis Anzeige gefixt --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 8 ++++---- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index ec2904cc..be0942dd 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -200,10 +200,10 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe // Aussteller const aussteller = await pdf.embedPng(fs.readFileSync(new URL("../../../public/pdf/images/aussteller.png", import.meta.url), "base64")); pages[0].drawImage(aussteller, { - x: 40, - y: height - 750, - width: 100, - height: 50 + x: 260, + y: height - 755, + width: 130, + height: 65 }) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 9afbdb7d..0f70a236 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -211,10 +211,10 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne const aussteller = await pdf.embedPng(fs.readFileSync(new URL("../../../public/pdf/images/aussteller.png", import.meta.url), "base64")); pages[0].drawImage(aussteller, { - x: 40, - y: height - 770, - width: 100, - height: 50 + x: 260, + y: height - 775, + width: 130, + height: 65 }) From c583229cc8cfb1fd4cd3056f5fd31d23b0b49705 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 15 Apr 2025 17:39:52 +0200 Subject: [PATCH 28/40] PDF Anzeige --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 1 + src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index be0942dd..dd2b0b1e 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -11,6 +11,7 @@ import { getS3File } from "#lib/s3.js"; import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016_Server } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016_Server.js"; + export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) { const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Nichtwohngebaeude.pdf", import.meta.url), "base64"); const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 0f70a236..14c1e6f8 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -12,6 +12,7 @@ import { endEnergieVerbrauchVerbrauchsausweis_2016_Server } from "#lib/Berechnun /* -------------------------------- Pdf Tools ------------------------------- */ + export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) { const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Wohngebaeude_ohne_pfeile.pdf", import.meta.url), "base64"); const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF) From cdfdb6c0014302632e0732cb049d64f39a01694f Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 15 Apr 2025 17:49:58 +0200 Subject: [PATCH 29/40] PDF gefixt !! --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 187 +++++++++++++++------ src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 187 ++++++++++++++------- 2 files changed, 266 insertions(+), 108 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index dd2b0b1e..3f703eda 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -4,14 +4,12 @@ import { Enums } from "#lib/server/prisma.js"; import * as fs from "fs" 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, addRegistriernummer } from "./utils/helpers.js"; import { getS3File } from "#lib/s3.js"; import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016_Server } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016_Server.js"; - export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) { const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Nichtwohngebaeude.pdf", import.meta.url), "base64"); const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF) @@ -104,7 +102,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe }) if (ausweis.warmwasser_enthalten) { - pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { + pages[3].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { x: 211, y: height - 299, size: 10 @@ -113,30 +111,73 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe 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) { - 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) { - 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) { - addCheckMark(pages[0], 355, height - 345) + pages[0].drawText("x", { + x: 356, + y: height - 353, + size: 10, + font: bold + }) } // Kühlung - if (aufnahme.kuehlung === "1") { - addCheckMark(pages[0], 213, height - 362.5) - } else { - addCheckMark(pages[0], 355, height - 373.5) + if (aufnahme.kuehlung === "1" && aufnahme.kuehlung !== null) { + pages[0].drawText("x", { + x: 356, + y: height - 370.5, + size: 10, + font: bold + }) } 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) { - 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) { - 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) { - addCheckMark(pages[0], 463, height - 417) + pages[0].drawText("x", { + x: 464, + y: height - 425, + size: 10, + font: bold + }) } // Aushangpflicht // addCheckMark(pages[0], 463, height - 406) @@ -162,11 +203,21 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe } } - // Checkmark Angabe energetische Qualität des Gebäudes. - addCheckMark(pages[0], 40, height - 550) + // Checkmark Verbrauchsausweis. + pages[0].drawText("x", { + x: 41, + y: height - 558, + size: 10, + font: bold + }) // Datenerhebung durch Eigentümer - addCheckMark(pages[0], 295, height - 580) + pages[0].drawText("x", { + x: 296.5, + y: height - 587.5, + size: 10, + font: bold + }) // Ausstellungsdatum pages[0].drawText(moment().format("DD.MM.YYYY"), { @@ -187,7 +238,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe // Stempel und Unterschrift if (ausweis.ausgestellt || !vorschau) { const stempel = await pdf.embedPng(fs.readFileSync(new URL("../../../public/pdf/images/stempel-unterschrift.png", import.meta.url), "base64")); - const stempelHeight = 60 + const stempelHeight = 65 pages[0].drawImage(stempel, { x: 450, @@ -426,35 +477,75 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe addEnergieverbrauchSkalaPfeile(pages[2]) if (ausweis.warmwasser_enthalten) { - addCheckMark(pages[2], 41, height - 293) + pages[2].drawText("x", { + x: 42, + y: height - 301, + size: 10, + font: bold + }) } - if (aufnahme.kuehlung === "1") { - addCheckMark(pages[2], 41, height - 305) + if (ausweis.kuehlung_enthalten) { + pages[2].drawText("x", { + x: 42, + y: height - 313, + size: 10, + font: bold + }) } if (ausweis.stromverbrauch_enthaelt_heizung) { - addCheckMark(pages[2], 41, height - 456) + pages[2].drawText("x", { + x: 42, + y: height - 464, + size: 10, + font: bold + }) } if (ausweis.stromverbrauch_enthaelt_warmwasser) { - addCheckMark(pages[2], 131, height - 456) + pages[2].drawText("x", { + x: 132, + y: height - 464, + size: 10, + font: bold + }) } if (ausweis.stromverbrauch_enthaelt_lueftung) { - addCheckMark(pages[2], 218, height - 456) + pages[2].drawText("x", { + x: 219, + y: height - 464, + size: 10, + font: bold + }) } if (ausweis.stromverbrauch_enthaelt_beleuchtung) { - addCheckMark(pages[2], 281, height - 456) + pages[2].drawText("x", { + x: 282, + y: height - 464, + size: 10, + font: bold + }) } if (ausweis.stromverbrauch_enthaelt_kuehlung) { - addCheckMark(pages[2], 422, height - 456) + pages[2].drawText("x", { + x: 423, + y: height - 464, + size: 10, + font: bold + }) } if (ausweis.stromverbrauch_enthaelt_sonstige) { - addCheckMark(pages[2], 492, height - 456) + pages[2].drawText("x", { + x: 493, + y: height - 464, + size: 10, + font: bold + }) } addText(pages[2], berechnungen?.primaerEnergieVerbrauchGesamt.toString() || "", 475, height - 637, 10, font) @@ -548,7 +639,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe const addVerbrauch = addVerbrauchGenerator(); - if (ausweis.warmwasser_enthalten) { + if (!ausweis.warmwasser_enthalten) { // Mit Warmwasserzuschlag addVerbrauch( moment(ausweis.startdatum).format("MM.YYYY"), @@ -556,7 +647,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe ausweis.brennstoff_1 || "", berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(), - Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), + "0", berechnungen?.endEnergieVerbrauchKuehlungsZuschlag_1, Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(), berechnungen?.durchschnittsKlimafaktor.toString(), @@ -595,22 +686,22 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe // TODO - // if (!ausweis.warmwasser_enthalten) { - // /** - // * Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m² - // * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 - // */ - // addVerbrauch( - // moment(ausweis.startdatum).format("MM.YYYY"), - // moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"), - // "Warmwasserzuschlag", - // berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), - // Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), - // Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), - // 0, - // "0" - // ); - // } + if (!ausweis.warmwasser_enthalten) { + /** + * Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m² + * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 + */ + addVerbrauch( + moment(ausweis.startdatum).format("MM.YYYY"), + moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"), + "Warmwasserzuschlag", + berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), + Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), + Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), + 0, + "0" + ); + } if (aufnahme.leerstand && aufnahme.leerstand > 0) { /** @@ -642,7 +733,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe } } - if (aufnahme.kuehlung === "1") { + if (aufnahme.kuehlung) { /** * Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m² * Primärenergiefaktor Strom @@ -655,7 +746,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe "", // TODO // berechnungen?.primaerfaktorww.toString(), - Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(), + Math.round(berechnungen?.kuehlungsZuschlag_1 || 0).toString(), "0", 0, "" diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 14c1e6f8..5c684ff3 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -4,7 +4,6 @@ import { Enums } from "#lib/server/prisma.js"; import * as fs from "fs" 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, addRegistriernummer } from "./utils/helpers.js"; import { getS3File } from "#lib/s3.js"; @@ -12,7 +11,6 @@ import { endEnergieVerbrauchVerbrauchsausweis_2016_Server } from "#lib/Berechnun /* -------------------------------- Pdf Tools ------------------------------- */ - export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) { const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Wohngebaeude_ohne_pfeile.pdf", import.meta.url), "base64"); const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF) @@ -29,6 +27,18 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne const font = await pdf.embedFont(StandardFonts.Helvetica) const bold = await pdf.embedFont(StandardFonts.HelveticaBold) + + 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 || "") + } + } + pages[0].drawText(`ID: ${ausweis.id || ""}`, { x: 211, y: height - 112.5, @@ -41,6 +51,23 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne size: 10 }) + const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude); + + if (bild) { + const file = await getS3File("ibc-images", `${bild.id}.jpg`); + + if (file) { + let image: PDFImage; + image = await pdf.embedJpg(file) + pages[0].drawImage(image, { + x: 460.5, + y: height - 289, + width: 111, + height: 138 + }) + } + } + pages[0].drawText(objekt.adresse || "", { x: 211, y: height - 194, @@ -76,7 +103,16 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne y: height - 285, size: 10 }) - + + // Nach 82 aus Wohnfläche ermittelt + if (aufnahme.nutzflaeche == 0) { + pages[0].drawText("x", { + x: 275, + y: height - 285, + size: 10, + font: bold + }) + } pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { x: 211, @@ -84,6 +120,14 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne size: 10 }) + if (ausweis.warmwasser_enthalten) { + pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { + x: 211, + y: height - 299, + size: 10 + }) + } + if (ausweis.warmwasser_enthalten) { pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { x: 211, @@ -93,6 +137,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne } + const erneuerbareEnergienVerwendung = [] if (ausweis.alternative_heizung) { @@ -117,67 +162,98 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne size: 8 }) - if (ausweis.warmwasser_enthalten) { - pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, { - x: 211, - y: height - 299, - size: 10 - }) - } - - if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) { - addCheckMark(pages[0], 213, height - 347) + pages[0].drawText("x", { + x: 214, + y: height - 293, + size: 10, + font: bold + }) } else if (aufnahme.lueftung === Enums.Lueftungskonzept.Schachtlueftung) { - addCheckMark(pages[0], 213, height - 358) + pages[0].drawText("x", { + x: 214, + y: height - 366, + size: 10, + font: bold + }) } else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung) { - addCheckMark(pages[0], 355, height - 347) + pages[0].drawText("x", { + x: 356, + y: height - 355, + size: 10, + font: bold + }) } else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung) { - addCheckMark(pages[0], 355, height - 358) + pages[0].drawText("x", { + x: 356, + y: height - 366, + size: 10, + font: bold + }) } // Kühlung if (aufnahme.kuehlung === "1") { - addCheckMark(pages[0], 213, height - 375.5) - } + pages[0].drawText("x", { + x: 213, + y: height - 383.5, + size: 10, + font: bold + }) + } else { + pages[0].drawText("x", { + x: 356, + y: height - 394.5, + size: 10, + font: bold + }) + } if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) { - addCheckMark(pages[0], 213, height - 419) + pages[0].drawText("x", { + x: 214, + y: height - 427, + size: 10, + font: bold + }) } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung || ausweis.ausstellgrund === Enums.Ausstellgrund.Verkauf) { - addCheckMark(pages[0], 213, height - 430) + pages[0].drawText("x", { + x: 214, + y: height - 438, + size: 10, + font: bold + }) } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Modernisierung) { - addCheckMark(pages[0], 344.5, height - 419) + pages[0].drawText("x", { + x: 345.5, + y: height - 427, + size: 10, + font: bold + }) } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Sonstiges) { - addCheckMark(pages[0], 463, height - 419) + pages[0].drawText("x", { + x: 464, + y: height - 427, + size: 10, + font: bold + }) } - const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude); - - if (bild) { - const file = await getS3File("ibc-images", `${bild.id}.jpg`); - - if (file) { - let image: PDFImage; - image = await pdf.embedJpg(file) - pages[0].drawImage(image, { - x: 460.5, - y: height - 289, - width: 111, - height: 138 - }) - } - } - - // Nach 82 aus Wohnfläche ermittelt - if (aufnahme.nutzflaeche == 0) { - addCheckMark(pages[0], 274, height - 277) - } - - // Checkmark Angabe energetische Qualität des Gebäudes. - addCheckMark(pages[0], 43, height - 560) + // Checkmark Angabe Verbrauchsausweis + pages[0].drawText("x", { + x: 44, + y: height - 568, + size: 10, + font: bold + }) // Datenerhebung durch Eigentümer - addCheckMark(pages[0], 298, height - 590) + pages[0].drawText("x", { + x: 299, + y: height - 598, + size: 10, + font: bold + }) // Ausstellungsdatum pages[0].drawText(moment().format("DD.MM.YYYY"), { @@ -198,7 +274,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne // Stempel und Unterschrift if (!vorschau) { const stempel = await pdf.embedPng(fs.readFileSync(new URL("../../../public/pdf/images/stempel-unterschrift.png", import.meta.url), "base64")); - const stempelHeight = 60 + const stempelHeight = 65 pages[0].drawImage(stempel, { x: 450, @@ -326,7 +402,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne } } - addEnergieverbrauchSkalaPfeile(pages[2]) + // CO2 Emissionen pages[2].drawText(berechnungen?.co2EmissionenGesamt.toString() || "", { @@ -336,6 +412,8 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne size: 10 }) + addEnergieverbrauchSkalaPfeile(pages[2]) + // Endenergieverbrauch pages[2].drawText(berechnungen?.endEnergieVerbrauchGesamt.toString() || "", { x: 455, @@ -593,16 +671,5 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne addEmpfehlung(empfehlung.anlagenteil, empfehlung.description, true, empfehlung.amortisationszeit, empfehlung.kosten) } - 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(); } \ No newline at end of file From 66e596bb574fd81afe4ff072c1284cef9ef2a1c7 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 15 Apr 2025 18:12:22 +0200 Subject: [PATCH 30/40] =?UTF-8?q?Nochmal=20Zuschlag=20K=C3=BChlung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 42 +++++++++++----------- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 1 - 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index 3f703eda..663682c3 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -639,7 +639,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe const addVerbrauch = addVerbrauchGenerator(); - if (!ausweis.warmwasser_enthalten) { + if (ausweis.warmwasser_enthalten) { // Mit Warmwasserzuschlag addVerbrauch( moment(ausweis.startdatum).format("MM.YYYY"), @@ -647,7 +647,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe ausweis.brennstoff_1 || "", berechnungen?.brennstoff_1.primaerenergiefaktor.toString(), Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(), - "0", + Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(), berechnungen?.endEnergieVerbrauchKuehlungsZuschlag_1, Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(), berechnungen?.durchschnittsKlimafaktor.toString(), @@ -733,25 +733,25 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe } } - if (aufnahme.kuehlung) { - /** - * Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m² - * Primärenergiefaktor Strom - * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 - */ - addVerbrauch( - moment(ausweis.startdatum).format("MM.YYYY"), - moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"), - "Kühlungszuschlag", - "", - // TODO - // berechnungen?.primaerfaktorww.toString(), - Math.round(berechnungen?.kuehlungsZuschlag_1 || 0).toString(), - "0", - 0, - "" - ); - } + if (aufnahme.kuehlung === "1") { + /** + * Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m² + * Primärenergiefaktor Strom + * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 + */ + addVerbrauch( + moment(ausweis.startdatum).format("MM.YYYY"), + moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"), + "Kühlungszuschlag", + "", + // TODO + // berechnungen?.primaerfaktorww.toString(), + Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(), + "0", + 0, + "" + ); + } /* -------------------------------- Seite 4 -------------------------------- */ diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 5c684ff3..67c15e12 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -137,7 +137,6 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne } - const erneuerbareEnergienVerwendung = [] if (ausweis.alternative_heizung) { From bf3107d3b754834c825e5fd4b6fd9808f7cf36d5 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 15 Apr 2025 18:24:28 +0200 Subject: [PATCH 31/40] =?UTF-8?q?K=C3=BChlungszuschlag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index 663682c3..ef7b4e87 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -686,7 +686,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe // TODO - if (!ausweis.warmwasser_enthalten) { + if (ausweis.warmwasser_enthalten) { /** * Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m² * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2 @@ -746,9 +746,9 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe "", // TODO // berechnungen?.primaerfaktorww.toString(), - Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(), - "0", - 0, + "", + "", + Math.round(berechnungen?.kuehlungsZuschlag || 0), "" ); } From 02761610d16ed2085ce58d8f03657e7279d07590 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 15 Apr 2025 20:37:14 +0200 Subject: [PATCH 32/40] Korrektur Kreuz --- src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts | 2 +- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index ef7b4e87..312c3f3a 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -157,7 +157,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe size: 10, font: bold }) - } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung) { + } else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung || ausweis.ausstellgrund === Enums.Ausstellgrund.Verkauf) { pages[0].drawText("x", { x: 214, y: height - 425, diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 67c15e12..582269e1 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -164,7 +164,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) { pages[0].drawText("x", { x: 214, - y: height - 293, + y: height - 355, size: 10, font: bold }) From bf6d8f47e70d946492d6540139b84584e004ea32 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:12:47 +0200 Subject: [PATCH 33/40] =?UTF-8?q?K=C3=BChlung=20repariert=20VWBWTKEN9TR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 582269e1..4fa45c19 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -193,16 +193,9 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne // Kühlung if (aufnahme.kuehlung === "1") { - pages[0].drawText("x", { - x: 213, - y: height - 383.5, - size: 10, - font: bold - }) - } else { pages[0].drawText("x", { x: 356, - y: height - 394.5, + y: height - 383.5, size: 10, font: bold }) From 935fbfba781701fcfa8a073adfa665ed8f12a5ec Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Wed, 16 Apr 2025 17:34:48 +0200 Subject: [PATCH 34/40] Firma in Adresse --- src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts index 4c7d1ab1..9afa1bcf 100644 --- a/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts @@ -35,6 +35,7 @@ export async function pdfDatenblattVerbrauchsausweisWohnen(ausweis: Verbrauchsau const marginY = 150; benutzer = benutzer || { + firma: "Max Mustermann GmbH", vorname: "Max", name: "Mustermann", adresse: "Musterstraße 123", @@ -53,7 +54,7 @@ export async function pdfDatenblattVerbrauchsausweisWohnen(ausweis: Verbrauchsau const id = ausweis.id; const layout = xml2pdf(` - ${benutzer.vorname} ${benutzer.name} + ${benutzer.firma} ${benutzer.adresse} ${benutzer.plz} ${benutzer.ort} From b0828592c506e08c9e8ad08eedf77629eae01af7 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 00:52:09 +0200 Subject: [PATCH 35/40] =?UTF-8?q?Filter=20nur=20bestellte=20Ausweise=20und?= =?UTF-8?q?=20nicht=20ausgestellte=20im=20Dashboard=20=20f=C3=BCr=20Admins?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/dashboard/objekte/[page].astro | 190 +++++++++++++++-------- 1 file changed, 129 insertions(+), 61 deletions(-) diff --git a/src/pages/dashboard/objekte/[page].astro b/src/pages/dashboard/objekte/[page].astro index 455ca2a0..b831e143 100644 --- a/src/pages/dashboard/objekte/[page].astro +++ b/src/pages/dashboard/objekte/[page].astro @@ -23,70 +23,138 @@ const totalPages = await prisma.objekt.count({ } : {} }) -const objekte = await prisma.objekt.findMany({ - where: user.rolle === Enums.BenutzerRolle.USER ? { - benutzer: { - id: user.id +let objekte = [] +if (id) { + objekte = await prisma.objekt.findMany({ + where: user.rolle === Enums.BenutzerRolle.USER ? { + benutzer: { + id: user.id + }, + } : { + ...(id ? { + OR: [ + { + aufnahmen: { + every: { + verbrauchsausweise_gewerbe: { + some: { + id: { + contains: id + } + } + }, + } + } + }, + { + aufnahmen: { + every: { + verbrauchsausweise_wohnen: { + some: { + id: { + contains: id + } + } + }, + } + } + }, + { + aufnahmen: { + every: { + bedarfsausweise_wohnen: { + some: { + id: { + contains: id + } + } + }, + } + } + },]} : {}) }, - } : { - ...(id ? {OR: [ - { - aufnahmen: { - every: { - verbrauchsausweise_gewerbe: { - some: { - id: { - contains: id - } - } - }, - } + orderBy: { + erstellungsdatum: "desc" + }, + include: { + aufnahmen: { + include: { + bilder: true, + unterlagen: true, + bedarfsausweise_wohnen: true, + verbrauchsausweise_gewerbe: true, + verbrauchsausweise_wohnen: true } - }, - { - aufnahmen: { - every: { - verbrauchsausweise_wohnen: { - some: { - id: { - contains: id - } - } - }, - } - } - }, - { - aufnahmen: { - every: { - bedarfsausweise_wohnen: { - some: { - id: { - contains: id - } - } - }, - } - } - },]} : {}) - }, - orderBy: { - erstellungsdatum: "desc" - }, - include: { - aufnahmen: { - include: { - bilder: true, - unterlagen: true, - bedarfsausweise_wohnen: true, - verbrauchsausweise_gewerbe: true, - verbrauchsausweise_wohnen: true } - } - }, - take: 25, - skip: (page - 1) * 25 -}) + }, + take: 25, + skip: (page - 1) * 25 + }) +} else { + objekte = await prisma.objekt.findMany({ + where: user.rolle === Enums.BenutzerRolle.USER ? { + benutzer: { + id: user.id + }, + } : { + OR: [ + { + aufnahmen: { + every: { + verbrauchsausweise_gewerbe: { + some: { + ausgestellt: false, + bestellt: true + } + }, + } + } + }, + { + aufnahmen: { + every: { + verbrauchsausweise_wohnen: { + some: { + ausgestellt: false, + bestellt: true + } + }, + } + } + }, + { + aufnahmen: { + every: { + bedarfsausweise_wohnen: { + some: { + ausgestellt: false, + bestellt: true + } + }, + } + } + }] + }, + orderBy: { + erstellungsdatum: "desc" + }, + include: { + aufnahmen: { + include: { + bilder: true, + unterlagen: true, + bedarfsausweise_wohnen: true, + verbrauchsausweise_gewerbe: true, + verbrauchsausweise_wohnen: true + } + } + }, + take: 25, + skip: (page - 1) * 25 + }) +} + + --- From b1b95159fad2be8e17e3542390abb6e613f13ea2 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:20:18 +0200 Subject: [PATCH 36/40] =?UTF-8?q?plz=20und=20ort=20in=20Ausweis=20pdf=20ei?= =?UTF-8?q?ngef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 4fa45c19..bd6914e4 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -67,8 +67,8 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne }) } } - - pages[0].drawText(objekt.adresse || "", { + const volleAdresse = `${objekt.adresse || ""}\n${objekt.plz || ""} ${objekt.ort || ""}`; + pages[0].drawText(volleAdresse, { x: 211, y: height - 194, size: 10 From 183178f9430eb25dd957c99aa3f2d47f9bf67e9c Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:30:16 +0200 Subject: [PATCH 37/40] . --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 27 ++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index bd6914e4..4e6d35c6 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -11,6 +11,7 @@ import { endEnergieVerbrauchVerbrauchsausweis_2016_Server } from "#lib/Berechnun /* -------------------------------- Pdf Tools ------------------------------- */ + export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) { const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Wohngebaeude_ohne_pfeile.pdf", import.meta.url), "base64"); const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF) @@ -67,10 +68,18 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne }) } } - const volleAdresse = `${objekt.adresse || ""}\n${objekt.plz || ""} ${objekt.ort || ""}`; - pages[0].drawText(volleAdresse, { + + pages[0].drawText(objekt.adresse || "", { x: 211, - y: height - 194, + y: height - 184, + size: 10 + }) + + + const plzOrt = `${objekt.plz || ""} ${objekt.ort || ""}` + pages[0].drawText(plzOrt || "", { + x: 211, + y: height - 204, size: 10 }) @@ -137,6 +146,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne } + const erneuerbareEnergienVerwendung = [] if (ausweis.alternative_heizung) { @@ -164,7 +174,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) { pages[0].drawText("x", { x: 214, - y: height - 355, + y: height - 293, size: 10, font: bold }) @@ -194,11 +204,18 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne // Kühlung if (aufnahme.kuehlung === "1") { pages[0].drawText("x", { - x: 356, + x: 213, y: height - 383.5, size: 10, font: bold }) + } else { + pages[0].drawText("x", { + x: 356, + y: height - 394.5, + size: 10, + font: bold + }) } if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) { From 2c1945584d5f84abe57d0cf54d4e63bddc87fb3b Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:36:49 +0200 Subject: [PATCH 38/40] . --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 4e6d35c6..74c860be 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -71,7 +71,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne pages[0].drawText(objekt.adresse || "", { x: 211, - y: height - 184, + y: height - 189, size: 10 }) @@ -79,7 +79,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne const plzOrt = `${objekt.plz || ""} ${objekt.ort || ""}` pages[0].drawText(plzOrt || "", { x: 211, - y: height - 204, + y: height - 199, size: 10 }) From 0708c6ce43386ae45b9f794c652ae97987ff7ea8 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:41:23 +0200 Subject: [PATCH 39/40] . --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 74c860be..a626ab8d 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -71,7 +71,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne pages[0].drawText(objekt.adresse || "", { x: 211, - y: height - 189, + y: height - 188.5, size: 10 }) @@ -79,7 +79,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne const plzOrt = `${objekt.plz || ""} ${objekt.ort || ""}` pages[0].drawText(plzOrt || "", { x: 211, - y: height - 199, + y: height - 200, size: 10 }) From 330841f8eed8a3ea74bf9f5a3ae5ab1607eb37c3 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Thu, 17 Apr 2025 01:46:45 +0200 Subject: [PATCH 40/40] . --- src/lib/pdf/pdfVerbrauchsausweisWohnen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index a626ab8d..0b960f80 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -174,7 +174,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) { pages[0].drawText("x", { x: 214, - y: height - 293, + y: height - 355, size: 10, font: bold })