From ba93f7b660390b90f5d2421f5288241a0e709258 Mon Sep 17 00:00:00 2001 From: Jens Cornelsen <79703163+IB-Cornelsen@users.noreply.github.com> Date: Tue, 20 Feb 2024 11:08:06 +0100 Subject: [PATCH] =?UTF-8?q?nutzflaeche,=20preis,=20ausweise=20pr=C3=BCfen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nutzflaeche hinzugefügt, Preis VANW von 65 auf 85 gesetzt --- .../VerbrauchsausweisGewerbe/erstellen.cy.ts | 5 ++++ .../VerbrauchsausweisWohnen/erstellen.cy.ts | 5 ++++ .../VerbrauchsausweisWohnen_2016.ts | 10 ++++++- src/lib/Gebaeude.ts | 1 + src/lib/constants.ts | 4 +-- .../VerbrauchsausweisWohnenModule.svelte | 29 ++++++++++++++++-- src/modules/AusweisePruefenModule.svelte | 30 +++++++++++++++++++ .../dashboard/admin/ausweise-pruefen.astro | 25 ++++++++++++++++ 8 files changed, 103 insertions(+), 6 deletions(-) create mode 100644 src/modules/AusweisePruefenModule.svelte create mode 100644 src/pages/dashboard/admin/ausweise-pruefen.astro diff --git a/cypress/e2e/VerbrauchsausweisGewerbe/erstellen.cy.ts b/cypress/e2e/VerbrauchsausweisGewerbe/erstellen.cy.ts index 851884d0..dab6a3bd 100644 --- a/cypress/e2e/VerbrauchsausweisGewerbe/erstellen.cy.ts +++ b/cypress/e2e/VerbrauchsausweisGewerbe/erstellen.cy.ts @@ -65,6 +65,11 @@ describe("Verbrauchsausweis erstellen Schritt 1", () => { .should("have.attr", "type", "number") .type(faker.number.int({ min: 50, max: 1000 }).toString()); + // Nutzlaeche + cy.get("input[name='nutzflaeche']") + .should("have.attr", "type", "number") + .type(faker.number.int({ min: 50, max: 1000 }).toString()); + // Keller cy.get("select[name='keller']").find("option:not([disabled])").should("have.length", Object.values(Enums.Heizungsstatus).length).parent().select(faker.number.int({ max: Object.values(Enums.Heizungsstatus).length, diff --git a/cypress/e2e/VerbrauchsausweisWohnen/erstellen.cy.ts b/cypress/e2e/VerbrauchsausweisWohnen/erstellen.cy.ts index 2c6f1513..a052d7d0 100644 --- a/cypress/e2e/VerbrauchsausweisWohnen/erstellen.cy.ts +++ b/cypress/e2e/VerbrauchsausweisWohnen/erstellen.cy.ts @@ -65,6 +65,11 @@ describe("Verbrauchsausweis erstellen Schritt 1", () => { .should("have.attr", "type", "number") .type(faker.number.int({ min: 50, max: 1000 }).toString()); + // Nutzflaeche + cy.get("input[name='nutzflaeche']") + .should("have.attr", "type", "number") + .type(faker.number.int({ min: 50, max: 1000 }).toString()); + // Keller cy.get("select[name='keller']").find("option:not([disabled])").should("have.length", Object.values(Enums.Heizungsstatus).length).parent().select(faker.number.int({ max: Object.values(Enums.Heizungsstatus).length, diff --git a/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts b/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts index e6c09206..bc62078a 100644 --- a/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts +++ b/src/lib/Berechnungen/VerbrauchsausweisWohnen/VerbrauchsausweisWohnen_2016.ts @@ -11,12 +11,20 @@ export function energetischeNutzflaecheVerbrauchsausweisWohnen_2016( gebaeude_stammdaten: GebaeudeClient; } ): number { + if (!ausweis.gebaeude_stammdaten) { + return 0 + } + let faktorKeller = 1.2; if (ausweis.keller_beheizt && (ausweis.gebaeude_stammdaten.einheiten || 1) <= 2) { faktorKeller = 1.35; } - return (ausweis.gebaeude_stammdaten.flaeche || 1) * faktorKeller; + if ((ausweis.gebaeude_stammdaten.nutzflaeche || 0) > 0) { + return ausweis.gebaeude_stammdaten.nutzflaeche || 0; + } else { + return (ausweis.gebaeude_stammdaten.flaeche || 1) * faktorKeller; + } } export async function endEnergieVerbrauchVerbrauchsausweis_2016( diff --git a/src/lib/Gebaeude.ts b/src/lib/Gebaeude.ts index b3ff1836..1da60d28 100644 --- a/src/lib/Gebaeude.ts +++ b/src/lib/Gebaeude.ts @@ -13,6 +13,7 @@ export class Gebaeude { public baujahr: number[] = []; public einheiten: number = 0; public wohnflaeche: number = 0; + public nutzflaeche: number = 0; public keller_beheizt: boolean = false; public dachgeschoss_beheizt: Dachgeschoss = Dachgeschoss.UNBEHEIZT; public lueftungskonzept: Lueftungskonzept = "Fensterlüftung"; diff --git a/src/lib/constants.ts b/src/lib/constants.ts index f949fb58..835b01ee 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -10,7 +10,7 @@ export const API_UID_COOKIE_NAME = "uid"; export const PRICES: Record = { BedarfsausweisWohnen: [135, 145, 290], VerbrauchsausweisWohnen: [45, 55, 180], - VerbrauchsausweisGewerbe: [65, 75, 360], + VerbrauchsausweisGewerbe: [85, 95, 360], }; export const SERVICES: Record> = { @@ -18,7 +18,7 @@ export const SERVICES: Record> = Qualitaetsdruck: 9, Aushang: 10, SameDay: 29, - Telefonberatung: 30, + Telefonberatung: 30, }, VerbrauchsausweisWohnen: { Qualitaetsdruck: 9, diff --git a/src/modules/Ausweise/VerbrauchsausweisWohnenModule.svelte b/src/modules/Ausweise/VerbrauchsausweisWohnenModule.svelte index d3995220..6a219c08 100644 --- a/src/modules/Ausweise/VerbrauchsausweisWohnenModule.svelte +++ b/src/modules/Ausweise/VerbrauchsausweisWohnenModule.svelte @@ -158,6 +158,7 @@ ausweis.verbrauch_2 = 14000; ausweis.verbrauch_3 = 16000; gebaeude.flaeche = 152; + gebaeude.nutzflaeche = 172; ausweis.keller_beheizt = true; ausweis.brennstoff_1 = "Erdgas H"; ausweis.einheit_1 = "kWh"; @@ -280,7 +281,7 @@ -
+
Bitte geben Sie hier die beheizte Wohnfläche in m² ein. Dabei handelt es sich um die Wohnfläche abzüglich @@ -302,7 +303,7 @@
-
+
@@ -330,6 +331,28 @@
+ + +
+ + Bitte geben Sie hier die beheizte Gesamtfläche in m² ein (wenn bekannt). + Dabei handelt es sich um die Wohnfläche + weiterer Flächen innerhalb des Gebäudes + (z.B. Fläche des beheizten Kellers). + Diese Fläche wird dann im Energieausweis als energetische Nutzfläche (An) ausgewiesen. + +
+ +
+

diff --git a/src/modules/AusweisePruefenModule.svelte b/src/modules/AusweisePruefenModule.svelte new file mode 100644 index 00000000..1ed849d4 --- /dev/null +++ b/src/modules/AusweisePruefenModule.svelte @@ -0,0 +1,30 @@ + + +
+
+
+ + + + +
+ +
+
+
+
diff --git a/src/pages/dashboard/admin/ausweise-pruefen.astro b/src/pages/dashboard/admin/ausweise-pruefen.astro new file mode 100644 index 00000000..4674fb99 --- /dev/null +++ b/src/pages/dashboard/admin/ausweise-pruefen.astro @@ -0,0 +1,25 @@ +--- +import UserLayout from "../../../layouts/UserLayout.astro"; +import { API_UID_COOKIE_NAME } from "../../../lib/constants"; +import { prisma } from "@ibcornelsen/database/server"; + +const uid = Astro.cookies.get(API_UID_COOKIE_NAME).value + +if (!uid) { + return Astro.redirect("/auth/login") +} + +const user = await prisma.benutzer.findUnique({ + where: { + uid + } +}) + +if (!user) { + return Astro.redirect("/auth/login") +} +--- + + + + \ No newline at end of file