From fa272cf0f375906d8ea16187432a9fa87f89be41 Mon Sep 17 00:00:00 2001 From: Moritz Utcke Date: Sat, 22 Feb 2025 00:02:02 +1100 Subject: [PATCH] =?UTF-8?q?Plausibilit=C3=A4tspr=C3=BCfungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VerbrauchsausweisGewerbeModule.svelte | 281 ++++++++++++++++++ 1 file changed, 281 insertions(+) diff --git a/src/modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte b/src/modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte index c1173b65..49fec9b2 100644 --- a/src/modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte +++ b/src/modules/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbeModule.svelte @@ -21,6 +21,23 @@ import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte"; import { Enums } from "@ibcornelsen/database/client"; import moment from "moment"; + import { + AuditType, + hidden, + } from "#components/Verbrauchsausweis/audits/hidden.js"; + import { auditBedarfsausweisBenoetigt } from "#components/Verbrauchsausweis/audits/BedarfsausweisBenoetigt.js"; + import { auditEndEnergie } from "#components/Verbrauchsausweis/audits/EndEnergie.js"; + import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js"; + import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js"; + import { auditKlimaFaktoren } from "#components/Verbrauchsausweis/audits/KlimaFaktoren.js"; + import { auditLeerStand } from "#components/Verbrauchsausweis/audits/LeerStand.js"; + import { auditPlzNichtErkannt } from "#components/Verbrauchsausweis/audits/PlzNichtErkannt.js"; + import { auditVerbrauchAbweichung } from "#components/Verbrauchsausweis/audits/VerbrauchAbweichung.js"; + import { auditWarmWasser } from "#components/Verbrauchsausweis/audits/WarmWasser.js"; + import { auditWohnFlaeche } from "#components/Verbrauchsausweis/audits/WohnFlaeche.js"; + import { auditWohnflaecheGroesserGesamtflaeche } from "#components/Verbrauchsausweis/audits/WohnflaecheGroesserGesamtflaeche.js"; + import { auditZeitraumAktuell } from "#components/Verbrauchsausweis/audits/ZeitraumAktuell.js"; + import { notifications, RawNotificationWrapper, RawNotification } from "@ibcornelsen/ui"; export let ausweis: VerbrauchsausweisGewerbeClient; export let user: BenutzerClient; @@ -254,3 +271,267 @@ + + + + {#each Object.entries($notifications) as [uid, notification] (uid)} + + {@html notification.subtext} + + {/each} + + {#if auditBedarfsausweisBenoetigt(ausweis, aufnahme)} + + Sie benötigen einen Bedarfsausweis. Bitte führen Sie hier Ihre Eingabe für den Bedarfsausweis fort. + + {/if} + + {#if typeof aufnahme.einheiten === "number" && aufnahme.einheiten < 1} + + Die Anzahl der Wohneinheiten muss mindestens 1 betragen. + + {/if} + + {#await auditPlzNichtErkannt(objekt) then result} + {#if result} + + Die Postleitzahl konnte nicht zugeordnet werden. Bitte prüfen + Sie die Eingabe. Sollte die Postleitzahl korrekt eingegeben + sein, werden wir den Ort händisch zuordnen. + + {/if} + {/await} + + {#if auditHeizungGebaeudeBaujahr(aufnahme)} + { + hidden.add(AuditType.HEIZUNG_GEBAEUDE_BAUJAHR); + aufnahme = aufnahme; + }, + type: "warning", + }} + > + Sie haben angegeben, dass ihre Heizung vor ihrem Gebäude konstruiert + wurde. Sind sie sich sicher, dass das stimmt? + + {/if} + + {#if auditHeizungJuengerDreiJahre(aufnahme)} + { + hidden.add(AuditType.HEIZUNG_JUENGER_DREI_JAHRE); + aufnahme = aufnahme; + + }, + type: "warning", + }} + > + Ihre Heizungsanlage ist jünger als 3 Jahre. Für den + Verbrauchsausweis müssen Sie mindestens 3 Verbrauchsjahre eingeben + die den aktuellen Stand des Gebäudes abbilden. Ein Verbrauchsausweis + ist daher nicht möglich. Bitte klicken Sie + hier um zum Eingabeformular für den Bedarfsausweis + zu gelangen. + + {/if} + + {#if auditZeitraumAktuell(ausweis, objekt)} + { + hidden.add(AuditType.ZEITRAUM_AKTUELL); + objekt = objekt; + ausweis = ausweis + }, + type: "warning", + }} + > + Die Verbrauchszeiträume sind nicht aktuell genug. Das Ende des + letzten Verbrauchszeitraumes darf nicht mehr als 18 Monate + zurückliegen. Ein Verbrauchsausweis ist mit diesen Zeiträumen daher + nicht möglich. Bitte klicken Sie hier um + zum Eingabeformular für den Bedarfsausweis zu gelangen. + + {/if} + + {#await auditKlimaFaktoren(ausweis, objekt) then result} + {#if result} + { + hidden.add(AuditType.KLIMA_FAKTOREN); + objekt = objekt; + ausweis = ausweis; + }, + type: "warning", + }} + > + Die Verbrauchszeiträume sind zu aktuell und es liegen noch keine + Klimafaktoren dazu vor. Bitte verschieben Sie die + Verbrauchszeiträume 1 Jahr nach hinten. Wenn das nicht möglich + ist, klicken Sie + hier um zum Eingabeformular für den + Bedarfsausweis zu gelangen. + + {/if} + {/await} + + {#if auditWohnFlaeche(aufnahme)} + { + hidden.add(AuditType.WOHN_FLAECHE); + aufnahme = aufnahme; + }, + type: "warning", + }} + > + Die Wohnfläche ist viel zu klein. Bitte überprüfen Sie Ihre Eingabe + nochmal und stellen sicher, daß sich Ihre Angaben auf das gesamte + Gebäude beziehen. + + {/if} + + {#if auditWarmWasser(ausweis)} + { + hidden.add(AuditType.WARM_WASSER); + ausweis = ausweis; + }, + type: "warning", + }} + > + Bitte überprüfen Sie nochmal die Höhe des Warmwasseranteils. Dieser + scheint nicht ganz im Rahmen zu liegen. + + {/if} + + {#if auditLeerStand(aufnahme)} + + Bei Leerstand größer als 30% darf kein Verbrauchsausweis ausgestellt + werden. Bitte klicken Sie hier um zum Eingabeformular + für den Bedarfsausweis zu gelangen. + + {/if} + + {@const abweichung = auditVerbrauchAbweichung(ausweis, aufnahme)} + {#if abweichung.length > 0} + { + hidden.add(AuditType.VERBRAUCH_ABWEICHUNG); + objekt = objekt; + ausweis = ausweis; + }, + type: "warning", + }} + > + Die Abweichung der Verbräuche zwischen Zeitraum {abweichung[0]} und {abweichung[1]} beträgt mehr als 30% und sie haben keinen Leerstand angegeben. + Sind sie sich sicher, dass das stimmt? + + {/if} + + {#await auditEndEnergie(ausweis, objekt, aufnahme) then result} + {#if result} + { + hidden.add(AuditType.END_ENERGIE); + objekt = objekt; + }, + type: "warning", + }} + > + Die Endenergie liegt außerhalb des normalen Rahmens. Bitte + nochmal überprüfen. Bei Passivhäusern oder ganz alten + unsanierten Gebäuden ist so eine Abweichung durchaus möglich. + + {/if} + {/await} + + {#if auditWohnflaecheGroesserGesamtflaeche(aufnahme)} + + Die Wohnfläche darf nicht größer als die Nutzfläche sein. + + {/if} + \ No newline at end of file