Felder angepasst und Tests
This commit is contained in:
44
prisma/migrations/20250330225209_/migration.sql
Normal file
44
prisma/migrations/20250330225209_/migration.sql
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
Warnings:
|
||||||
|
|
||||||
|
- You are about to drop the column `ausstellungsdatum` on the `Aufnahme` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `ausweisart` on the `Aufnahme` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `boxpruefung` on the `Aufnahme` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `brennstoff_1` on the `Aufnahme` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `brennstoff_2` on the `Aufnahme` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `energieeffizienzklasse` on the `Aufnahme` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `uid` on the `Bild` table. All the data in the column will be lost.
|
||||||
|
- You are about to drop the column `keller_beheizt` on the `VerbrauchsausweisWohnen` table. All the data in the column will be lost.
|
||||||
|
|
||||||
|
*/
|
||||||
|
-- DropIndex
|
||||||
|
DROP INDEX "Bild_uid_key";
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Aufnahme" DROP COLUMN "ausstellungsdatum",
|
||||||
|
DROP COLUMN "ausweisart",
|
||||||
|
DROP COLUMN "boxpruefung",
|
||||||
|
DROP COLUMN "brennstoff_1",
|
||||||
|
DROP COLUMN "brennstoff_2",
|
||||||
|
DROP COLUMN "energieeffizienzklasse";
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "BedarfsausweisWohnen" ADD COLUMN "ausstellungsdatum" TIMESTAMP(3),
|
||||||
|
ADD COLUMN "boxpruefung" BOOLEAN DEFAULT false,
|
||||||
|
ADD COLUMN "energieeffizienzklasse" VARCHAR(5);
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Bild" DROP COLUMN "uid";
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "VerbrauchsausweisGewerbe" ADD COLUMN "ausstellungsdatum" TIMESTAMP(3),
|
||||||
|
ADD COLUMN "boxpruefung" BOOLEAN DEFAULT false,
|
||||||
|
ADD COLUMN "energieeffizienzklasse" VARCHAR(5);
|
||||||
|
|
||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "VerbrauchsausweisWohnen" DROP COLUMN "keller_beheizt",
|
||||||
|
ADD COLUMN "ausstellungsdatum" TIMESTAMP(3),
|
||||||
|
ADD COLUMN "boxpruefung" BOOLEAN DEFAULT false,
|
||||||
|
ADD COLUMN "brennstoff_1" VARCHAR(50),
|
||||||
|
ADD COLUMN "brennstoff_2" VARCHAR(50),
|
||||||
|
ADD COLUMN "energieeffizienzklasse" VARCHAR(5);
|
||||||
@@ -16,8 +16,6 @@ model Aufnahme {
|
|||||||
id String @id @unique @db.VarChar(8)
|
id String @id @unique @db.VarChar(8)
|
||||||
benutzer_id String?
|
benutzer_id String?
|
||||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||||
/// @zod.describe("Art des korrespondierenden Ausweises, wie z.B. VerbrauchsausweisWohnen")
|
|
||||||
ausweisart Ausweisart?
|
|
||||||
/// @zod.describe("Art des Gebäudes und seiner primären Nutzungsart")
|
/// @zod.describe("Art des Gebäudes und seiner primären Nutzungsart")
|
||||||
gebaeudetyp String? @db.VarChar
|
gebaeudetyp String? @db.VarChar
|
||||||
/// @zod.describe("Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil")
|
/// @zod.describe("Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil")
|
||||||
@@ -56,20 +54,8 @@ model Aufnahme {
|
|||||||
/// @zod.describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen")
|
/// @zod.describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen")
|
||||||
alternative_kuehlung Boolean?
|
alternative_kuehlung Boolean?
|
||||||
|
|
||||||
/// @zod.describe("Genutzer Brennstoff der primären Energiequelle")
|
/// @zod.describe("Datum an dem der Kunde die Aufnahme erstellt hat")
|
||||||
brennstoff_1 String? @db.VarChar(50)
|
|
||||||
/// @zod.describe("Genutzer Brennstoff der sekundären Energiequelle")
|
|
||||||
brennstoff_2 String? @db.VarChar(50)
|
|
||||||
|
|
||||||
boxpruefung Boolean? @default(false)
|
|
||||||
|
|
||||||
/// @zod.describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes")
|
|
||||||
energieeffizienzklasse String? @db.VarChar(5)
|
|
||||||
|
|
||||||
/// @zod.describe("Datum an dem der Kunde den Ausweis erstellt hat")
|
|
||||||
erstellungsdatum DateTime? @default(now())
|
erstellungsdatum DateTime? @default(now())
|
||||||
/// @zod.describe("Datum an dem der Aussteller den Ausweis ausgestellt hat")
|
|
||||||
ausstellungsdatum DateTime?
|
|
||||||
|
|
||||||
/// @zod.describe("Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen")
|
/// @zod.describe("Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen")
|
||||||
zentralheizung Boolean?
|
zentralheizung Boolean?
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ model BedarfsausweisWohnen {
|
|||||||
alternative_lueftung Boolean?
|
alternative_lueftung Boolean?
|
||||||
alternative_kuehlung Boolean?
|
alternative_kuehlung Boolean?
|
||||||
|
|
||||||
|
/// @zod.describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes")
|
||||||
|
energieeffizienzklasse String? @db.VarChar(5)
|
||||||
|
/// @zod.describe("Datum an dem der Aussteller den Ausweis ausgestellt hat")
|
||||||
|
ausstellungsdatum DateTime?
|
||||||
|
boxpruefung Boolean? @default(false)
|
||||||
|
|
||||||
anzahl_vollgeschosse Int?
|
anzahl_vollgeschosse Int?
|
||||||
geschosshoehe Float?
|
geschosshoehe Float?
|
||||||
anzahl_gauben Int?
|
anzahl_gauben Int?
|
||||||
|
|||||||
@@ -5,9 +5,7 @@ model VerbrauchsausweisGewerbe {
|
|||||||
ausstellgrund Ausstellgrund?
|
ausstellgrund Ausstellgrund?
|
||||||
registriernummer String? @db.VarChar
|
registriernummer String? @db.VarChar
|
||||||
zusaetzliche_heizquelle Boolean?
|
zusaetzliche_heizquelle Boolean?
|
||||||
brennstoff_1 String? @db.VarChar(50)
|
|
||||||
einheit_1 String? @db.VarChar(50)
|
einheit_1 String? @db.VarChar(50)
|
||||||
brennstoff_2 String? @db.VarChar(50)
|
|
||||||
einheit_2 String? @db.VarChar(50)
|
einheit_2 String? @db.VarChar(50)
|
||||||
startdatum DateTime? @db.Timestamp(6)
|
startdatum DateTime? @db.Timestamp(6)
|
||||||
verbrauch_1 Int?
|
verbrauch_1 Int?
|
||||||
@@ -17,6 +15,17 @@ model VerbrauchsausweisGewerbe {
|
|||||||
verbrauch_5 Int?
|
verbrauch_5 Int?
|
||||||
verbrauch_6 Int?
|
verbrauch_6 Int?
|
||||||
|
|
||||||
|
/// @zod.describe("Genutzer Brennstoff der primären Energiequelle")
|
||||||
|
brennstoff_1 String? @db.VarChar(50)
|
||||||
|
/// @zod.describe("Genutzer Brennstoff der sekundären Energiequelle")
|
||||||
|
brennstoff_2 String? @db.VarChar(50)
|
||||||
|
|
||||||
|
/// @zod.describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes")
|
||||||
|
energieeffizienzklasse String? @db.VarChar(5)
|
||||||
|
/// @zod.describe("Datum an dem der Aussteller den Ausweis ausgestellt hat")
|
||||||
|
ausstellungsdatum DateTime?
|
||||||
|
boxpruefung Boolean? @default(false)
|
||||||
|
|
||||||
strom_1 Int?
|
strom_1 Int?
|
||||||
strom_2 Int?
|
strom_2 Int?
|
||||||
strom_3 Int?
|
strom_3 Int?
|
||||||
|
|||||||
@@ -13,6 +13,18 @@ model VerbrauchsausweisWohnen {
|
|||||||
einheit_1 String? @db.VarChar(50)
|
einheit_1 String? @db.VarChar(50)
|
||||||
/// @zod.describe("Einheit des Energieträgers der sekundären Heizquelle")
|
/// @zod.describe("Einheit des Energieträgers der sekundären Heizquelle")
|
||||||
einheit_2 String? @db.VarChar(50)
|
einheit_2 String? @db.VarChar(50)
|
||||||
|
|
||||||
|
/// @zod.describe("Genutzer Brennstoff der primären Energiequelle")
|
||||||
|
brennstoff_1 String? @db.VarChar(50)
|
||||||
|
/// @zod.describe("Genutzer Brennstoff der sekundären Energiequelle")
|
||||||
|
brennstoff_2 String? @db.VarChar(50)
|
||||||
|
|
||||||
|
/// @zod.describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes")
|
||||||
|
energieeffizienzklasse String? @db.VarChar(5)
|
||||||
|
/// @zod.describe("Datum an dem der Aussteller den Ausweis ausgestellt hat")
|
||||||
|
ausstellungsdatum DateTime?
|
||||||
|
boxpruefung Boolean? @default(false)
|
||||||
|
|
||||||
startdatum DateTime? @db.Timestamptz(6)
|
startdatum DateTime? @db.Timestamptz(6)
|
||||||
/// @zod.describe("Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre")
|
/// @zod.describe("Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre")
|
||||||
verbrauch_1 Int?
|
verbrauch_1 Int?
|
||||||
@@ -30,8 +42,6 @@ model VerbrauchsausweisWohnen {
|
|||||||
warmwasser_enthalten Boolean?
|
warmwasser_enthalten Boolean?
|
||||||
/// @zod.describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen")
|
/// @zod.describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen")
|
||||||
warmwasser_anteil_bekannt Boolean?
|
warmwasser_anteil_bekannt Boolean?
|
||||||
/// @zod.describe("Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen")
|
|
||||||
keller_beheizt Boolean?
|
|
||||||
/// @zod.describe("Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist.")
|
/// @zod.describe("Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist.")
|
||||||
faktorKeller Float?
|
faktorKeller Float?
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ export const createCaller = createCallerFactory({
|
|||||||
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
|
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
|
||||||
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
|
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
|
||||||
"unterlage": await import("../src/pages/api/unterlage.ts"),
|
"unterlage": await import("../src/pages/api/unterlage.ts"),
|
||||||
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
|
||||||
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
|
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
|
||||||
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
|
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
|
||||||
"admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"),
|
"admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"),
|
||||||
@@ -14,11 +13,12 @@ export const createCaller = createCallerFactory({
|
|||||||
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
|
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
|
||||||
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
|
||||||
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
|
||||||
"bedarfsausweis-gewerbe/[uid]": await import("../src/pages/api/bedarfsausweis-gewerbe/[uid].ts"),
|
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
|
||||||
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
|
|
||||||
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
|
||||||
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
|
||||||
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
|
||||||
|
"bedarfsausweis-gewerbe/[uid]": await import("../src/pages/api/bedarfsausweis-gewerbe/[uid].ts"),
|
||||||
|
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
|
||||||
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
|
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
|
||||||
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
|
||||||
"bilder/[id]": await import("../src/pages/api/bilder/[id].ts"),
|
"bilder/[id]": await import("../src/pages/api/bilder/[id].ts"),
|
||||||
|
|||||||
@@ -57,9 +57,6 @@ export async function ausweisSpeichern(
|
|||||||
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
||||||
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
||||||
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
||||||
ausweisart: aufnahme.ausweisart,
|
|
||||||
brennstoff_1: aufnahme.brennstoff_1,
|
|
||||||
brennstoff_2: aufnahme.brennstoff_2,
|
|
||||||
brennwert_kessel: aufnahme.brennwert_kessel,
|
brennwert_kessel: aufnahme.brennwert_kessel,
|
||||||
dachgeschoss: aufnahme.dachgeschoss,
|
dachgeschoss: aufnahme.dachgeschoss,
|
||||||
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
||||||
@@ -70,7 +67,6 @@ export async function ausweisSpeichern(
|
|||||||
einfach_verglasung: aufnahme.einfach_verglasung,
|
einfach_verglasung: aufnahme.einfach_verglasung,
|
||||||
einheiten: aufnahme.einheiten,
|
einheiten: aufnahme.einheiten,
|
||||||
einzelofen: aufnahme.einzelofen,
|
einzelofen: aufnahme.einzelofen,
|
||||||
energieeffizienzklasse: aufnahme.energieeffizienzklasse,
|
|
||||||
fenster_dicht: aufnahme.fenster_dicht,
|
fenster_dicht: aufnahme.fenster_dicht,
|
||||||
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
||||||
flaeche: aufnahme.flaeche,
|
flaeche: aufnahme.flaeche,
|
||||||
@@ -119,10 +115,7 @@ export async function ausweisSpeichern(
|
|||||||
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
||||||
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
||||||
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
||||||
ausweisart: aufnahme.ausweisart,
|
|
||||||
baujahr_klima: aufnahme.baujahr_klima,
|
baujahr_klima: aufnahme.baujahr_klima,
|
||||||
brennstoff_1: aufnahme.brennstoff_1,
|
|
||||||
brennstoff_2: aufnahme.brennstoff_2,
|
|
||||||
brennwert_kessel: aufnahme.brennwert_kessel,
|
brennwert_kessel: aufnahme.brennwert_kessel,
|
||||||
dachgeschoss: aufnahme.dachgeschoss,
|
dachgeschoss: aufnahme.dachgeschoss,
|
||||||
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
||||||
@@ -133,7 +126,6 @@ export async function ausweisSpeichern(
|
|||||||
einfach_verglasung: aufnahme.einfach_verglasung,
|
einfach_verglasung: aufnahme.einfach_verglasung,
|
||||||
einheiten: aufnahme.einheiten,
|
einheiten: aufnahme.einheiten,
|
||||||
einzelofen: aufnahme.einzelofen,
|
einzelofen: aufnahme.einzelofen,
|
||||||
energieeffizienzklasse: aufnahme.energieeffizienzklasse,
|
|
||||||
erstellungsdatum: aufnahme.erstellungsdatum,
|
erstellungsdatum: aufnahme.erstellungsdatum,
|
||||||
fenster_dicht: aufnahme.fenster_dicht,
|
fenster_dicht: aufnahme.fenster_dicht,
|
||||||
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
||||||
|
|||||||
@@ -58,9 +58,6 @@ export async function nachweisSpeichern(
|
|||||||
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
||||||
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
||||||
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
||||||
ausweisart: aufnahme.ausweisart,
|
|
||||||
brennstoff_1: aufnahme.brennstoff_1,
|
|
||||||
brennstoff_2: aufnahme.brennstoff_2,
|
|
||||||
brennwert_kessel: aufnahme.brennwert_kessel,
|
brennwert_kessel: aufnahme.brennwert_kessel,
|
||||||
dachgeschoss: aufnahme.dachgeschoss,
|
dachgeschoss: aufnahme.dachgeschoss,
|
||||||
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
||||||
@@ -71,7 +68,6 @@ export async function nachweisSpeichern(
|
|||||||
einfach_verglasung: aufnahme.einfach_verglasung,
|
einfach_verglasung: aufnahme.einfach_verglasung,
|
||||||
einheiten: aufnahme.einheiten,
|
einheiten: aufnahme.einheiten,
|
||||||
einzelofen: aufnahme.einzelofen,
|
einzelofen: aufnahme.einzelofen,
|
||||||
energieeffizienzklasse: aufnahme.energieeffizienzklasse,
|
|
||||||
fenster_dicht: aufnahme.fenster_dicht,
|
fenster_dicht: aufnahme.fenster_dicht,
|
||||||
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
||||||
flaeche: aufnahme.flaeche,
|
flaeche: aufnahme.flaeche,
|
||||||
@@ -120,10 +116,7 @@ export async function nachweisSpeichern(
|
|||||||
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
alternative_warmwasser: aufnahme.alternative_warmwasser,
|
||||||
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
aussenwand_gedaemmt: aufnahme.aussenwand_gedaemmt,
|
||||||
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
aussenwand_min_12cm_gedaemmt: aufnahme.aussenwand_min_12cm_gedaemmt,
|
||||||
ausweisart: aufnahme.ausweisart,
|
|
||||||
baujahr_klima: aufnahme.baujahr_klima,
|
baujahr_klima: aufnahme.baujahr_klima,
|
||||||
brennstoff_1: aufnahme.brennstoff_1,
|
|
||||||
brennstoff_2: aufnahme.brennstoff_2,
|
|
||||||
brennwert_kessel: aufnahme.brennwert_kessel,
|
brennwert_kessel: aufnahme.brennwert_kessel,
|
||||||
dachgeschoss: aufnahme.dachgeschoss,
|
dachgeschoss: aufnahme.dachgeschoss,
|
||||||
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
dachgeschoss_gedaemmt: aufnahme.dachgeschoss_gedaemmt,
|
||||||
@@ -134,7 +127,6 @@ export async function nachweisSpeichern(
|
|||||||
einfach_verglasung: aufnahme.einfach_verglasung,
|
einfach_verglasung: aufnahme.einfach_verglasung,
|
||||||
einheiten: aufnahme.einheiten,
|
einheiten: aufnahme.einheiten,
|
||||||
einzelofen: aufnahme.einzelofen,
|
einzelofen: aufnahme.einzelofen,
|
||||||
energieeffizienzklasse: aufnahme.energieeffizienzklasse,
|
|
||||||
erstellungsdatum: aufnahme.erstellungsdatum,
|
erstellungsdatum: aufnahme.erstellungsdatum,
|
||||||
fenster_dicht: aufnahme.fenster_dicht,
|
fenster_dicht: aufnahme.fenster_dicht,
|
||||||
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
fenster_teilweise_undicht: aufnahme.fenster_teilweise_undicht,
|
||||||
|
|||||||
@@ -79,11 +79,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$: {
|
|
||||||
console.log(aufnahme.brennstoff_1);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$: abweichung = auditVerbrauchAbweichung(ausweis, aufnahme);
|
$: abweichung = auditVerbrauchAbweichung(ausweis, aufnahme);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -234,7 +229,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
name="brennstoff_1"
|
name="brennstoff_1"
|
||||||
data-cy="brennstoff_1"
|
data-cy="brennstoff_1"
|
||||||
bind:value={aufnahme.brennstoff_1}
|
bind:value={ausweis.brennstoff_1}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected value={null}>Bitte auswählen</option>
|
<option disabled selected value={null}>Bitte auswählen</option>
|
||||||
@@ -267,11 +262,11 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
name="einheit_1"
|
name="einheit_1"
|
||||||
data-cy="einheit_1"
|
data-cy="einheit_1"
|
||||||
bind:value={ausweis.einheit_1}
|
bind:value={ausweis.einheit_1}
|
||||||
disabled={!aufnahme.brennstoff_1}
|
disabled={!ausweis.brennstoff_1}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected >Bitte auswählen</option>
|
<option disabled selected >Bitte auswählen</option>
|
||||||
{#each fuelMap.hasOwnProperty(aufnahme.brennstoff_1) ? fuelMap[aufnahme.brennstoff_1] : [] as unit}
|
{#each fuelMap.hasOwnProperty(ausweis.brennstoff_1) ? fuelMap[ausweis.brennstoff_1] : [] as unit}
|
||||||
<option value={unit}>{unit}</option>
|
<option value={unit}>{unit}</option>
|
||||||
{/each}
|
{/each}
|
||||||
</select>
|
</select>
|
||||||
@@ -425,7 +420,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
name="brennstoff_2"
|
name="brennstoff_2"
|
||||||
data-cy="brennstoff_2"
|
data-cy="brennstoff_2"
|
||||||
bind:value={aufnahme.brennstoff_2}
|
bind:value={ausweis.brennstoff_2}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected
|
<option disabled selected
|
||||||
@@ -460,13 +455,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
name="einheit_2"
|
name="einheit_2"
|
||||||
data-cy="einheit_2"
|
data-cy="einheit_2"
|
||||||
bind:value={ausweis.einheit_2}
|
bind:value={ausweis.einheit_2}
|
||||||
disabled={!aufnahme.brennstoff_2}
|
disabled={!ausweis.brennstoff_2}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected
|
<option disabled selected
|
||||||
>Bitte auswählen</option
|
>Bitte auswählen</option
|
||||||
>
|
>
|
||||||
{#each fuelMap.hasOwnProperty(aufnahme.brennstoff_2) ? fuelMap[aufnahme.brennstoff_2] : [] as unit}
|
{#each fuelMap.hasOwnProperty(ausweis.brennstoff_2) ? fuelMap[ausweis.brennstoff_2] : [] as unit}
|
||||||
<option value={unit}>{unit}</option>
|
<option value={unit}>{unit}</option>
|
||||||
{/each}
|
{/each}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
<select
|
<select
|
||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
name="brennstoff_1"
|
name="brennstoff_1"
|
||||||
bind:value={aufnahme.brennstoff_1}
|
bind:value={ausweis.brennstoff_1}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected value>Bitte auswählen</option>
|
<option disabled selected value>Bitte auswählen</option>
|
||||||
@@ -273,11 +273,11 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
class="rounded-s-none"
|
class="rounded-s-none"
|
||||||
name="einheit_1"
|
name="einheit_1"
|
||||||
bind:value={ausweis.einheit_1}
|
bind:value={ausweis.einheit_1}
|
||||||
disabled={!aufnahme.brennstoff_1}
|
disabled={!ausweis.brennstoff_1}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected value>Bitte auswählen</option>
|
<option disabled selected value>Bitte auswählen</option>
|
||||||
{#each fuelMap.hasOwnProperty(aufnahme.brennstoff_1) ? fuelMap[aufnahme.brennstoff_1] : [] as unit}
|
{#each fuelMap.hasOwnProperty(ausweis.brennstoff_1) ? fuelMap[ausweis.brennstoff_1] : [] as unit}
|
||||||
<option value={unit}>{unit}</option>
|
<option value={unit}>{unit}</option>
|
||||||
{/each}
|
{/each}
|
||||||
</select>
|
</select>
|
||||||
@@ -436,7 +436,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
<select
|
<select
|
||||||
class="rounded-e-none"
|
class="rounded-e-none"
|
||||||
name="brennstoff_2"
|
name="brennstoff_2"
|
||||||
bind:value={aufnahme.brennstoff_2}
|
bind:value={ausweis.brennstoff_2}
|
||||||
required
|
required
|
||||||
data-cy="brennstoff_2"
|
data-cy="brennstoff_2"
|
||||||
>
|
>
|
||||||
@@ -480,13 +480,13 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
name="einheit_2"
|
name="einheit_2"
|
||||||
data-cy="einheit_2"
|
data-cy="einheit_2"
|
||||||
bind:value={ausweis.einheit_2}
|
bind:value={ausweis.einheit_2}
|
||||||
disabled={!aufnahme.brennstoff_2}
|
disabled={!ausweis.brennstoff_2}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled selected
|
<option disabled selected
|
||||||
>Bitte auswählen</option
|
>Bitte auswählen</option
|
||||||
>
|
>
|
||||||
{#each fuelMap.hasOwnProperty(aufnahme.brennstoff_2) ? fuelMap[aufnahme.brennstoff_2] : [] as unit}
|
{#each fuelMap.hasOwnProperty(ausweis.brennstoff_2) ? fuelMap[ausweis.brennstoff_2] : [] as unit}
|
||||||
<option value={unit}>{unit}</option>
|
<option value={unit}>{unit}</option>
|
||||||
{/each}
|
{/each}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -141,7 +141,7 @@
|
|||||||
Abgeschlossen = 2;
|
Abgeschlossen = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aufnahme.boxpruefung) {
|
if (ausweis.boxpruefung) {
|
||||||
symbolPruefung = "/images/dashboard/kreishaken.png";
|
symbolPruefung = "/images/dashboard/kreishaken.png";
|
||||||
} else {
|
} else {
|
||||||
symbolPruefung = "/images/dashboard/kreiskreuz.png";
|
symbolPruefung = "/images/dashboard/kreiskreuz.png";
|
||||||
@@ -205,7 +205,7 @@
|
|||||||
" x " +
|
" x " +
|
||||||
aufnahme.flaeche +
|
aufnahme.flaeche +
|
||||||
" m² Energetische Nutzfläche (Keller " +
|
" m² Energetische Nutzfläche (Keller " +
|
||||||
ausweis.keller_beheizt +
|
aufnahme.keller +
|
||||||
" ) in m²";
|
" ) in m²";
|
||||||
table3Z1 = aufnahme.flaeche;
|
table3Z1 = aufnahme.flaeche;
|
||||||
table3Z2 = calculations?.energetischeNutzflaeche;
|
table3Z2 = calculations?.energetischeNutzflaeche;
|
||||||
@@ -229,7 +229,7 @@
|
|||||||
" kWh/" +
|
" kWh/" +
|
||||||
ausweis.einheit_1 +
|
ausweis.einheit_1 +
|
||||||
" >> Verbrauch 1 " +
|
" >> Verbrauch 1 " +
|
||||||
aufnahme.brennstoff_1 +
|
ausweis.brennstoff_1 +
|
||||||
" in kWh";
|
" in kWh";
|
||||||
tooltip4Z2 =
|
tooltip4Z2 =
|
||||||
"(" +
|
"(" +
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
" kWh/" +
|
" kWh/" +
|
||||||
ausweis.einheit_2 +
|
ausweis.einheit_2 +
|
||||||
" >> Verbrauch 2 " +
|
" >> Verbrauch 2 " +
|
||||||
aufnahme.brennstoff_2 +
|
ausweis.brennstoff_2 +
|
||||||
" in kWh";
|
" in kWh";
|
||||||
table4Z1 = calculations?.energieVerbrauchGesamt_1;
|
table4Z1 = calculations?.energieVerbrauchGesamt_1;
|
||||||
table4Z2 = calculations?.energieVerbrauchGesamt_2;
|
table4Z2 = calculations?.energieVerbrauchGesamt_2;
|
||||||
@@ -764,7 +764,7 @@
|
|||||||
<div slot="tooltip">
|
<div slot="tooltip">
|
||||||
<span>{aufnahme.prueftext}</span>
|
<span>{aufnahme.prueftext}</span>
|
||||||
</div>
|
</div>
|
||||||
{#if aufnahme.boxpruefung}
|
{#if ausweis.boxpruefung}
|
||||||
<CheckCircled size={22}></CheckCircled>
|
<CheckCircled size={22}></CheckCircled>
|
||||||
{:else}
|
{:else}
|
||||||
<CrossCircled size={22}></CrossCircled>
|
<CrossCircled size={22}></CrossCircled>
|
||||||
@@ -880,7 +880,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Informationen des Nutzers</td>
|
<td>Informationen des Nutzers</td>
|
||||||
<td>{aufnahme.boxpruefung}</td>
|
<td>{ausweis.boxpruefung}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>UID</td>
|
<td>UID</td>
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { PRICES } from "#lib/constants";
|
import { PRICES } from "#lib/constants";
|
||||||
import { Enums } from "#lib/client/prisma";
|
import { Enums } from "#lib/client/prisma";
|
||||||
export let bullets;
|
|
||||||
export let title;
|
|
||||||
export let ref = "";
|
export let ref = "";
|
||||||
|
|
||||||
bullets = [
|
const bullets = [
|
||||||
["Prüfung durch Dipl. Ing.<br>Registrierung beim DiBt<br>rechtssicher nach GEG",true, true, true],
|
["Prüfung durch Dipl. Ing.<br>Registrierung beim DiBt<br>rechtssicher nach GEG",true, true, true],
|
||||||
["Originalausweis als PDF per <span class='text-nowrap'>E-Mail</span><br>Originalausweis per Post (zubuchbar)",true, true, true],
|
["Originalausweis als PDF per <span class='text-nowrap'>E-Mail</span><br>Originalausweis per Post (zubuchbar)",true, true, true],
|
||||||
["Bearbeitung innerhalb 24 Stunden<br>Selbsteingabe",true, true, false],
|
["Bearbeitung innerhalb 24 Stunden<br>Selbsteingabe",true, true, false],
|
||||||
@@ -17,7 +15,6 @@
|
|||||||
["telefonische Beratung<br>persönlicher Energieberater",false, true, true],
|
["telefonische Beratung<br>persönlicher Energieberater",false, true, true],
|
||||||
["Dokumentenupload (Verbrauchsabrechnungen)",false, false, true],
|
["Dokumentenupload (Verbrauchsabrechnungen)",false, false, true],
|
||||||
["Eingabe durch Dipl. Ing.",false, false, true],
|
["Eingabe durch Dipl. Ing.",false, false, true],
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,24 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import { VerbrauchsausweisGewerbe, VerbrauchsausweisWohnen } from "#lib/server/prisma.js";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
|
||||||
export let addYear: number;
|
export let addYear: number;
|
||||||
export let heizquelle: number;
|
export let heizquelle: number;
|
||||||
export let aufnahme;
|
export let aufnahme;
|
||||||
export let ausweis;
|
export let ausweis: VerbrauchsausweisWohnen | VerbrauchsausweisGewerbe;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if ausweis.startdatum}
|
{#if ausweis.startdatum}
|
||||||
Bitte geben Sie Ihren
|
Bitte geben Sie Ihren
|
||||||
{#if heizquelle == 1}
|
{#if heizquelle == 1}
|
||||||
{#if aufnahme.brennstoff_1}<b>
|
{#if ausweis.brennstoff_1}<b>
|
||||||
{aufnahme.brennstoff_1}
|
{ausweis.brennstoff_1}
|
||||||
</b>{/if}
|
</b>{/if}
|
||||||
Verbrauch {#if ausweis.einheit_1}
|
Verbrauch {#if ausweis.einheit_1}
|
||||||
in <b>{ausweis.einheit_1} </b>{/if}
|
in <b>{ausweis.einheit_1} </b>{/if}
|
||||||
{:else if heizquelle == 2}
|
{:else if heizquelle == 2}
|
||||||
{#if aufnahme.brennstoff_2}<b>
|
{#if ausweis.brennstoff_2}<b>
|
||||||
{aufnahme.brennstoff_2}
|
{ausweis.brennstoff_2}
|
||||||
</b>{/if}
|
</b>{/if}
|
||||||
Verbräuche {#if ausweis.einheit_2}
|
Verbräuche {#if ausweis.einheit_2}
|
||||||
in <b>{ausweis.einheit_2} </b>{/if}
|
in <b>{ausweis.einheit_2} </b>{/if}
|
||||||
|
|||||||
@@ -2,14 +2,17 @@ import fuelList from "#components/Ausweis/brennstoffListe.js";
|
|||||||
import { faker } from "@faker-js/faker";
|
import { faker } from "@faker-js/faker";
|
||||||
import "cypress-file-upload"
|
import "cypress-file-upload"
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { Aufnahme, Enums, Objekt, VerbrauchsausweisWohnen } from "#lib/client/prisma.js";
|
import { Aufnahme, Benutzer, Enums, Objekt, Rechnung, VerbrauchsausweisWohnen } from "#lib/client/prisma.js";
|
||||||
|
|
||||||
describe("Verbrauchsausweis für Wohngebäude bearbeiten", async () => {
|
describe("Verbrauchsausweis für Wohngebäude bearbeiten", async () => {
|
||||||
it("bearbeitet einen bereits existierenden Verbrauchsausweis für Wohngebäude", () => {
|
it("bearbeitet einen bereits existierenden Verbrauchsausweis für Wohngebäude", () => {
|
||||||
cy.task("verbrauchsausweisWohnen", {
|
cy.task("verbrauchsausweisWohnen", {
|
||||||
where: {
|
where: {
|
||||||
ausgestellt: false,
|
ausgestellt: false,
|
||||||
bestellt: false
|
bestellt: false,
|
||||||
|
benutzer: {
|
||||||
|
email: "user@ib-cornelsen.de"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
include: {
|
include: {
|
||||||
aufnahme: {
|
aufnahme: {
|
||||||
@@ -17,261 +20,171 @@ describe("Verbrauchsausweis für Wohngebäude bearbeiten", async () => {
|
|||||||
objekt: true
|
objekt: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
benutzer: true
|
benutzer: true,
|
||||||
|
rechnung: true
|
||||||
}
|
}
|
||||||
}).then((ausweis: VerbrauchsausweisWohnen & { aufnahme: Aufnahme & { objekt: Objekt } }) => {
|
}).then((ausweis: VerbrauchsausweisWohnen & { benutzer: Benutzer, aufnahme: Aufnahme & { objekt: Objekt }, rechnung: Rechnung | null }) => {
|
||||||
|
cy.login("user@ib-cornelsen.de", "passwort");
|
||||||
|
|
||||||
cy.visit(`/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?id=${ausweis.id}`);
|
cy.visit(`/energieausweis-erstellen/verbrauchsausweis-wohngebaeude?id=${ausweis.id}`);
|
||||||
|
|
||||||
cy.wait(2000);
|
cy.wait(2000);
|
||||||
|
|
||||||
|
|
||||||
// Wir überprüfen, ob alle Ausstelgründe vorhanden sind, diese sollten genau so viele sein wie in der Datenbank vorhanden sind.
|
// Wir überprüfen, ob alle Ausstelgründe vorhanden sind, diese sollten genau so viele sein wie in der Datenbank vorhanden sind.
|
||||||
cy.get("select[data-cy='ausstellgrund']")
|
cy.get("select[data-cy='ausstellgrund']")
|
||||||
.find("option:selected").should("have.value", ausweis.ausstellgrund)
|
.find("option:selected").should("have.value", ausweis.ausstellgrund)
|
||||||
|
|
||||||
// Jetzt Füllen wir das Baujahr vom Gebäude aus.
|
// // Jetzt Füllen wir das Baujahr vom Gebäude aus.
|
||||||
cy.get("input[name='baujahr_gebaeude']")
|
// cy.get("input[name='baujahr_gebaeude']")
|
||||||
.should("have.value", ausweis.aufnahme.baujahr_gebaeude[0])
|
// .should("have.value", ausweis.aufnahme.baujahr_gebaeude[0])
|
||||||
|
|
||||||
// Jetzt Füllen wir das Baujahr der Heizung aus.
|
// // Jetzt Füllen wir das Baujahr der Heizung aus.
|
||||||
cy.get("input[name='baujahr_heizung']")
|
// cy.get("input[name='baujahr_heizung']")
|
||||||
.should("have.value", ausweis.aufnahme.baujahr_heizung[0])
|
// .should("have.value", ausweis.aufnahme.baujahr_heizung[0])
|
||||||
|
|
||||||
// Anzahl Einheiten
|
// Anzahl Einheiten
|
||||||
cy.get("input[name='einheiten']")
|
cy.get("input[name='einheiten']")
|
||||||
.should("have.value", ausweis.aufnahme.einheiten)
|
.should("have.value", ausweis.aufnahme.einheiten)
|
||||||
|
|
||||||
// Sanierungsstatus
|
// Sanierungsstatus
|
||||||
cy.get("select[name='saniert']").find("option:selected").should("have.value", ausweis.aufnahme.saniert)
|
cy.get("select[name='saniert']").find("option:selected").should("have.value", (ausweis.aufnahme.saniert || false).toString())
|
||||||
|
|
||||||
// Adresse
|
// Adresse
|
||||||
cy.get("input[name='adresse']").should("have.value", ausweis.aufnahme.objekt.adresse);
|
cy.get("input[name='adresse']").should("have.value", ausweis.aufnahme.objekt.adresse);
|
||||||
|
|
||||||
// Postleitzahl
|
// Postleitzahl
|
||||||
cy.get("input[name='plz']").type(
|
cy.get("input[name='plz']").should("have.value", ausweis.aufnahme.objekt.plz);
|
||||||
faker.location.zipCode({
|
cy.get("input[name='ort']").should("have.value", ausweis.aufnahme.objekt.ort);
|
||||||
format: "#####",
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
// TODO: Ort - Dieser wird aus der Datenbank abgefragt, wir müssen also warten, bis der Dropdown da ist.
|
|
||||||
cy.get("[data-cy='plz-container']").find("button").first().click()
|
|
||||||
|
|
||||||
// Flaeche
|
// Flaeche
|
||||||
cy.get("input[name='flaeche']")
|
cy.get("input[name='flaeche']")
|
||||||
.should("have.attr", "type", "number")
|
.should("have.value", ausweis.aufnahme.flaeche)
|
||||||
.type(faker.number.int({ min: 50, max: 1000 }).toString());
|
|
||||||
|
|
||||||
// Nutzflaeche
|
// Nutzflaeche
|
||||||
cy.get("input[name='nutzflaeche']")
|
cy.get("input[name='nutzflaeche']")
|
||||||
.should("have.attr", "type", "number")
|
.should("have.value", ausweis.aufnahme.nutzflaeche)
|
||||||
.type(faker.number.int({ min: 50, max: 1000 }).toString());
|
|
||||||
|
|
||||||
// Keller
|
// Keller
|
||||||
cy.get("select[name='keller']").find("option:not([disabled])").should("have.length", (["BEHEIZT", "NICHT_VORHANDEN", "UNBEHEIZT"] as Enums.Heizungsstatus[]).length).parent().select(faker.number.int({
|
cy.get("select[name='keller']").find("option:selected").should("have.value", ausweis.aufnahme.keller)
|
||||||
max: (["BEHEIZT", "NICHT_VORHANDEN", "UNBEHEIZT"] as Enums.Heizungsstatus[]).length,
|
|
||||||
min: 1
|
|
||||||
}));
|
|
||||||
|
|
||||||
// Dachgeschoss
|
// Dachgeschoss
|
||||||
cy.get("select[name='dachgeschoss']").find("option:not([disabled])").should("have.length", (["BEHEIZT", "NICHT_VORHANDEN", "UNBEHEIZT"] as Enums.Heizungsstatus[]).length).parent().select(faker.number.int({
|
cy.get("select[name='dachgeschoss']").find("option:selected").should("have.value", ausweis.aufnahme.dachgeschoss)
|
||||||
max: (["BEHEIZT", "NICHT_VORHANDEN", "UNBEHEIZT"] as Enums.Heizungsstatus[]).length,
|
|
||||||
min: 1
|
|
||||||
}));
|
|
||||||
|
|
||||||
// Brennstoff und Einheit 1
|
cy.get("select[name='brennstoff_1']").should("have.value", ausweis.brennstoff_1)
|
||||||
const brennstoffKombo = fuelList[faker.number.int({ min: 0, max: fuelList.length - 1 })];
|
cy.get("select[name='einheit_1']").should("have.value", ausweis.einheit_1)
|
||||||
|
|
||||||
cy.get("select[name='brennstoff_1']").select(brennstoffKombo[0]);
|
|
||||||
cy.get("select[name='einheit_1']").select(brennstoffKombo[1]);
|
|
||||||
|
|
||||||
let availableDates = [];
|
|
||||||
const startDate = moment()
|
|
||||||
.subtract(4, "years")
|
|
||||||
.subtract(6, "months");
|
|
||||||
const endDate = moment().subtract(3, "years");
|
|
||||||
|
|
||||||
for (let m = moment(startDate); m.isBefore(endDate); m.add(1, "month")) {
|
|
||||||
availableDates.push({
|
|
||||||
year: m.year(),
|
|
||||||
month: m.month(),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Verbrauchszeitraum
|
// Verbrauchszeitraum
|
||||||
cy.get("select[name='energieverbrauch_zeitraum_jahr']").select(availableDates[0].year.toString());
|
cy.get("select[name='energieverbrauch_zeitraum_jahr']").find("option:selected").should("have.value", moment(ausweis.startdatum).get("year"))
|
||||||
cy.get("select[name='energieverbrauch_zeitraum_monat']").select(availableDates[0].month.toString());
|
cy.get("select[name='energieverbrauch_zeitraum_monat']").find("option:selected").should("have.value", moment(ausweis.startdatum).get("m") + 1)
|
||||||
|
|
||||||
|
|
||||||
// Verbrauch
|
// Verbrauch
|
||||||
cy.get("input[name='verbrauch_1']").type(faker.number.int({ min: 4000, max: 15000 }).toString(), { force: true });
|
cy.get("input[name='verbrauch_1']").should("have.value", ausweis.verbrauch_1);
|
||||||
cy.get("input[name='verbrauch_2']").type(faker.number.int({ min: 4000, max: 15000 }).toString(), { force: true });
|
cy.get("input[name='verbrauch_2']").should("have.value", ausweis.verbrauch_2);
|
||||||
cy.get("input[name='verbrauch_3']").type(faker.number.int({ min: 4000, max: 15000 }).toString(), { force: true });
|
cy.get("input[name='verbrauch_3']").should("have.value", ausweis.verbrauch_3);
|
||||||
|
|
||||||
|
|
||||||
const zusaetzlicheHeizquelle = Math.random() > 0.5;
|
|
||||||
|
|
||||||
if (zusaetzlicheHeizquelle) {
|
if (ausweis.zusaetzliche_heizquelle) {
|
||||||
cy.get("[data-cy='zusaetzliche_heizquelle']").check();
|
cy.get("[data-cy='zusaetzliche_heizquelle']").should("be.checked");
|
||||||
|
|
||||||
// Brennstoff und Einheit 2
|
cy.get("[data-cy='brennstoff_2']").find("option:selected").should("have.value", ausweis.brennstoff_2);
|
||||||
const brennstoffKombo2 = fuelList[faker.number.int({ min: 0, max: fuelList.length - 1 })];
|
cy.get("[data-cy='einheit_2']").find("option:selected").should("have.value", ausweis.einheit_2);
|
||||||
|
|
||||||
cy.get("[data-cy='brennstoff_2']").select(brennstoffKombo2[0], { force: true });
|
|
||||||
cy.get("[data-cy='einheit_2']").select(brennstoffKombo2[1], { force: true });
|
|
||||||
|
|
||||||
// Verbrauch
|
// Verbrauch
|
||||||
cy.get("input[name='verbrauch_4']").type(faker.number.int({ min: 4000, max: 15000 }).toString(), { force: true });
|
cy.get("input[name='verbrauch_4']").should("have.value", ausweis.verbrauch_4);
|
||||||
cy.get("input[name='verbrauch_5']").type(faker.number.int({ min: 4000, max: 15000 }).toString(), { force: true });
|
cy.get("input[name='verbrauch_5']").should("have.value", ausweis.verbrauch_5);
|
||||||
cy.get("input[name='verbrauch_6']").type(faker.number.int({ min: 4000, max: 15000 }).toString(), { force: true });
|
cy.get("input[name='verbrauch_6']").should("have.value", ausweis.verbrauch_6);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Warmwasser enthalten und bekannt
|
if (ausweis.warmwasser_enthalten) {
|
||||||
const warmwasserEnthalten = Math.random() > 0.5;
|
cy.get("input[name='warmwasser_enthalten']").should("be.checked");
|
||||||
const anteilBekannt = Math.random() > 0.5;
|
|
||||||
|
|
||||||
if (warmwasserEnthalten) {
|
if (ausweis.warmwasser_anteil_bekannt) {
|
||||||
cy.get("input[name='warmwasser_enthalten']").check();
|
|
||||||
|
|
||||||
if (anteilBekannt) {
|
|
||||||
// Der Anteil ist bekannt, wir müssen ihn also angeben.
|
// Der Anteil ist bekannt, wir müssen ihn also angeben.
|
||||||
cy.get("input[name='warmwasser_anteil_bekannt']").check();
|
cy.get("input[name='warmwasser_anteil_bekannt']").should("be.checked");
|
||||||
|
|
||||||
cy.get("input[name='anteil_warmwasser_1']").type(faker.number.int({ min: 0, max: 50 }).toString());
|
cy.get("input[name='anteil_warmwasser_1']").should("have.value", ausweis.anteil_warmwasser_1);
|
||||||
|
|
||||||
if (zusaetzlicheHeizquelle) {
|
if (ausweis.zusaetzliche_heizquelle) {
|
||||||
// Zusätzliche Heizquelle existiert, also müssen wir auch hier den Anteil angeben.
|
// Zusätzliche Heizquelle existiert, also müssen wir auch hier den Anteil angeben.
|
||||||
cy.get("input[name='anteil_warmwasser_2']").type(faker.number.int({ min: 0, max: 50 }).toString(), {force: true});
|
cy.get("input[name='anteil_warmwasser_2']").should('have.value', ausweis.anteil_warmwasser_2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alternative Energieversorgungssysteme
|
// Alternative Energieversorgungssysteme
|
||||||
if (Math.random() > 0.5) cy.get("input[name='alternative_heizung']").check();
|
if (ausweis.alternative_heizung) cy.get("input[name='alternative_heizung']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("input[name='alternative_warmwasser']").check();
|
if (ausweis.alternative_warmwasser) cy.get("input[name='alternative_warmwasser']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("input[name='alternative_lueftung']").check();
|
if (ausweis.alternative_lueftung) cy.get("input[name='alternative_lueftung']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("input[name='alternative_kuehlung']").check();
|
if (ausweis.alternative_kuehlung) cy.get("input[name='alternative_kuehlung']").should("be.checked");
|
||||||
|
|
||||||
// Gebäudetyp
|
// Gebäudetyp
|
||||||
cy.get("select[name='gebaeudetyp']").then(($dropdown) => {
|
cy.get("select[name='gebaeudetyp']").find("option:selected").should("have.value", ausweis.aufnahme.gebaeudetyp)
|
||||||
const options = $dropdown.find('option');
|
|
||||||
// Select the option at the random index
|
|
||||||
cy.get("select[name='gebaeudetyp']").select(options.eq(faker.number.int({ min: 1, max: options.length - 1 })).val() as string);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Gebäudeteil
|
// Gebäudeteil
|
||||||
cy.get("select[name='gebaeudeteil']").then(($dropdown) => {
|
cy.get("select[name='gebaeudeteil']").find("option:selected").should("have.value", ausweis.aufnahme.gebaeudeteil)
|
||||||
const options = $dropdown.find('option');
|
|
||||||
// Select the option at the random index
|
|
||||||
cy.get("select[name='gebaeudeteil']").select(options.eq(faker.number.int({ min: 1, max: options.length - 1 })).val() as string);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Lüftung
|
// Lüftung
|
||||||
cy.get("select[name='lueftung']").then(($dropdown) => {
|
cy.get("select[name='lueftung']").find("option:selected").should("have.value", ausweis.aufnahme.lueftung)
|
||||||
const options = $dropdown.find('option');
|
|
||||||
// Select the option at the random index
|
|
||||||
cy.get("select[name='lueftung']").select(options.eq(faker.number.int({ min: 1, max: options.length - 1 })).val() as string);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Kühlung
|
// Kühlung
|
||||||
cy.get("select[name='kuehlung']").then(($dropdown) => {
|
cy.get("select[name='kuehlung']").find("option:selected").should("have.value", ausweis.aufnahme.kuehlung)
|
||||||
const options = $dropdown.find('option');
|
|
||||||
// Select the option at the random index
|
|
||||||
cy.get("select[name='kuehlung']").select(options.eq(faker.number.int({ min: 1, max: options.length - 1 })).val() as string, { force: true });
|
|
||||||
});
|
|
||||||
|
|
||||||
// Leerstand
|
// Leerstand
|
||||||
cy.get("input[name='leerstand']").should("have.attr", "type", "number").type(faker.number.int({ min: 0, max: 30 }).toString());
|
cy.get("input[name='leerstand']").should("have.value", ausweis.aufnahme.leerstand || "");
|
||||||
|
|
||||||
// Heizungsanlage Daten
|
// Heizungsanlage Daten
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='zentralheizung']").check();
|
if (ausweis.aufnahme.zentralheizung) cy.get("[data-cy='zentralheizung']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='einzelofen']").check();
|
if (ausweis.aufnahme.einzelofen) cy.get("[data-cy='einzelofen']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='durchlauf_erhitzer']").check();
|
if (ausweis.aufnahme.durchlauf_erhitzer) cy.get("[data-cy='durchlauf_erhitzer']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='standard_kessel']").check();
|
if (ausweis.aufnahme.standard_kessel) cy.get("[data-cy='standard_kessel']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='solarsystem_warmwasser']").check();
|
if (ausweis.aufnahme.solarsystem_warmwasser) cy.get("[data-cy='solarsystem_warmwasser']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='waermepumpe']").check();
|
if (ausweis.aufnahme.waermepumpe) cy.get("[data-cy='waermepumpe']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='niedertemperatur_kessel']").check();
|
if (ausweis.aufnahme.niedertemperatur_kessel) cy.get("[data-cy='niedertemperatur_kessel']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='brennwert_kessel']").check();
|
if (ausweis.aufnahme.brennwert_kessel) cy.get("[data-cy='brennwert_kessel']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='warmwasser_rohre_gedaemmt']").check();
|
if (ausweis.aufnahme.warmwasser_rohre_gedaemmt) cy.get("[data-cy='warmwasser_rohre_gedaemmt']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='heizungsrohre_gedaemmt']").check();
|
if (ausweis.aufnahme.heizungsrohre_gedaemmt) cy.get("[data-cy='heizungsrohre_gedaemmt']").should("be.checked");
|
||||||
if (Math.random() > 0.5) cy.get("[data-cy='zirkulation']").check();
|
if (ausweis.aufnahme.zirkulation) cy.get("[data-cy='zirkulation']").should("be.checked");
|
||||||
// if (Math.random() > 0.5) cy.get("[data-cy='raum_temperatur_regler']").check();
|
|
||||||
|
|
||||||
// Heizungsanlage Bilder
|
|
||||||
cy.get("input[name='heizung_image']").should("have.attr", "type", "file").attachFile("images/heizungsanlage/1.jpeg", { subjectType: "input" });
|
|
||||||
cy.get("input[name='heizung_image']").should("have.attr", "type", "file").attachFile("images/heizungsanlage/2.jpeg", { subjectType: "input" });
|
|
||||||
|
|
||||||
// Fenster Daten
|
// Fenster Daten
|
||||||
if (Math.random() > 0.5) cy.get("input[name='einfach_verglasung']").check();
|
if (ausweis.aufnahme.einfach_verglasung) cy.get("input[name='einfach_verglasung']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='doppel_verglasung']").check();
|
if (ausweis.aufnahme.doppel_verglasung) cy.get("input[name='doppel_verglasung']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='isolier_verglasung']").check();
|
if (ausweis.aufnahme.isolier_verglasung) cy.get("input[name='isolier_verglasung']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='dreifach_verglasung']").check();
|
if (ausweis.aufnahme.dreifach_verglasung) cy.get("input[name='dreifach_verglasung']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='fenster_dicht']").check();
|
if (ausweis.aufnahme.fenster_dicht) cy.get("input[name='fenster_dicht']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='fenster_teilweise_undicht']").check();
|
if (ausweis.aufnahme.fenster_teilweise_undicht) cy.get("input[name='fenster_teilweise_undicht']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='tueren_dicht']").check();
|
if (ausweis.aufnahme.tueren_dicht) cy.get("input[name='tueren_dicht']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='tueren_undicht']").check();
|
if (ausweis.aufnahme.tueren_undicht) cy.get("input[name='tueren_undicht']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='rolllaeden_kaesten_gedaemmt']").check();
|
if (ausweis.aufnahme.rolllaeden_kaesten_gedaemmt) cy.get("input[name='rolllaeden_kaesten_gedaemmt']").check();
|
||||||
|
|
||||||
// Fenster Bilder
|
|
||||||
cy.get("input[name='fenster_image']").should("have.attr", "type", "file").attachFile("images/fenster/1.jpeg", { subjectType: "input" });
|
|
||||||
cy.get("input[name='fenster_image']").should("have.attr", "type", "file").attachFile("images/fenster/2.jpeg", { subjectType: "input" });
|
|
||||||
|
|
||||||
// Wärmedämmung Daten
|
// Wärmedämmung Daten
|
||||||
if (Math.random() > 0.5) cy.get("input[name='aussenwand_gedaemmt']").check();
|
if (ausweis.aufnahme.aussenwand_gedaemmt) cy.get("input[name='aussenwand_gedaemmt']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='keller_wand_gedaemmt']").check();
|
if (ausweis.aufnahme.keller_wand_gedaemmt) cy.get("input[name='keller_wand_gedaemmt']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='keller_decke_gedaemmt']").check();
|
if (ausweis.aufnahme.keller_decke_gedaemmt) cy.get("input[name='keller_decke_gedaemmt']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='dachgeschoss_gedaemmt']").check();
|
if (ausweis.aufnahme.dachgeschoss_gedaemmt) cy.get("input[name='dachgeschoss_gedaemmt']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='oberste_geschossdecke_gedaemmt']").check();
|
if (ausweis.aufnahme.oberste_geschossdecke_gedaemmt) cy.get("input[name='oberste_geschossdecke_gedaemmt']").check();
|
||||||
if (Math.random() > 0.5) cy.get("input[name='oberste_geschossdecke_min_12cm_gedaemmt']").check();
|
if (ausweis.aufnahme.oberste_geschossdecke_min_12cm_gedaemmt) cy.get("input[name='oberste_geschossdecke_min_12cm_gedaemmt']").check();
|
||||||
|
|
||||||
// Wärmedämmung Bilder
|
|
||||||
cy.get("input[name='daemmung_image']").should("have.attr", "type", "file").attachFile("images/daemmung/1.jpeg", { subjectType: "input" });
|
|
||||||
cy.get("input[name='daemmung_image']").should("have.attr", "type", "file").attachFile("images/daemmung/2.jpeg", { subjectType: "input" });
|
|
||||||
|
|
||||||
// Gebäude Bild
|
|
||||||
cy.get("input[name='gebaeude_image']").should("have.attr", "type", "file").attachFile("images/gebaeude/1.jpeg", { subjectType: "input" });
|
|
||||||
|
|
||||||
// Jetzt können wir den Verbrauchsausweis erstellen.
|
// Jetzt können wir den Verbrauchsausweis erstellen.
|
||||||
cy.get("form[data-cy='ausweis'] button[data-cy='weiter']").click({ force: true });
|
cy.get("form[data-cy='ausweis'] button[data-cy='weiter']").click({ force: true });
|
||||||
|
|
||||||
cy.url().should("contain", "/kundendaten");
|
cy.url().should("contain", "/kundendaten");
|
||||||
|
|
||||||
const email = faker.internet.email();
|
cy.get("input[name='vorname']").should("have.value", ausweis.benutzer.vorname);
|
||||||
const passwort = "test1234";
|
cy.get("input[name='name']").should("have.value", ausweis.benutzer.name);
|
||||||
const vorname = faker.person.firstName();
|
cy.get("input[name='telefon']").should("have.value", ausweis.rechnung?.telefon || ausweis.benutzer.telefon || "");
|
||||||
const nachname = faker.person.lastName();
|
|
||||||
const telefon = faker.phone.number()
|
|
||||||
|
|
||||||
const strasse = faker.location.streetAddress({ useFullAddress: true })
|
|
||||||
const plz = faker.location.zipCode("#####")
|
|
||||||
|
|
||||||
cy.get("input[name='vorname']").should("have.attr", "type", "text").type(vorname);
|
|
||||||
cy.get("input[name='name']").should("have.attr", "type", "text").type(nachname);
|
|
||||||
cy.get("input[name='telefon']").should("have.attr", "type", "text").type(telefon);
|
|
||||||
// Rechnung
|
// Rechnung
|
||||||
cy.get("input[name='rechnung_empfaenger']").should("have.attr", "type", "text").type(`${vorname} ${nachname}`);
|
cy.get("input[name='rechnung_empfaenger']").should("have.value", ausweis.rechnung?.empfaenger || `${ausweis.benutzer.vorname} ${ausweis.benutzer.name}`);
|
||||||
cy.get("input[name='rechnung_strasse']").should("have.attr", "type", "text").type(strasse);
|
cy.get("input[name='rechnung_strasse']").should("have.value", ausweis.rechnung?.strasse || ausweis.benutzer.adresse);
|
||||||
cy.get("input[name='rechnung_plz']").should("have.attr", "type", "text").type(plz);
|
cy.get("input[name='rechnung_plz']").should("have.value", ausweis.rechnung?.plz || ausweis.benutzer.plz);
|
||||||
cy.get("[data-cy='plz-container']").children().first().click()
|
cy.get("input[name='rechnung_email']").should("have.value", ausweis.rechnung?.email || ausweis.benutzer.email);
|
||||||
cy.get("input[name='rechnung_email']").should("have.attr", "type", "email").type(email);
|
|
||||||
|
|
||||||
cy.get("[data-cy='paypal']").click()
|
cy.get("[data-cy='paypal']").click()
|
||||||
|
|
||||||
cy.get("button[data-cy='bestellen']").click();
|
cy.get("button[data-cy='bestellen']").click();
|
||||||
|
|
||||||
cy.get("a[data-cy='registrieren']").should("be.visible").click();
|
|
||||||
|
|
||||||
// Wir sind jetzt registriert und können uns nun einloggen.
|
|
||||||
// Die Email sollte automatisch eingetragen sein, da wir uns gerade registriert haben.
|
|
||||||
cy.get("form[name='signup'] input[name='vorname']").should("be.visible").should("have.attr", "type", "text").type(vorname);
|
|
||||||
cy.get("form[name='signup'] input[name='nachname']").should("be.visible").should("have.attr", "type", "text").type(nachname);
|
|
||||||
cy.get("form[name='signup'] input[name='email']").should("be.visible").should("have.attr", "type", "email").should("contain.value", email);
|
|
||||||
cy.get("form[name='signup'] input[name='passwort']").should("be.visible").should("have.attr", "type", "password").type(passwort);
|
|
||||||
|
|
||||||
cy.intercept({ method: "PUT", url: "**/api/user" }).as("signup")
|
|
||||||
cy.get("form[name='signup'] button[type='submit']").click();
|
|
||||||
cy.wait("@signup")
|
|
||||||
cy.get("form[name='login'] button[type='submit']").click();
|
|
||||||
|
|
||||||
cy.origin('https://www.mollie.com', () => {
|
cy.origin('https://www.mollie.com', () => {
|
||||||
// Jetzt sind wir auf der Mollie Seite, dort wählen wir den "paid" status aus
|
// Jetzt sind wir auf der Mollie Seite, dort wählen wir den "paid" status aus
|
||||||
cy.get("input[type='radio'][name='final_state'][value='paid']").check();
|
cy.get("input[type='radio'][name='final_state'][value='paid']").check();
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import * as z from "zod"
|
import * as z from "zod"
|
||||||
import { Ausweisart, Heizungsstatus, Heizungsstatus, Lueftungskonzept } from "@prisma/client"
|
import { Heizungsstatus, Heizungsstatus, Lueftungskonzept } from "@prisma/client"
|
||||||
|
|
||||||
export const AufnahmeSchema = z.object({
|
export const AufnahmeSchema = z.object({
|
||||||
id: z.string(),
|
id: z.string(),
|
||||||
benutzer_id: z.string().nullish(),
|
benutzer_id: z.string().nullish(),
|
||||||
ausweisart: z.nativeEnum(Ausweisart).describe("Art des korrespondierenden Ausweises, wie z.B. VerbrauchsausweisWohnen").nullish(),
|
|
||||||
gebaeudetyp: z.string().describe("Art des Gebäudes und seiner primären Nutzungsart").nullish(),
|
gebaeudetyp: z.string().describe("Art des Gebäudes und seiner primären Nutzungsart").nullish(),
|
||||||
gebaeudeteil: z.string().describe("Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil").nullish(),
|
gebaeudeteil: z.string().describe("Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil").nullish(),
|
||||||
baujahr_gebaeude: z.number().int().array().describe("Alle Jahre in denen das Gebäude konstruiert oder grundlegend verändert wurde"),
|
baujahr_gebaeude: z.number().int().array().describe("Alle Jahre in denen das Gebäude konstruiert oder grundlegend verändert wurde"),
|
||||||
@@ -23,12 +22,7 @@ export const AufnahmeSchema = z.object({
|
|||||||
alternative_warmwasser: z.boolean().describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
alternative_warmwasser: z.boolean().describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
||||||
alternative_lueftung: z.boolean().describe("Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
alternative_lueftung: z.boolean().describe("Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
||||||
alternative_kuehlung: z.boolean().describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
alternative_kuehlung: z.boolean().describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen").nullish(),
|
||||||
brennstoff_1: z.string().describe("Genutzer Brennstoff der primären Energiequelle").nullish(),
|
erstellungsdatum: z.date().describe("Datum an dem der Kunde die Aufnahme erstellt hat").nullish(),
|
||||||
brennstoff_2: z.string().describe("Genutzer Brennstoff der sekundären Energiequelle").nullish(),
|
|
||||||
boxpruefung: z.boolean().nullish(),
|
|
||||||
energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(),
|
|
||||||
erstellungsdatum: z.date().describe("Datum an dem der Kunde den Ausweis erstellt hat").nullish(),
|
|
||||||
ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(),
|
|
||||||
zentralheizung: z.boolean().describe("Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen").nullish(),
|
zentralheizung: z.boolean().describe("Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen").nullish(),
|
||||||
solarsystem_warmwasser: z.boolean().describe("Falls das Gebäude über ein Solarsystem für Warmwasser verfügt, sollte dieser Wert auf true stehen").nullish(),
|
solarsystem_warmwasser: z.boolean().describe("Falls das Gebäude über ein Solarsystem für Warmwasser verfügt, sollte dieser Wert auf true stehen").nullish(),
|
||||||
warmwasser_rohre_gedaemmt: z.boolean().describe("Falls die Warmwasserrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
warmwasser_rohre_gedaemmt: z.boolean().describe("Falls die Warmwasserrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen").nullish(),
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ export const BedarfsausweisWohnenSchema = z.object({
|
|||||||
alternative_warmwasser: z.boolean().nullish(),
|
alternative_warmwasser: z.boolean().nullish(),
|
||||||
alternative_lueftung: z.boolean().nullish(),
|
alternative_lueftung: z.boolean().nullish(),
|
||||||
alternative_kuehlung: z.boolean().nullish(),
|
alternative_kuehlung: z.boolean().nullish(),
|
||||||
|
energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(),
|
||||||
|
ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(),
|
||||||
|
boxpruefung: z.boolean().nullish(),
|
||||||
anzahl_vollgeschosse: z.number().int().nullish(),
|
anzahl_vollgeschosse: z.number().int().nullish(),
|
||||||
geschosshoehe: z.number().nullish(),
|
geschosshoehe: z.number().nullish(),
|
||||||
anzahl_gauben: z.number().int().nullish(),
|
anzahl_gauben: z.number().int().nullish(),
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
export * from "./anteilshaber.js"
|
export * from "./anteilshaber"
|
||||||
export * from "./apirequests.js"
|
export * from "./apirequests"
|
||||||
export * from "./aufnahme.js"
|
export * from "./aufnahme"
|
||||||
export * from "./bedarfsausweisgewerbe.js"
|
export * from "./bedarfsausweisgewerbe"
|
||||||
export * from "./bedarfsausweiswohnen.js"
|
export * from "./bedarfsausweiswohnen"
|
||||||
export * from "./benutzer.js"
|
export * from "./benutzer"
|
||||||
export * from "./bild.js"
|
export * from "./bild"
|
||||||
export * from "./event.js"
|
export * from "./event"
|
||||||
export * from "./gegeinpreisung.js"
|
export * from "./gegeinpreisung"
|
||||||
export * from "./gegnachweisgewerbe.js"
|
export * from "./gegnachweisgewerbe"
|
||||||
export * from "./gegnachweiswohnen.js"
|
export * from "./gegnachweiswohnen"
|
||||||
export * from "./klimafaktoren.js"
|
export * from "./klimafaktoren"
|
||||||
export * from "./objekt.js"
|
export * from "./objekt"
|
||||||
export * from "./postleitzahlen.js"
|
export * from "./postleitzahlen"
|
||||||
export * from "./rechnung.js"
|
export * from "./rechnung"
|
||||||
export * from "./refreshtokens.js"
|
export * from "./refreshtokens"
|
||||||
export * from "./tickets.js"
|
export * from "./tickets"
|
||||||
export * from "./unterlage.js"
|
export * from "./unterlage"
|
||||||
export * from "./verbrauchsausweisgewerbe.js"
|
export * from "./verbrauchsausweisgewerbe"
|
||||||
export * from "./verbrauchsausweiswohnen.js"
|
export * from "./verbrauchsausweiswohnen"
|
||||||
export * from "./documenttemplates.js"
|
export * from "./documenttemplates"
|
||||||
export * from "./documenttypes.js"
|
export * from "./documenttypes"
|
||||||
export * from "./tokens.js"
|
export * from "./tokens"
|
||||||
|
|||||||
@@ -7,9 +7,7 @@ export const VerbrauchsausweisGewerbeSchema = z.object({
|
|||||||
ausstellgrund: z.nativeEnum(Ausstellgrund).nullish(),
|
ausstellgrund: z.nativeEnum(Ausstellgrund).nullish(),
|
||||||
registriernummer: z.string().nullish(),
|
registriernummer: z.string().nullish(),
|
||||||
zusaetzliche_heizquelle: z.boolean().nullish(),
|
zusaetzliche_heizquelle: z.boolean().nullish(),
|
||||||
brennstoff_1: z.string().nullish(),
|
|
||||||
einheit_1: z.string().nullish(),
|
einheit_1: z.string().nullish(),
|
||||||
brennstoff_2: z.string().nullish(),
|
|
||||||
einheit_2: z.string().nullish(),
|
einheit_2: z.string().nullish(),
|
||||||
startdatum: z.date().nullish(),
|
startdatum: z.date().nullish(),
|
||||||
verbrauch_1: z.number().int().nullish(),
|
verbrauch_1: z.number().int().nullish(),
|
||||||
@@ -18,6 +16,11 @@ export const VerbrauchsausweisGewerbeSchema = z.object({
|
|||||||
verbrauch_4: z.number().int().nullish(),
|
verbrauch_4: z.number().int().nullish(),
|
||||||
verbrauch_5: z.number().int().nullish(),
|
verbrauch_5: z.number().int().nullish(),
|
||||||
verbrauch_6: z.number().int().nullish(),
|
verbrauch_6: z.number().int().nullish(),
|
||||||
|
brennstoff_1: z.string().describe("Genutzer Brennstoff der primären Energiequelle").nullish(),
|
||||||
|
brennstoff_2: z.string().describe("Genutzer Brennstoff der sekundären Energiequelle").nullish(),
|
||||||
|
energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(),
|
||||||
|
ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(),
|
||||||
|
boxpruefung: z.boolean().nullish(),
|
||||||
strom_1: z.number().int().nullish(),
|
strom_1: z.number().int().nullish(),
|
||||||
strom_2: z.number().int().nullish(),
|
strom_2: z.number().int().nullish(),
|
||||||
strom_3: z.number().int().nullish(),
|
strom_3: z.number().int().nullish(),
|
||||||
|
|||||||
@@ -9,6 +9,11 @@ export const VerbrauchsausweisWohnenSchema = z.object({
|
|||||||
zusaetzliche_heizquelle: z.boolean().describe("Falls eine sekundäre Heizquelle existiert, sollte dieser Wert auf true stehen").nullish(),
|
zusaetzliche_heizquelle: z.boolean().describe("Falls eine sekundäre Heizquelle existiert, sollte dieser Wert auf true stehen").nullish(),
|
||||||
einheit_1: z.string().describe("Einheit des Energieträgers der primären Heizquelle").nullish(),
|
einheit_1: z.string().describe("Einheit des Energieträgers der primären Heizquelle").nullish(),
|
||||||
einheit_2: z.string().describe("Einheit des Energieträgers der sekundären Heizquelle").nullish(),
|
einheit_2: z.string().describe("Einheit des Energieträgers der sekundären Heizquelle").nullish(),
|
||||||
|
brennstoff_1: z.string().describe("Genutzer Brennstoff der primären Energiequelle").nullish(),
|
||||||
|
brennstoff_2: z.string().describe("Genutzer Brennstoff der sekundären Energiequelle").nullish(),
|
||||||
|
energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(),
|
||||||
|
ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(),
|
||||||
|
boxpruefung: z.boolean().nullish(),
|
||||||
startdatum: z.date().nullish(),
|
startdatum: z.date().nullish(),
|
||||||
verbrauch_1: z.number().int().describe("Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre").nullish(),
|
verbrauch_1: z.number().int().describe("Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre").nullish(),
|
||||||
verbrauch_2: z.number().int().describe("Energieverbrauch der primären Heizquelle im zweiten der drei Verbrauchsjahre").nullish(),
|
verbrauch_2: z.number().int().describe("Energieverbrauch der primären Heizquelle im zweiten der drei Verbrauchsjahre").nullish(),
|
||||||
@@ -18,7 +23,6 @@ export const VerbrauchsausweisWohnenSchema = z.object({
|
|||||||
verbrauch_6: z.number().int().describe("Energieverbrauch der sekund̈́ären Heizquelle im letzten der drei Verbrauchsjahre").nullish(),
|
verbrauch_6: z.number().int().describe("Energieverbrauch der sekund̈́ären Heizquelle im letzten der drei Verbrauchsjahre").nullish(),
|
||||||
warmwasser_enthalten: z.boolean().describe("Falls Warmwasser im Verbrauchswert enthalten ist, sollte dieser Wert auf true stehen").nullish(),
|
warmwasser_enthalten: z.boolean().describe("Falls Warmwasser im Verbrauchswert enthalten ist, sollte dieser Wert auf true stehen").nullish(),
|
||||||
warmwasser_anteil_bekannt: z.boolean().describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen").nullish(),
|
warmwasser_anteil_bekannt: z.boolean().describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen").nullish(),
|
||||||
keller_beheizt: z.boolean().describe("Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen").nullish(),
|
|
||||||
faktorKeller: z.number().describe("Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist.").nullish(),
|
faktorKeller: z.number().describe("Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist.").nullish(),
|
||||||
alternative_heizung: z.boolean().describe("Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet, sollte dieser Wert auf true stehen.").nullish(),
|
alternative_heizung: z.boolean().describe("Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet, sollte dieser Wert auf true stehen.").nullish(),
|
||||||
alternative_warmwasser: z.boolean().describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme (z.B. Solarsystem, Wärmepumpe, etc.) beinhaltet, sollte dieser Wert auf true stehen.").nullish(),
|
alternative_warmwasser: z.boolean().describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme (z.B. Solarsystem, Wärmepumpe, etc.) beinhaltet, sollte dieser Wert auf true stehen.").nullish(),
|
||||||
|
|||||||
@@ -99,13 +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 (aufnahme.brennstoff_1 && ausweis.einheit_1) {
|
if (ausweis.brennstoff_1 && ausweis.einheit_1) {
|
||||||
brennstoff_1 = getHeizwertfaktor(aufnahme.brennstoff_1, ausweis.einheit_1);
|
brennstoff_1 = getHeizwertfaktor(ausweis.brennstoff_1, ausweis.einheit_1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (aufnahme.brennstoff_2 && ausweis.einheit_2) {
|
if (ausweis.brennstoff_2 && ausweis.einheit_2) {
|
||||||
brennstoff_2 = getHeizwertfaktor(aufnahme.brennstoff_2, ausweis.einheit_2);
|
brennstoff_2 = getHeizwertfaktor(ausweis.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;
|
||||||
|
|||||||
@@ -64,11 +64,11 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016(
|
|||||||
// 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 = getHeizwertfaktor(
|
let brennstoff_1 = getHeizwertfaktor(
|
||||||
aufnahme.brennstoff_1 as string,
|
ausweis.brennstoff_1 as string,
|
||||||
ausweis.einheit_1 as string
|
ausweis.einheit_1 as string
|
||||||
);
|
);
|
||||||
let brennstoff_2 = getHeizwertfaktor(
|
let brennstoff_2 = getHeizwertfaktor(
|
||||||
aufnahme.brennstoff_2 as string,
|
ausweis.brennstoff_2 as string,
|
||||||
ausweis.einheit_2 as string
|
ausweis.einheit_2 as string
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
|
|
||||||
import { Ausweis } from "./Ausweis/Ausweis";
|
|
||||||
import { Dachgeschoss, Lueftungskonzept } from "./Ausweis/types";
|
|
||||||
import { BitChecker } from "./BitChecker";
|
|
||||||
|
|
||||||
export class Gebaeude {
|
|
||||||
public typ: string = "";
|
|
||||||
public plz: string = "";
|
|
||||||
public ort: string = "";
|
|
||||||
public strasse: string = "";
|
|
||||||
public gebaeudeteil: string = "";
|
|
||||||
public saniert: boolean = false;
|
|
||||||
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";
|
|
||||||
public wird_gekuehlt: boolean = false;
|
|
||||||
public leerstand: number = 0;
|
|
||||||
public versorgungssysteme: boolean[] = BitChecker(0);
|
|
||||||
public fenster_dach: boolean[] = BitChecker(0);
|
|
||||||
public energiequelle_2_nutzung: boolean[] = BitChecker(0);
|
|
||||||
public daemmung: boolean[] = BitChecker(0);
|
|
||||||
|
|
||||||
public ausweis: Ausweis;
|
|
||||||
|
|
||||||
public uid?: string;
|
|
||||||
|
|
||||||
public constructor(initializer?: Gebaeude) {
|
|
||||||
if (initializer) {
|
|
||||||
this.typ = initializer.typ;
|
|
||||||
this.plz = initializer.plz;
|
|
||||||
this.ort = initializer.ort;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { AufnahmeClient, BedarfsausweisWohnenClient, ObjektClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
import { AufnahmeClient, ObjektClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
||||||
import { Enums } from "#lib/client/prisma";
|
import { Enums } from "#lib/client/prisma.js";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
|
||||||
export function getEmpfehlungen(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient | BedarfsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient): {
|
export function getEmpfehlungen(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient): {
|
||||||
title: string,
|
title: string,
|
||||||
description: string,
|
description: string,
|
||||||
anlagenteil: string,
|
anlagenteil: string,
|
||||||
@@ -19,7 +19,6 @@ export function getEmpfehlungen(ausweis: VerbrauchsausweisWohnenClient | Verbrau
|
|||||||
let baujahr_anlagesanlage = aufnahme.baujahr_heizung && aufnahme.baujahr_heizung[0];
|
let baujahr_anlagesanlage = aufnahme.baujahr_heizung && aufnahme.baujahr_heizung[0];
|
||||||
let Zentralheizung = aufnahme.zentralheizung;
|
let Zentralheizung = aufnahme.zentralheizung;
|
||||||
let photovoltaik = aufnahme.photovoltaik;
|
let photovoltaik = aufnahme.photovoltaik;
|
||||||
let Brennstoff = aufnahme.brennstoff_1;
|
|
||||||
let Aussenwand_gedaemmt = aufnahme.aussenwand_gedaemmt;
|
let Aussenwand_gedaemmt = aufnahme.aussenwand_gedaemmt;
|
||||||
let Dachgeschoss = aufnahme.dachgeschoss;
|
let Dachgeschoss = aufnahme.dachgeschoss;
|
||||||
let Dachgeschoss_gedaemmt = aufnahme.dachgeschoss_gedaemmt;
|
let Dachgeschoss_gedaemmt = aufnahme.dachgeschoss_gedaemmt;
|
||||||
@@ -70,7 +69,7 @@ export function getEmpfehlungen(ausweis: VerbrauchsausweisWohnenClient | Verbrau
|
|||||||
|
|
||||||
let Relanlagenjahr = moment().year() - 35;
|
let Relanlagenjahr = moment().year() - 35;
|
||||||
|
|
||||||
if ((!Brennwertkessel && !Waermepumpe) && baujahr_anlagesanlage <= Relanlagenjahr && Brennstoff != 'Fernwärme' && Brennstoff != 'Strommix') {
|
if ((!Brennwertkessel && !Waermepumpe) && baujahr_anlagesanlage <= Relanlagenjahr && ausweis.brennstoff_1 != 'Fernwärme' && ausweis.brennstoff_1 != 'Strommix') {
|
||||||
empfehlungen.push({
|
empfehlungen.push({
|
||||||
"title" : "Anlagentechnik",
|
"title" : "Anlagentechnik",
|
||||||
"description" : "Prüfen Sie, ob Sie bei einer Umrüstung auf einen regenerativen Anteil von 65% kommen. Bei energetisch sanierten Gebäuden z.B. Wärmepumpe. Bei unsanieten Gebäuden Fernwärmeanschluss.",
|
"description" : "Prüfen Sie, ob Sie bei einer Umrüstung auf einen regenerativen Anteil von 65% kommen. Bei energetisch sanierten Gebäuden z.B. Wärmepumpe. Bei unsanieten Gebäuden Fernwärmeanschluss.",
|
||||||
@@ -126,7 +125,7 @@ export function getEmpfehlungen(ausweis: VerbrauchsausweisWohnenClient | Verbrau
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((baujahr_anlagesanlage <= (moment().year() - 30)) && (Brennstoff == "Heizöl" || Brennstoff == "Erdgas") && !Waermepumpe) {
|
if ((baujahr_anlagesanlage <= (moment().year() - 30)) && (ausweis.brennstoff_1 == "Heizöl" || ausweis.brennstoff_1 == "Erdgas") && !Waermepumpe) {
|
||||||
// Wärmepumpe
|
// Wärmepumpe
|
||||||
empfehlungen.push({
|
empfehlungen.push({
|
||||||
"title" : "Wärmeerzeuger",
|
"title" : "Wärmeerzeuger",
|
||||||
@@ -137,7 +136,7 @@ export function getEmpfehlungen(ausweis: VerbrauchsausweisWohnenClient | Verbrau
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!photovoltaik && Brennstoff == "Strommix") {
|
if (!photovoltaik && ausweis.brennstoff_1 == "Strommix") {
|
||||||
// Wärmepumpe
|
// Wärmepumpe
|
||||||
empfehlungen.push({
|
empfehlungen.push({
|
||||||
"title" : "Wärmeerzeuger",
|
"title" : "Wärmeerzeuger",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js";
|
||||||
import { faker } from "@faker-js/faker";
|
import { faker } from "@faker-js/faker";
|
||||||
import { Enums } from "#lib/client/prisma.js";
|
import { Aufnahme, Enums, VerbrauchsausweisWohnen } from "#lib/client/prisma.js";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
|
||||||
export async function importVerbrauchsausweisWohnenAltesSystem(count: number = 5) {
|
export async function importVerbrauchsausweisWohnenAltesSystem(count: number = 5) {
|
||||||
@@ -19,7 +19,7 @@ export async function importVerbrauchsausweisWohnenAltesSystem(count: number = 5
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function verbrauchsausweisWohnenImportTranslate(ausweis: Record<string, any>) {
|
export function verbrauchsausweisWohnenImportTranslate(ausweis: Record<string, any>) {
|
||||||
const ausweisTranslated: VerbrauchsausweisWohnenClient = {
|
const ausweisTranslated: VerbrauchsausweisWohnen & { aufnahme: Aufnahme } = {
|
||||||
aufnahme: {
|
aufnahme: {
|
||||||
rechnungen: null,
|
rechnungen: null,
|
||||||
baujahr_gebaeude: [ausweis.baujahr_gebaeude],
|
baujahr_gebaeude: [ausweis.baujahr_gebaeude],
|
||||||
@@ -58,7 +58,6 @@ export function verbrauchsausweisWohnenImportTranslate(ausweis: Record<string, a
|
|||||||
aussenwand_gedaemmt: ausweis.aussenwand_gedaemmt,
|
aussenwand_gedaemmt: ausweis.aussenwand_gedaemmt,
|
||||||
aussenwand_min_12cm_gedaemmt: ausweis.aussenwand_min_12cm_gedaemmt,
|
aussenwand_min_12cm_gedaemmt: ausweis.aussenwand_min_12cm_gedaemmt,
|
||||||
bestellt: ausweis.bestellt,
|
bestellt: ausweis.bestellt,
|
||||||
boxpruefung: ausweis.boxpruefung,
|
|
||||||
brennwert_kessel: ausweis.brennwert_kessel,
|
brennwert_kessel: ausweis.brennwert_kessel,
|
||||||
dachgeschoss_gedaemmt: ausweis.dachgeschoss_gedaemmt,
|
dachgeschoss_gedaemmt: ausweis.dachgeschoss_gedaemmt,
|
||||||
dachgeschoss_min_12cm_gedaemmt: ausweis.dachgeschoss_min_12cm_gedaemmt,
|
dachgeschoss_min_12cm_gedaemmt: ausweis.dachgeschoss_min_12cm_gedaemmt,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export async function loginClient(email: string, passwort: string): Promise<infe
|
|||||||
}
|
}
|
||||||
Cookies.set(API_ACCESS_TOKEN_COOKIE_NAME, response.accessToken, options);
|
Cookies.set(API_ACCESS_TOKEN_COOKIE_NAME, response.accessToken, options);
|
||||||
Cookies.set(API_REFRESH_TOKEN_COOKIE_NAME, response.refreshToken, options);
|
Cookies.set(API_REFRESH_TOKEN_COOKIE_NAME, response.refreshToken, options);
|
||||||
Cookies.set("uid", response.uid, options);
|
Cookies.set("uid", response.id, options);
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -165,14 +165,14 @@ export async function pdfDatenblattVerbrauchsausweisGewerbe(ausweis: Verbrauchsa
|
|||||||
</flex>
|
</flex>
|
||||||
<flex direction="column" gap="4">
|
<flex direction="column" gap="4">
|
||||||
<text></text>
|
<text></text>
|
||||||
<text size="12" font="bold">${aufnahme.brennstoff_1}</text>
|
<text size="12" font="bold">${ausweis.brennstoff_1}</text>
|
||||||
<text size="12">${ausweis.verbrauch_1} ${ausweis.einheit_1}</text>
|
<text size="12">${ausweis.verbrauch_1} ${ausweis.einheit_1}</text>
|
||||||
<text size="12">${ausweis.verbrauch_2} ${ausweis.einheit_1}</text>
|
<text size="12">${ausweis.verbrauch_2} ${ausweis.einheit_1}</text>
|
||||||
<text size="12">${ausweis.verbrauch_3} ${ausweis.einheit_1}</text>
|
<text size="12">${ausweis.verbrauch_3} ${ausweis.einheit_1}</text>
|
||||||
</flex>
|
</flex>
|
||||||
<flex direction="column" gap="4">
|
<flex direction="column" gap="4">
|
||||||
<text size="12">zusätzliche Heizquelle</text>
|
<text size="12">zusätzliche Heizquelle</text>
|
||||||
<text size="12" font="bold">${aufnahme.brennstoff_2 || ""}</text>
|
<text size="12" font="bold">${ausweis.brennstoff_2 || ""}</text>
|
||||||
<text size="12">${ausweis.verbrauch_4 || ""} ${ausweis.einheit_2 || ""}</text>
|
<text size="12">${ausweis.verbrauch_4 || ""} ${ausweis.einheit_2 || ""}</text>
|
||||||
<text size="12">${ausweis.verbrauch_5 || ""} ${ausweis.einheit_2 || ""}</text>
|
<text size="12">${ausweis.verbrauch_5 || ""} ${ausweis.einheit_2 || ""}</text>
|
||||||
<text size="12">${ausweis.verbrauch_6 || ""} ${ausweis.einheit_2 || ""}</text>
|
<text size="12">${ausweis.verbrauch_6 || ""} ${ausweis.einheit_2 || ""}</text>
|
||||||
|
|||||||
@@ -131,14 +131,14 @@ export async function pdfDatenblattVerbrauchsausweisWohnen(ausweis: Verbrauchsau
|
|||||||
</flex>
|
</flex>
|
||||||
<flex direction="column" gap="4">
|
<flex direction="column" gap="4">
|
||||||
<text></text>
|
<text></text>
|
||||||
<text size="12" font="bold">${aufnahme.brennstoff_1}</text>
|
<text size="12" font="bold">${ausweis.brennstoff_1}</text>
|
||||||
<text size="12">${ausweis.verbrauch_1} ${ausweis.einheit_1}</text>
|
<text size="12">${ausweis.verbrauch_1} ${ausweis.einheit_1}</text>
|
||||||
<text size="12">${ausweis.verbrauch_2} ${ausweis.einheit_1}</text>
|
<text size="12">${ausweis.verbrauch_2} ${ausweis.einheit_1}</text>
|
||||||
<text size="12">${ausweis.verbrauch_3} ${ausweis.einheit_1}</text>
|
<text size="12">${ausweis.verbrauch_3} ${ausweis.einheit_1}</text>
|
||||||
</flex>
|
</flex>
|
||||||
<flex direction="column" gap="4">
|
<flex direction="column" gap="4">
|
||||||
<text size="12">zusätzliche Heizquelle</text>
|
<text size="12">zusätzliche Heizquelle</text>
|
||||||
<text size="12" font="bold">${aufnahme.brennstoff_2 || ""}</text>
|
<text size="12" font="bold">${ausweis.brennstoff_2 || ""}</text>
|
||||||
<text size="12">${ausweis.verbrauch_4 || ""} ${ausweis.einheit_2 || ""}</text>
|
<text size="12">${ausweis.verbrauch_4 || ""} ${ausweis.einheit_2 || ""}</text>
|
||||||
<text size="12">${ausweis.verbrauch_5 || ""} ${ausweis.einheit_2 || ""}</text>
|
<text size="12">${ausweis.verbrauch_5 || ""} ${ausweis.einheit_2 || ""}</text>
|
||||||
<text size="12">${ausweis.verbrauch_6 || ""} ${ausweis.einheit_2 || ""}</text>
|
<text size="12">${ausweis.verbrauch_6 || ""} ${ausweis.einheit_2 || ""}</text>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
size: 10
|
size: 10
|
||||||
})
|
})
|
||||||
|
|
||||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||||
x: 211,
|
x: 211,
|
||||||
y: height - 285,
|
y: height - 285,
|
||||||
size: 10
|
size: 10
|
||||||
@@ -97,7 +97,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (ausweis.warmwasser_enthalten) {
|
if (ausweis.warmwasser_enthalten) {
|
||||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||||
x: 211,
|
x: 211,
|
||||||
y: height - 299,
|
y: height - 299,
|
||||||
size: 10
|
size: 10
|
||||||
@@ -422,7 +422,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_1 || "",
|
ausweis.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
"0",
|
"0",
|
||||||
@@ -436,7 +436,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_1 || "",
|
ausweis.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||||
@@ -451,7 +451,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_2 || "",
|
ausweis.brennstoff_2 || "",
|
||||||
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
||||||
|
|||||||
@@ -71,14 +71,14 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
size: 10
|
size: 10
|
||||||
})
|
})
|
||||||
|
|
||||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||||
x: 211,
|
x: 211,
|
||||||
y: height - 298.5,
|
y: height - 298.5,
|
||||||
size: 10
|
size: 10
|
||||||
})
|
})
|
||||||
|
|
||||||
if (ausweis.warmwasser_enthalten) {
|
if (ausweis.warmwasser_enthalten) {
|
||||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||||
x: 211,
|
x: 211,
|
||||||
y: height - 312,
|
y: height - 312,
|
||||||
size: 10
|
size: 10
|
||||||
@@ -111,7 +111,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (ausweis.warmwasser_enthalten) {
|
if (ausweis.warmwasser_enthalten) {
|
||||||
pages[0].drawText(`${aufnahme.brennstoff_1}, ${aufnahme.brennstoff_2 || ""}`, {
|
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||||
x: 211,
|
x: 211,
|
||||||
y: height - 299,
|
y: height - 299,
|
||||||
size: 10
|
size: 10
|
||||||
@@ -414,7 +414,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_1 || "",
|
ausweis.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
"0",
|
"0",
|
||||||
@@ -426,7 +426,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_1 || "",
|
ausweis.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||||
@@ -439,7 +439,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_2 || "",
|
ausweis.brennstoff_2 || "",
|
||||||
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
||||||
|
|||||||
@@ -41,15 +41,21 @@
|
|||||||
export let ausweisart: Enums.Ausweisart;
|
export let ausweisart: Enums.Ausweisart;
|
||||||
export let aktiveBezahlmethode: Bezahlmethoden = Enums.Bezahlmethoden.paypal;
|
export let aktiveBezahlmethode: Bezahlmethoden = Enums.Bezahlmethoden.paypal;
|
||||||
|
|
||||||
let email = localStorage.getItem("kundendaten.email") || user.email || "";
|
|
||||||
let vorname = localStorage.getItem("kundendaten.vorname") || user.vorname || "";
|
let email: string, vorname: string, name: string, empfaenger: string, strasse: string, plz: string, ort: string, zusatzzeile: string, telefon: string;
|
||||||
let name = localStorage.getItem("kundendaten.name") || user.name || "";
|
|
||||||
let empfaenger = localStorage.getItem("kundendaten.empfaenger") || (user.vorname && user.name ? `${user.vorname} ${user.name}` : "")
|
if (user.rolle !== Enums.BenutzerRolle.ADMIN) {
|
||||||
let strasse = localStorage.getItem("kundendaten.strasse") || user.adresse || "";
|
// Falls der aktuelle Benutzer kein Admin ist können wir die Kundendaten aus den Stammdaten vorausfüllen.
|
||||||
let plz = localStorage.getItem("kundendaten.plz") || user.plz || "";
|
email = localStorage.getItem("kundendaten.email") || user.email || "";
|
||||||
let ort = localStorage.getItem("kundendaten.ort") || user.ort || "";
|
vorname = localStorage.getItem("kundendaten.vorname") || user.vorname || "";
|
||||||
let zusatzzeile = localStorage.getItem("kundendaten.zusatzzeile") || ""
|
name = localStorage.getItem("kundendaten.name") || user.name || "";
|
||||||
let telefon = localStorage.getItem("kundendaten.telefon") || user.telefon || "";
|
empfaenger = localStorage.getItem("kundendaten.empfaenger") || (user.vorname && user.name ? `${user.vorname} ${user.name}` : "")
|
||||||
|
strasse = localStorage.getItem("kundendaten.strasse") || user.adresse || "";
|
||||||
|
plz = localStorage.getItem("kundendaten.plz") || user.plz || "";
|
||||||
|
ort = localStorage.getItem("kundendaten.ort") || user.ort || "";
|
||||||
|
zusatzzeile = localStorage.getItem("kundendaten.zusatzzeile") || ""
|
||||||
|
telefon = localStorage.getItem("kundendaten.telefon") || user.telefon || "";
|
||||||
|
}
|
||||||
|
|
||||||
let abweichende_versand_adresse = JSON.parse(localStorage.getItem("kundendaten.abweichende_versand_adresse") || "false")
|
let abweichende_versand_adresse = JSON.parse(localStorage.getItem("kundendaten.abweichende_versand_adresse") || "false")
|
||||||
|
|
||||||
@@ -71,6 +77,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
|
// Wir speichern jede Änderung an den Kundendaten im localStorage ab.
|
||||||
localStorage.setItem("kundendaten.email", email)
|
localStorage.setItem("kundendaten.email", email)
|
||||||
localStorage.setItem("kundendaten.vorname", vorname)
|
localStorage.setItem("kundendaten.vorname", vorname)
|
||||||
localStorage.setItem("kundendaten.name", name)
|
localStorage.setItem("kundendaten.name", name)
|
||||||
@@ -187,7 +194,7 @@
|
|||||||
versand_plz: versand_plz,
|
versand_plz: versand_plz,
|
||||||
versand_ort: versand_ort,
|
versand_ort: versand_ort,
|
||||||
telefon: telefon,
|
telefon: telefon,
|
||||||
nachweis_uid: result.uid_nachweis,
|
nachweis_id: result.nachweis_id,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
headers: {
|
headers: {
|
||||||
@@ -199,7 +206,7 @@
|
|||||||
// Alle alten Ausweisdateien im localStorage löschen.
|
// Alle alten Ausweisdateien im localStorage löschen.
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
|
|
||||||
window.location.href = `/einpreisung/success?e=${uid}&a=${result.uid_nachweis}`;
|
window.location.href = `/einpreisung/success?e=${uid}&a=${result.nachweis_id}`;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
addNotification({
|
addNotification({
|
||||||
dismissable: true,
|
dismissable: true,
|
||||||
|
|||||||
@@ -58,7 +58,8 @@
|
|||||||
export let id: string | null;
|
export let id: string | null;
|
||||||
|
|
||||||
// Falls die Daten im localStorage neuer sind als der Ausweis den wir von der Datenbank bekommen haben, benutzen wir lieber diese.
|
// Falls die Daten im localStorage neuer sind als der Ausweis den wir von der Datenbank bekommen haben, benutzen wir lieber diese.
|
||||||
if (!id && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
|
// Wir schauen auch ob der Benutzer nicht vielleicht ein Admin ist, dann sollten wir nichts aus dem localStorage holen.
|
||||||
|
if ((user && user.rolle !== Enums.BenutzerRolle.ADMIN) && !id && (!ausweis.updated_at || moment(localStorage.getItem("verbrauchsausweis-wohnen.updated_at") || new Date()).isAfter(ausweis.updated_at))) {
|
||||||
const localStorageAusweis = localStorage.getItem("verbrauchsausweis-wohnen.ausweis");
|
const localStorageAusweis = localStorage.getItem("verbrauchsausweis-wohnen.ausweis");
|
||||||
if (localStorageAusweis) {
|
if (localStorageAusweis) {
|
||||||
ausweis = JSON.parse(localStorageAusweis)
|
ausweis = JSON.parse(localStorageAusweis)
|
||||||
|
|||||||
@@ -11,34 +11,33 @@ export const PUT = defineApiRoute({
|
|||||||
input: GEGEinpreisungSchema.omit({
|
input: GEGEinpreisungSchema.omit({
|
||||||
benutzer_id: true,
|
benutzer_id: true,
|
||||||
id: true,
|
id: true,
|
||||||
uid: true,
|
|
||||||
status: true,
|
status: true,
|
||||||
}).merge(z.object({
|
}).merge(z.object({
|
||||||
nachweis_uid: UUidWithPrefix
|
nachweis_id: UUidWithPrefix
|
||||||
})),
|
})),
|
||||||
headers: authorizationHeaders,
|
headers: authorizationHeaders,
|
||||||
middleware: authorizationMiddleware,
|
middleware: authorizationMiddleware,
|
||||||
async fetch(input, context, user) {
|
async fetch(input, context, user) {
|
||||||
const ausweisart = getAusweisartFromUUID(input.nachweis_uid);
|
const ausweisart = getAusweisartFromUUID(input.nachweis_id);
|
||||||
|
|
||||||
let einpreisung;
|
let einpreisung;
|
||||||
let nachweis: GEGNachweisWohnen | GEGNachweisGewerbe;
|
let nachweis: GEGNachweisWohnen | GEGNachweisGewerbe;
|
||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
||||||
nachweis = await prisma.gEGNachweisWohnen.findUnique({
|
nachweis = await prisma.gEGNachweisWohnen.findUnique({
|
||||||
where: {
|
where: {
|
||||||
uid: input.nachweis_uid
|
id: input.nachweis_id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
||||||
nachweis = await prisma.gEGNachweisGewerbe.findUnique({
|
nachweis = await prisma.gEGNachweisGewerbe.findUnique({
|
||||||
where: {
|
where: {
|
||||||
uid: input.nachweis_uid
|
id: input.nachweis_id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
|
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
|
||||||
nachweis = await prisma.bedarfsausweisGewerbe.findUnique({
|
nachweis = await prisma.bedarfsausweisGewerbe.findUnique({
|
||||||
where: {
|
where: {
|
||||||
uid: input.nachweis_uid
|
id: input.nachweis_id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
@@ -59,7 +58,7 @@ export const PUT = defineApiRoute({
|
|||||||
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen) {
|
||||||
einpreisung = await prisma.gEGEinpreisung.create({
|
einpreisung = await prisma.gEGEinpreisung.create({
|
||||||
data: {
|
data: {
|
||||||
...omit(input, ["nachweis_uid"]),
|
...omit(input, ["nachweis_id"]),
|
||||||
status: Enums.Einpreisungsstatus.open,
|
status: Enums.Einpreisungsstatus.open,
|
||||||
benutzer: {
|
benutzer: {
|
||||||
connect: {
|
connect: {
|
||||||
@@ -68,7 +67,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
geg_nachweis_wohnen: {
|
geg_nachweis_wohnen: {
|
||||||
connect: {
|
connect: {
|
||||||
uid: input.nachweis_uid
|
id: input.nachweis_id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -76,7 +75,7 @@ export const PUT = defineApiRoute({
|
|||||||
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
} else if (ausweisart === Enums.Ausweisart.GEGNachweisGewerbe) {
|
||||||
einpreisung = await prisma.gEGEinpreisung.create({
|
einpreisung = await prisma.gEGEinpreisung.create({
|
||||||
data: {
|
data: {
|
||||||
...omit(input, ["nachweis_uid"]),
|
...omit(input, ["nachweis_id"]),
|
||||||
status: Enums.Einpreisungsstatus.open,
|
status: Enums.Einpreisungsstatus.open,
|
||||||
benutzer: {
|
benutzer: {
|
||||||
connect: {
|
connect: {
|
||||||
@@ -85,7 +84,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
geg_nachweis_gewerbe: {
|
geg_nachweis_gewerbe: {
|
||||||
connect: {
|
connect: {
|
||||||
uid: input.nachweis_uid
|
id: input.nachweis_id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,7 +92,7 @@ export const PUT = defineApiRoute({
|
|||||||
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
|
} else if (ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
|
||||||
einpreisung = await prisma.gEGEinpreisung.create({
|
einpreisung = await prisma.gEGEinpreisung.create({
|
||||||
data: {
|
data: {
|
||||||
...omit(input, ["nachweis_uid"]),
|
...omit(input, ["nachweis_id"]),
|
||||||
status: Enums.Einpreisungsstatus.open,
|
status: Enums.Einpreisungsstatus.open,
|
||||||
benutzer: {
|
benutzer: {
|
||||||
connect: {
|
connect: {
|
||||||
@@ -102,7 +101,7 @@ export const PUT = defineApiRoute({
|
|||||||
},
|
},
|
||||||
bedarfsausweis_gewerbe: {
|
bedarfsausweis_gewerbe: {
|
||||||
connect: {
|
connect: {
|
||||||
uid: input.nachweis_uid
|
id: input.nachweis_id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -112,7 +111,7 @@ export const PUT = defineApiRoute({
|
|||||||
await sendGEGAnforderungsMail(nachweis, user)
|
await sendGEGAnforderungsMail(nachweis, user)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uid: einpreisung.uid
|
id: einpreisung.id
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
return Astro.redirect("/dashboard/objekte/1", 301);
|
return Astro.redirect("/dashboard/objekte/1", 301);
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<script></script>
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
Verbrauchsausweis Wohnen
|
Verbrauchsausweis Wohnen
|
||||||
|
|
||||||
|
[Wenn der Kunde über das Dashboard über "Ausweis erstellen" kommt gibt es Daten aus der
|
||||||
|
letzten aktuellen Vorlage. Die sollten nach klick auf den Button in LocalStorage inkl.
|
||||||
|
Objekt ID geschrieben werden. Die Verknüpfung zum Gebäude/Objekt sollte dann gewährleistet
|
||||||
|
sein.]
|
||||||
if Domain hat bereits eine vorhandene ID?
|
if Domain hat bereits eine vorhandene ID?
|
||||||
if LocalStorage hat Daten?
|
if LocalStorage hat Daten?
|
||||||
Wir vergleichen ob der LocalStorage neuer ist als die Datenbank
|
Wir vergleichen ob der LocalStorage neuer ist als die Datenbank
|
||||||
@@ -26,7 +30,11 @@ else
|
|||||||
|
|
||||||
if *Klick auf Weiter || Klick auf Hilfe*
|
if *Klick auf Weiter || Klick auf Hilfe*
|
||||||
Wir leiten weiter auf Kundendaten mit dem entsprechenden Produkt
|
Wir leiten weiter auf Kundendaten mit dem entsprechenden Produkt
|
||||||
|
[Hier sollte auch geprüft werden ob Daten im LocalStorage vorliegen
|
||||||
|
(so wie oben). Wenn Kundendaten leer sind sollen die Stammdaten geladen
|
||||||
|
werden. Aber bitte nicht wenn der Aussteller/Admin eingeloggt ist]
|
||||||
*User gibt Kundendaten ein*
|
*User gibt Kundendaten ein*
|
||||||
|
[Wir speichern alles im LocalStorage mit dem aktuallen Timestamp]
|
||||||
if *Klick auf Speichern*
|
if *Klick auf Speichern*
|
||||||
if Ausweis hat bereits eine id?
|
if Ausweis hat bereits eine id?
|
||||||
Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten
|
Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten
|
||||||
@@ -43,7 +51,9 @@ if *Klick auf Weiter || Klick auf Hilfe*
|
|||||||
|
|
||||||
Wir erstellen einen neuen Ausweis
|
Wir erstellen einen neuen Ausweis
|
||||||
else
|
else
|
||||||
*User klickt auf Bestellen*
|
[Bei schon bestellten Produkten (Beratung und Offline) kann man nicht nochmal bestellen
|
||||||
|
sondern nur Freigeben. Statt Bestellbestätigung Freigabebestätigung]
|
||||||
|
*User klickt auf Bestellen* [bzw. *User klickt auf Freigabe*]
|
||||||
if Ausweis hat bereits eine id?
|
if Ausweis hat bereits eine id?
|
||||||
Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten
|
Wir updaten den bereits gespeicherten Ausweis mit den neuen Daten
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user