Verbrauchsausweis Gewerbe

This commit is contained in:
Moritz Utcke
2025-02-20 22:12:22 +11:00
parent 86532ec251
commit 685cb114f8
7 changed files with 95 additions and 47 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@@ -6,21 +6,14 @@
import VerbrauchsHelpLabel from "#components/labels/VerbrauchsHelpLabel.svelte"; import VerbrauchsHelpLabel from "#components/labels/VerbrauchsHelpLabel.svelte";
import StromVerbrauchsHelpLabel from "#components/labels/StromVerbrauchsHelpLabel.svelte"; import StromVerbrauchsHelpLabel from "#components/labels/StromVerbrauchsHelpLabel.svelte";
import SanierungsOption from "#components/Ausweis/SanierungsOption.svelte" import SanierungsOption from "#components/Ausweis/SanierungsOption.svelte"
import Label from "../Label.svelte";
import moment from "moment"; import moment from "moment";
import fuelList from "./brennstoffListe.js"; import fuelList from "./brennstoffListe.js";
import { auditVerbrauchAbweichung } from "../Verbrauchsausweis/audits/VerbrauchAbweichung.js"; import { auditVerbrauchAbweichung } from "../Verbrauchsausweis/audits/VerbrauchAbweichung.js";
import { import {
AufnahmeClient, AufnahmeClient,
ObjektClient,
VerbrauchsausweisGewerbeClient, VerbrauchsausweisGewerbeClient,
} from "./types.js"; } from "./types.js";
import { addNotification } from "#components/Notifications/shared.js";
export let objekt: ObjektClient;
export let aufnahme: AufnahmeClient; export let aufnahme: AufnahmeClient;
export let ausweis: VerbrauchsausweisGewerbeClient; export let ausweis: VerbrauchsausweisGewerbeClient;
@@ -46,7 +39,7 @@
"November", "November",
"Dezember", "Dezember",
]; ];
const startDate = moment( const startDate = moment(
aufnahme.erstellungsdatum || Date.now() aufnahme.erstellungsdatum || Date.now()
) )
@@ -70,8 +63,8 @@
fuelMap[fuel[0]].push(fuel[1]); fuelMap[fuel[0]].push(fuel[1]);
} }
let month = ausweis.startdatum?.getMonth(); let month = moment(ausweis.startdatum).month();
let year = ausweis.startdatum?.getFullYear(); let year = moment(ausweis.startdatum).year();
$: { $: {
if (typeof month === "number" && typeof year === "number") { if (typeof month === "number" && typeof year === "number") {
@@ -86,6 +79,11 @@
} }
} }
$: {
console.log(aufnahme.brennstoff_1);
}
$: abweichung = auditVerbrauchAbweichung(ausweis, aufnahme); $: abweichung = auditVerbrauchAbweichung(ausweis, aufnahme);
</script> </script>
@@ -216,7 +214,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<div class="grid grid-cols-2 gap-x-4 order-3 md:order-3 xl:order-3"> <div class="grid grid-cols-2 gap-x-4 order-3 md:order-3 xl:order-3">
<div class="input-standard"> <div class="input-standard">
<Inputlabel title="primär Brennstoff *"></Inputlabel> <Inputlabel title="primärer Brennstoff *"></Inputlabel>
<select <select
class="rounded-e-none" class="rounded-e-none"
@@ -644,11 +642,11 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<!-- Enthält Stromverbrauch für: --> <!-- Enthält Stromverbrauch für: -->
<SanierungsOption label="Heizung" name="stromverbrauch_enthaelt_heizung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_heizung}></SanierungsOption> <SanierungsOption value="" label="Heizung" name="stromverbrauch_enthaelt_heizung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_heizung}></SanierungsOption>
<SanierungsOption label="Warmwasser " name="stromverbrauch_enthaelt_warmwasser" help="" bind:checked={ausweis.stromverbrauch_enthaelt_warmwasser}></SanierungsOption> <SanierungsOption value="" label="Warmwasser " name="stromverbrauch_enthaelt_warmwasser" help="" bind:checked={ausweis.stromverbrauch_enthaelt_warmwasser}></SanierungsOption>
<SanierungsOption label="Lüftung " name="stromverbrauch_enthaelt_lueftung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_lueftung}></SanierungsOption> <SanierungsOption value="" label="Lüftung " name="stromverbrauch_enthaelt_lueftung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_lueftung}></SanierungsOption>
<SanierungsOption label="Beleuchtung" name="stromverbrauch_enthaelt_beleuchtung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_beleuchtung}></SanierungsOption> <SanierungsOption value="" label="Beleuchtung" name="stromverbrauch_enthaelt_beleuchtung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_beleuchtung}></SanierungsOption>
<SanierungsOption label="Kühlung" name="stromverbrauch_enthaelt_kuehlung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_kuehlung}></SanierungsOption> <SanierungsOption value="" label="Kühlung" name="stromverbrauch_enthaelt_kuehlung" help="" bind:checked={ausweis.stromverbrauch_enthaelt_kuehlung}></SanierungsOption>
<div class="input-standard"> <div class="input-standard">
<Inputlabel title="Sonstige"></Inputlabel> <Inputlabel title="Sonstige"></Inputlabel>

View File

@@ -99,12 +99,13 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis:
// Endenergieverbrauch // Endenergieverbrauch
// Um den EEV auszurechnen, müssen die Verbräuche zu kWh konvertiert werden. // Um den EEV auszurechnen, müssen die Verbräuche zu kWh konvertiert werden.
let brennstoff_1 = { coe: 0, energietraeger: "", einheit: "", umrechnungsfaktor: 0, primaerenergiefaktor: 0 }, brennstoff_2 = { coe: 0, energietraeger: "", einheit: "", umrechnungsfaktor: 0, primaerenergiefaktor: 0 }; let brennstoff_1 = { coe: 0, energietraeger: "", einheit: "", umrechnungsfaktor: 0, primaerenergiefaktor: 0 }, brennstoff_2 = { coe: 0, energietraeger: "", einheit: "", umrechnungsfaktor: 0, primaerenergiefaktor: 0 };
if (ausweis.brennstoff_1 && ausweis.einheit_1) { if (aufnahme.brennstoff_1 && ausweis.einheit_1) {
brennstoff_1 = getHeizwertfaktor(ausweis.brennstoff_1, ausweis.einheit_1); brennstoff_1 = getHeizwertfaktor(aufnahme.brennstoff_1, ausweis.einheit_1);
} }
if (ausweis.brennstoff_2 && ausweis.einheit_2) { if (aufnahme.brennstoff_2 && ausweis.einheit_2) {
brennstoff_2 = getHeizwertfaktor(ausweis.brennstoff_2, ausweis.einheit_2); brennstoff_2 = getHeizwertfaktor(aufnahme.brennstoff_2, ausweis.einheit_2);
} }
let energieVerbrauchGesamt_1 = ((ausweis.verbrauch_1 || 0) + (ausweis.verbrauch_2 || 0) + (ausweis.verbrauch_3 || 0)) * brennstoff_1?.umrechnungsfaktor; let energieVerbrauchGesamt_1 = ((ausweis.verbrauch_1 || 0) + (ausweis.verbrauch_2 || 0) + (ausweis.verbrauch_3 || 0)) * brennstoff_1?.umrechnungsfaktor;
@@ -136,7 +137,7 @@ export async function endEnergieVerbrauchVerbrauchsausweisGewerbe_2016(ausweis:
} }
let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0; let kuehlungsZuschlag_1: number = 0, kuehlungsZuschlag_2: number = 0;
if (ausweis.wird_gekuehlt) { if (aufnahme.kuehlung) {
kuehlungsZuschlag_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_kuehlung_1 || 0) / 100); kuehlungsZuschlag_1 = energieVerbrauchGesamt_1 * ((ausweis.anteil_kuehlung_1 || 0) / 100);
kuehlungsZuschlag_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_kuehlung_2 || 0) / 100); kuehlungsZuschlag_2 = energieVerbrauchGesamt_2 * ((ausweis.anteil_kuehlung_2 || 0) / 100);
} }

View File

@@ -29,23 +29,6 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
const form = pdf.getForm() const form = pdf.getForm()
form.updateFieldAppearances(font) form.updateFieldAppearances(font)
const fillFormField = (name: string, value: string, fontSize: number = 8, alignment: TextAlignment = TextAlignment.Left) => {
const field = form.getTextField(name)
field.setFontSize(fontSize)
field.setText(value)
field.setAlignment(alignment)
}
const toggleCheck = (name: string, checked: boolean = true) => {
const field = form.getCheckBox(name)
if (checked) {
field.check()
} else {
field.uncheck()
}
}
pages[0].drawText(aufnahme.gebaeudetyp || "", { pages[0].drawText(aufnahme.gebaeudetyp || "", {
x: 211, x: 211,
y: height - 166, y: height - 166,
@@ -342,8 +325,8 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
addCheckMark(pages[2], 492, height - 456) addCheckMark(pages[2], 492, height - 456)
} }
addText(pages[2], berechnungen?.primaerEnergieVerbrauchGesamt.toString() || "", 475, height - 614, 10, font) addText(pages[2], berechnungen?.primaerEnergieVerbrauchGesamt.toString() || "", 475, height - 637, 10, font)
addText(pages[2], berechnungen?.co2EmissionenGesamt.toString() || "", 475, height - 633, 10, font) addText(pages[2], berechnungen?.co2EmissionenGesamt.toString() || "", 475, height - 656, 10, font)
// const primaerenergiebedarfIst = fillFormField("primaerenergiebedarf_ist", berechnungen?.primaerEnergieVerbrauchGesamt.toString()) // const primaerenergiebedarfIst = fillFormField("primaerenergiebedarf_ist", berechnungen?.primaerEnergieVerbrauchGesamt.toString())
@@ -478,6 +461,73 @@ 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 (aufnahme.leerstand && aufnahme.leerstand > 0) {
// /**
// * Leerstandszuschlag
// * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
// */
// if (ausweis.warmwasser_enthalten && ausweis.warmwasser_anteil_bekannt) {
// addVerbrauch(
// moment(ausweis.startdatum).format("MM.YYYY"),
// moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
// "Leerstandszuschlag",
// berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
// Math.round((berechnungen?.leerstandsZuschlagHeizung || 0) + (berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
// Math.round((berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
// Math.round((berechnungen?.leerstandsZuschlagHeizung || 0)),
// berechnungen?.durchschnittsKlimafaktor.toString()
// );
// } else {
// addVerbrauch(
// moment(ausweis.startdatum).format("MM.YYYY"),
// moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
// "Leerstandszuschlag",
// berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
// Math.round((berechnungen?.leerstandsZuschlagHeizung || 0) + (berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
// "0",
// 0,
// berechnungen?.durchschnittsKlimafaktor.toString()
// );
// }
// }
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",
berechnungen?.primaerfaktorww.toString(),
Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(),
"0",
"0",
""
);
}
/* -------------------------------- Seite 4 -------------------------------- */ /* -------------------------------- Seite 4 -------------------------------- */
const splitToSize = (text: string, size: number, font: PDFFont, fontSize: number) => { const splitToSize = (text: string, size: number, font: PDFFont, fontSize: number) => {

View File

@@ -23,11 +23,11 @@
import moment from "moment"; import moment from "moment";
export let ausweis: VerbrauchsausweisGewerbeClient; export let ausweis: VerbrauchsausweisGewerbeClient;
export let user: BenutzerClient = {} as BenutzerClient; export let user: BenutzerClient;
export let objekt: ObjektClient = {} as ObjektClient; export let objekt: ObjektClient;
export let aufnahme: AufnahmeClient = {} as AufnahmeClient; export let aufnahme: AufnahmeClient;
export let bilder: UploadedGebaeudeBild[] = []; export let bilder: UploadedGebaeudeBild[];
export let ausweisart = Enums.Ausweisart.VerbrauchsausweisGewerbe; export let ausweisart = Enums.Ausweisart.VerbrauchsausweisGewerbe;
if (Object.keys(ausweis).length === 0) { if (Object.keys(ausweis).length === 0) {
const localStorageAusweis = localStorage.getItem("ausweis"); const localStorageAusweis = localStorage.getItem("ausweis");
@@ -172,7 +172,6 @@
title="Eingabe von 3 zusammenhängenden Verbrauchsjahren" title="Eingabe von 3 zusammenhängenden Verbrauchsjahren"
> >
<StromVerbrauch <StromVerbrauch
bind:objekt
bind:aufnahme bind:aufnahme
bind:ausweis bind:ausweis
/> />

View File

@@ -327,7 +327,7 @@ const ausweisart = Enums.Ausweisart.VerbrauchsausweisWohnen
type: "info", type: "info",
}} }}
> >
Sie benötigen einen Bedarfsausweis. <a href="/bedarfsausweis" Sie benötigen einen Bedarfsausweis. <a href="/energieausweis-erstellen/bedarfsausweis-erstellen"
>Bitte führen Sie hier Ihre Eingabe für den Bedarfsausweis fort</a >Bitte führen Sie hier Ihre Eingabe für den Bedarfsausweis fort</a
>. >.
</RawNotification> </RawNotification>