diff --git a/prisma/migrations/20250407035218_pruefpunkte/migration.sql b/prisma/migrations/20250407035218_pruefpunkte/migration.sql new file mode 100644 index 00000000..a44ac7ca --- /dev/null +++ b/prisma/migrations/20250407035218_pruefpunkte/migration.sql @@ -0,0 +1,47 @@ +-- AlterTable +ALTER TABLE "BedarfsausweisWohnen" ADD COLUMN "pruefpunkt_anteil_warmwasser" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_fenster" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_geometrie" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_heizungsalter" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_heizungsanlage" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_plz" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_strom_abweichung" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_strom_null" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_abweichung" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_hoch" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_niedrig" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_null" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_wohnflaeche" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_wohnflaeche_einheiten" BOOLEAN NOT NULL DEFAULT false; + +-- AlterTable +ALTER TABLE "VerbrauchsausweisGewerbe" ADD COLUMN "pruefpunkt_anteil_warmwasser" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_fenster" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_geometrie" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_heizungsalter" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_heizungsanlage" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_plz" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_strom_abweichung" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_strom_null" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_abweichung" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_hoch" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_niedrig" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_null" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_wohnflaeche" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_wohnflaeche_einheiten" BOOLEAN NOT NULL DEFAULT false; + +-- AlterTable +ALTER TABLE "VerbrauchsausweisWohnen" ADD COLUMN "pruefpunkt_anteil_warmwasser" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_fenster" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_geometrie" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_heizungsalter" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_heizungsanlage" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_plz" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_strom_abweichung" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_strom_null" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_abweichung" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_hoch" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_niedrig" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_verbrauch_null" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_wohnflaeche" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "pruefpunkt_wohnflaeche_einheiten" BOOLEAN NOT NULL DEFAULT false; diff --git a/prisma/migrations/20250407041751_optional_pruefpunkte/migration.sql b/prisma/migrations/20250407041751_optional_pruefpunkte/migration.sql new file mode 100644 index 00000000..f2547eda --- /dev/null +++ b/prisma/migrations/20250407041751_optional_pruefpunkte/migration.sql @@ -0,0 +1,47 @@ +-- AlterTable +ALTER TABLE "BedarfsausweisWohnen" ALTER COLUMN "pruefpunkt_anteil_warmwasser" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_fenster" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_geometrie" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_heizungsalter" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_heizungsanlage" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_plz" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_strom_abweichung" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_strom_null" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_abweichung" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_hoch" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_niedrig" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_null" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_wohnflaeche" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_wohnflaeche_einheiten" DROP NOT NULL; + +-- AlterTable +ALTER TABLE "VerbrauchsausweisGewerbe" ALTER COLUMN "pruefpunkt_anteil_warmwasser" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_fenster" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_geometrie" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_heizungsalter" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_heizungsanlage" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_plz" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_strom_abweichung" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_strom_null" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_abweichung" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_hoch" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_niedrig" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_null" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_wohnflaeche" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_wohnflaeche_einheiten" DROP NOT NULL; + +-- AlterTable +ALTER TABLE "VerbrauchsausweisWohnen" ALTER COLUMN "pruefpunkt_anteil_warmwasser" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_fenster" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_geometrie" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_heizungsalter" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_heizungsanlage" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_plz" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_strom_abweichung" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_strom_null" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_abweichung" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_hoch" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_niedrig" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_verbrauch_null" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_wohnflaeche" DROP NOT NULL, +ALTER COLUMN "pruefpunkt_wohnflaeche_einheiten" DROP NOT NULL; diff --git a/prisma/schema/BedarfsausweisWohnen.prisma b/prisma/schema/BedarfsausweisWohnen.prisma index e85063f9..eb631ee7 100644 --- a/prisma/schema/BedarfsausweisWohnen.prisma +++ b/prisma/schema/BedarfsausweisWohnen.prisma @@ -83,6 +83,21 @@ model BedarfsausweisWohnen { created_at DateTime @default(now()) updated_at DateTime @updatedAt + pruefpunkt_heizungsalter Boolean? @default(false) + pruefpunkt_verbrauch_niedrig Boolean? @default(false) + pruefpunkt_verbrauch_hoch Boolean? @default(false) + pruefpunkt_verbrauch_null Boolean? @default(false) + pruefpunkt_verbrauch_abweichung Boolean? @default(false) + pruefpunkt_wohnflaeche_einheiten Boolean? @default(false) + pruefpunkt_strom_null Boolean? @default(false) + pruefpunkt_strom_abweichung Boolean? @default(false) + pruefpunkt_plz Boolean? @default(false) + pruefpunkt_heizungsanlage Boolean? @default(false) + pruefpunkt_anteil_warmwasser Boolean? @default(false) + pruefpunkt_wohnflaeche Boolean? @default(false) + pruefpunkt_geometrie Boolean? @default(false) + pruefpunkt_fenster Boolean? @default(false) + ausweistyp AusweisTyp @default(Standard) benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction) diff --git a/prisma/schema/VerbrauchsausweisGewerbe.prisma b/prisma/schema/VerbrauchsausweisGewerbe.prisma index 9380a5ff..44b217ea 100644 --- a/prisma/schema/VerbrauchsausweisGewerbe.prisma +++ b/prisma/schema/VerbrauchsausweisGewerbe.prisma @@ -73,6 +73,21 @@ model VerbrauchsausweisGewerbe { updated_at DateTime @updatedAt ausweistyp AusweisTyp @default(Standard) + + pruefpunkt_heizungsalter Boolean? @default(false) + pruefpunkt_verbrauch_niedrig Boolean? @default(false) + pruefpunkt_verbrauch_hoch Boolean? @default(false) + pruefpunkt_verbrauch_null Boolean? @default(false) + pruefpunkt_verbrauch_abweichung Boolean? @default(false) + pruefpunkt_wohnflaeche_einheiten Boolean? @default(false) + pruefpunkt_strom_null Boolean? @default(false) + pruefpunkt_strom_abweichung Boolean? @default(false) + pruefpunkt_plz Boolean? @default(false) + pruefpunkt_heizungsanlage Boolean? @default(false) + pruefpunkt_anteil_warmwasser Boolean? @default(false) + pruefpunkt_wohnflaeche Boolean? @default(false) + pruefpunkt_geometrie Boolean? @default(false) + pruefpunkt_fenster Boolean? @default(false) benutzer_id String? benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction) diff --git a/prisma/schema/VerbrauchsausweisWohnen.prisma b/prisma/schema/VerbrauchsausweisWohnen.prisma index 8ae6af0e..b1b1f364 100644 --- a/prisma/schema/VerbrauchsausweisWohnen.prisma +++ b/prisma/schema/VerbrauchsausweisWohnen.prisma @@ -78,6 +78,21 @@ model VerbrauchsausweisWohnen { created_at DateTime @default(now()) updated_at DateTime @updatedAt + pruefpunkt_heizungsalter Boolean? @default(false) + pruefpunkt_verbrauch_niedrig Boolean? @default(false) + pruefpunkt_verbrauch_hoch Boolean? @default(false) + pruefpunkt_verbrauch_null Boolean? @default(false) + pruefpunkt_verbrauch_abweichung Boolean? @default(false) + pruefpunkt_wohnflaeche_einheiten Boolean? @default(false) + pruefpunkt_strom_null Boolean? @default(false) + pruefpunkt_strom_abweichung Boolean? @default(false) + pruefpunkt_plz Boolean? @default(false) + pruefpunkt_heizungsanlage Boolean? @default(false) + pruefpunkt_anteil_warmwasser Boolean? @default(false) + pruefpunkt_wohnflaeche Boolean? @default(false) + pruefpunkt_geometrie Boolean? @default(false) + pruefpunkt_fenster Boolean? @default(false) + /// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört") benutzer_id String? benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction) diff --git a/src/astro-typesafe-api-caller.ts b/src/astro-typesafe-api-caller.ts index 0e168f07..77a10980 100644 --- a/src/astro-typesafe-api-caller.ts +++ b/src/astro-typesafe-api-caller.ts @@ -13,12 +13,12 @@ export const createCaller = createCallerFactory({ "admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"), "admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"), "ausweise": await import("../src/pages/api/ausweise/index.ts"), - "aufnahme": await import("../src/pages/api/aufnahme/index.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/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"), "bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"), "bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"), + "aufnahme": await import("../src/pages/api/aufnahme/index.ts"), "bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"), "bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"), "bilder/[id]": await import("../src/pages/api/bilder/[id].ts"), @@ -31,10 +31,10 @@ export const createCaller = createCallerFactory({ "rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"), "rechnung": await import("../src/pages/api/rechnung/index.ts"), "ticket": await import("../src/pages/api/ticket/index.ts"), - "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), - "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), "user": await import("../src/pages/api/user/index.ts"), "user/self": await import("../src/pages/api/user/self.ts"), + "verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"), + "verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"), "verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"), "verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"), "webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"), diff --git a/src/client/lib/ausweisSpeichern.ts b/src/client/lib/ausweisSpeichern.ts index 7a8cf726..6362640d 100644 --- a/src/client/lib/ausweisSpeichern.ts +++ b/src/client/lib/ausweisSpeichern.ts @@ -13,6 +13,7 @@ import { import { BedarfsausweisWohnen, Enums, + Unterlage, VerbrauchsausweisGewerbe, VerbrauchsausweisWohnen, } from "#lib/client/prisma.js"; @@ -61,6 +62,20 @@ export async function verbrauchsausweisWohnenSpeichern( warmwasser_enthalten: ausweis.warmwasser_enthalten, zurueckgestellt: ausweis.zurueckgestellt, zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle, + pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, + pruefpunkt_fenster: ausweis.pruefpunkt_fenster, + pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, + pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, + pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, + pruefpunkt_plz: ausweis.pruefpunkt_plz, + pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, + pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, + pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, + pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, + pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, + pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, + pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, + pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, { params: { @@ -114,6 +129,20 @@ export async function verbrauchsausweisWohnenSpeichern( warmwasser_enthalten: ausweis.warmwasser_enthalten, zurueckgestellt: ausweis.zurueckgestellt, zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle, + pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, + pruefpunkt_fenster: ausweis.pruefpunkt_fenster, + pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, + pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, + pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, + pruefpunkt_plz: ausweis.pruefpunkt_plz, + pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, + pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, + pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, + pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, + pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, + pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, + pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, + pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, aufnahme_id, }, @@ -190,6 +219,20 @@ export async function verbrauchsausweisGewerbeSpeichern( ausweis.stromverbrauch_enthaelt_sonstige, stromverbrauch_enthaelt_warmwasser: ausweis.stromverbrauch_enthaelt_warmwasser, + pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, + pruefpunkt_fenster: ausweis.pruefpunkt_fenster, + pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, + pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, + pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, + pruefpunkt_plz: ausweis.pruefpunkt_plz, + pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, + pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, + pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, + pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, + pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, + pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, + pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, + pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, { params: { @@ -246,7 +289,6 @@ export async function verbrauchsausweisGewerbeSpeichern( anteil_kuehlung_2: ausweis.anteil_kuehlung_2, keller_beheizt: ausweis.keller_beheizt, kuehlung_enthalten: ausweis.kuehlung_enthalten, - rechnung_id: ausweis.rechnung_id, strom_1: ausweis.strom_1, strom_2: ausweis.strom_2, strom_3: ausweis.strom_3, @@ -262,6 +304,20 @@ export async function verbrauchsausweisGewerbeSpeichern( ausweis.stromverbrauch_enthaelt_sonstige, stromverbrauch_enthaelt_warmwasser: ausweis.stromverbrauch_enthaelt_warmwasser, + pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, + pruefpunkt_fenster: ausweis.pruefpunkt_fenster, + pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, + pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, + pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, + pruefpunkt_plz: ausweis.pruefpunkt_plz, + pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, + pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, + pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, + pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, + pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, + pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, + pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, + pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, aufnahme_id, }, @@ -347,6 +403,20 @@ export async function bedarfsausweisWohnenSpeichern( warmwasser_erzeugung: ausweis.warmwasser_erzeugung, warmwasser_speicherung: ausweis.warmwasser_speicherung, warmwasser_verteilung: ausweis.warmwasser_verteilung, + pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, + pruefpunkt_fenster: ausweis.pruefpunkt_fenster, + pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, + pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, + pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, + pruefpunkt_plz: ausweis.pruefpunkt_plz, + pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, + pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, + pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, + pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, + pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, + pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, + pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, + pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, { params: { @@ -427,6 +497,20 @@ export async function bedarfsausweisWohnenSpeichern( warmwasser_erzeugung: ausweis.warmwasser_erzeugung, warmwasser_speicherung: ausweis.warmwasser_speicherung, warmwasser_verteilung: ausweis.warmwasser_verteilung, + pruefpunkt_anteil_warmwasser: ausweis.pruefpunkt_anteil_warmwasser, + pruefpunkt_fenster: ausweis.pruefpunkt_fenster, + pruefpunkt_geometrie: ausweis.pruefpunkt_geometrie, + pruefpunkt_heizungsalter: ausweis.pruefpunkt_heizungsalter, + pruefpunkt_heizungsanlage: ausweis.pruefpunkt_heizungsanlage, + pruefpunkt_plz: ausweis.pruefpunkt_plz, + pruefpunkt_strom_abweichung: ausweis.pruefpunkt_strom_abweichung, + pruefpunkt_strom_null: ausweis.pruefpunkt_strom_null, + pruefpunkt_verbrauch_abweichung: ausweis.pruefpunkt_verbrauch_abweichung, + pruefpunkt_verbrauch_hoch: ausweis.pruefpunkt_verbrauch_hoch, + pruefpunkt_verbrauch_niedrig: ausweis.pruefpunkt_verbrauch_niedrig, + pruefpunkt_verbrauch_null: ausweis.pruefpunkt_verbrauch_null, + pruefpunkt_wohnflaeche: ausweis.pruefpunkt_wohnflaeche, + pruefpunkt_wohnflaeche_einheiten: ausweis.pruefpunkt_wohnflaeche_einheiten, }, aufnahme_id, }, @@ -451,6 +535,7 @@ export async function ausweisSpeichern( objekt: ObjektClient, aufnahme: AufnahmeClient, bilder: BildClient[], + unterlagen: Unterlage[], ausweisart: Enums.Ausweisart ) { const [objekt_id, objekt_error] = await tryCatch(objektSpeichern(objekt)); @@ -484,13 +569,22 @@ export async function ausweisSpeichern( aufnahme.id = aufnahme_id; if (ausweisart == Enums.Ausweisart.VerbrauchsausweisWohnen) { - const id = await verbrauchsausweisWohnenSpeichern(ausweis as VerbrauchsausweisWohnen, aufnahme_id) + const id = await verbrauchsausweisWohnenSpeichern( + ausweis as VerbrauchsausweisWohnen, + aufnahme_id + ); ausweis.id = id; } else if (ausweisart == Enums.Ausweisart.VerbrauchsausweisGewerbe) { - const id = await verbrauchsausweisGewerbeSpeichern(ausweis as VerbrauchsausweisGewerbe, aufnahme_id) + const id = await verbrauchsausweisGewerbeSpeichern( + ausweis as VerbrauchsausweisGewerbe, + aufnahme_id + ); ausweis.id = id; } else if (ausweisart == Enums.Ausweisart.BedarfsausweisWohnen) { - const id = await bedarfsausweisWohnenSpeichern(ausweis as BedarfsausweisWohnen, aufnahme_id) + const id = await bedarfsausweisWohnenSpeichern( + ausweis as BedarfsausweisWohnen, + aufnahme_id + ); ausweis.id = id; } @@ -508,6 +602,22 @@ export async function ausweisSpeichern( } ); + if (ausweisart === Enums.Ausweisart.BedarfsausweisWohnen) { + await api.aufnahme._id.unterlagen.PUT.fetch( + unterlagen.map((unterlage) => unterlage.id), + { + params: { + id: aufnahme.id, + }, + headers: { + Authorization: `Bearer ${Cookies.get( + API_ACCESS_TOKEN_COOKIE_NAME + )}`, + }, + } + ); + } + return { ausweis_id: ausweis.id, aufnahme_id: aufnahme.id, diff --git a/src/components/Ausweis/ButtonWeiterHilfe.svelte b/src/components/Ausweis/ButtonWeiterHilfe.svelte index 7fe919a5..963b722f 100644 --- a/src/components/Ausweis/ButtonWeiterHilfe.svelte +++ b/src/components/Ausweis/ButtonWeiterHilfe.svelte @@ -23,7 +23,7 @@ export let showWeiter: boolean = true; export let showHelpButton: boolean = true; - export let partner_code: string; + export let partner_code: string = ""; export let ausweistyp: AusweisTyp = Enums.AusweisTyp.Standard; @@ -120,7 +120,7 @@ ausweis.id = result.nachweis_id; } } else { - result = await ausweisSpeichern({ ...ausweis as VerbrauchsausweisWohnen, ausweistyp }, objekt, aufnahme, bilder, ausweisart) + result = await ausweisSpeichern({ ...ausweis as VerbrauchsausweisWohnen, ausweistyp }, objekt, aufnahme, bilder, unterlagen, ausweisart) if (result) { ausweis.id = result.ausweis_id; diff --git a/src/generated/zod/bedarfsausweiswohnen.ts b/src/generated/zod/bedarfsausweiswohnen.ts index 038073f9..b3b2b507 100644 --- a/src/generated/zod/bedarfsausweiswohnen.ts +++ b/src/generated/zod/bedarfsausweiswohnen.ts @@ -70,6 +70,20 @@ export const BedarfsausweisWohnenSchema = z.object({ kontrolldatei_angefragt: z.boolean().describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde").nullish(), created_at: z.date(), updated_at: z.date(), + pruefpunkt_heizungsalter: z.boolean().nullish(), + pruefpunkt_verbrauch_niedrig: z.boolean().nullish(), + pruefpunkt_verbrauch_hoch: z.boolean().nullish(), + pruefpunkt_verbrauch_null: z.boolean().nullish(), + pruefpunkt_verbrauch_abweichung: z.boolean().nullish(), + pruefpunkt_wohnflaeche_einheiten: z.boolean().nullish(), + pruefpunkt_strom_null: z.boolean().nullish(), + pruefpunkt_strom_abweichung: z.boolean().nullish(), + pruefpunkt_plz: z.boolean().nullish(), + pruefpunkt_heizungsanlage: z.boolean().nullish(), + pruefpunkt_anteil_warmwasser: z.boolean().nullish(), + pruefpunkt_wohnflaeche: z.boolean().nullish(), + pruefpunkt_geometrie: z.boolean().nullish(), + pruefpunkt_fenster: z.boolean().nullish(), ausweistyp: z.nativeEnum(AusweisTyp), rechnung_id: z.string().nullish(), aufnahme_id: z.string().describe("ID der korrespondierenden Gebäudeaufnahme"), diff --git a/src/generated/zod/verbrauchsausweisgewerbe.ts b/src/generated/zod/verbrauchsausweisgewerbe.ts index bb0900af..975da8cd 100644 --- a/src/generated/zod/verbrauchsausweisgewerbe.ts +++ b/src/generated/zod/verbrauchsausweisgewerbe.ts @@ -51,6 +51,20 @@ export const VerbrauchsausweisGewerbeSchema = z.object({ created_at: z.date(), updated_at: z.date(), ausweistyp: z.nativeEnum(AusweisTyp), + pruefpunkt_heizungsalter: z.boolean().nullish(), + pruefpunkt_verbrauch_niedrig: z.boolean().nullish(), + pruefpunkt_verbrauch_hoch: z.boolean().nullish(), + pruefpunkt_verbrauch_null: z.boolean().nullish(), + pruefpunkt_verbrauch_abweichung: z.boolean().nullish(), + pruefpunkt_wohnflaeche_einheiten: z.boolean().nullish(), + pruefpunkt_strom_null: z.boolean().nullish(), + pruefpunkt_strom_abweichung: z.boolean().nullish(), + pruefpunkt_plz: z.boolean().nullish(), + pruefpunkt_heizungsanlage: z.boolean().nullish(), + pruefpunkt_anteil_warmwasser: z.boolean().nullish(), + pruefpunkt_wohnflaeche: z.boolean().nullish(), + pruefpunkt_geometrie: z.boolean().nullish(), + pruefpunkt_fenster: z.boolean().nullish(), benutzer_id: z.string().nullish(), rechnung_id: z.string().nullish(), aufnahme_id: z.string().describe("ID der korrespondierenden Gebäudeaufnahme"), diff --git a/src/generated/zod/verbrauchsausweiswohnen.ts b/src/generated/zod/verbrauchsausweiswohnen.ts index 2475905a..12267bb2 100644 --- a/src/generated/zod/verbrauchsausweiswohnen.ts +++ b/src/generated/zod/verbrauchsausweiswohnen.ts @@ -39,6 +39,20 @@ export const VerbrauchsausweisWohnenSchema = z.object({ ausweistyp: z.nativeEnum(AusweisTyp), created_at: z.date(), updated_at: z.date(), + pruefpunkt_heizungsalter: z.boolean().nullish(), + pruefpunkt_verbrauch_niedrig: z.boolean().nullish(), + pruefpunkt_verbrauch_hoch: z.boolean().nullish(), + pruefpunkt_verbrauch_null: z.boolean().nullish(), + pruefpunkt_verbrauch_abweichung: z.boolean().nullish(), + pruefpunkt_wohnflaeche_einheiten: z.boolean().nullish(), + pruefpunkt_strom_null: z.boolean().nullish(), + pruefpunkt_strom_abweichung: z.boolean().nullish(), + pruefpunkt_plz: z.boolean().nullish(), + pruefpunkt_heizungsanlage: z.boolean().nullish(), + pruefpunkt_anteil_warmwasser: z.boolean().nullish(), + pruefpunkt_wohnflaeche: z.boolean().nullish(), + pruefpunkt_geometrie: z.boolean().nullish(), + pruefpunkt_fenster: z.boolean().nullish(), benutzer_id: z.string().describe("Die ID des Benutzers, welchem dieser Ausweis gehört").nullish(), rechnung_id: z.string().nullish(), aufnahme_id: z.string().describe("ID der korrespondierenden Gebäudeaufnahme"), diff --git a/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte b/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte index 01e478c8..f56ac184 100644 --- a/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte +++ b/src/modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte @@ -17,13 +17,14 @@ import AusweisPreviewContainer from "#components/Ausweis/AusweisPreviewContainer.svelte"; import moment from "moment"; - import { Benutzer, Enums } from "#lib/client/prisma.js"; + import { Benutzer, Enums, Unterlage } from "#lib/client/prisma.js"; import { BedarfsausweisWohnenClient, ObjektClient, BildClient, AufnahmeClient, } from "#components/Ausweis/types.js"; + import FileGrid from "#components/FileGrid.svelte"; export let ausweis: BedarfsausweisWohnenClient; export let objekt: ObjektClient; @@ -31,6 +32,7 @@ export let user: Benutzer | null; export let ausweistyp: Enums.AusweisTyp; export let bilder: BildClient[] = []; + export let unterlagen: Unterlage[] = []; export let id: string | null; export let loadFromDatabase: boolean = false; @@ -75,6 +77,11 @@ if (localStorageBilder) { bilder = JSON.parse(localStorageBilder); } + + const localStorageUnterlagen = localStorage.getItem("geg-nachweis-wohnen.unterlagen"); + if (localStorageUnterlagen) { + unterlagen = JSON.parse(localStorageUnterlagen) + } } $: { @@ -99,6 +106,10 @@ "bedarfsausweis-wohnen.updated_at", moment().toString() ); + localStorage.setItem( + "bedarfsausweis-wohnen.unterlagen", + JSON.stringify(unterlagen) + ); } } @@ -128,6 +139,7 @@ bind:user bind:objekt bind:aufnahme + bind:unterlagen bind:blockLocalStorageSync {ausweisart} showWeiter={false} @@ -169,7 +181,7 @@ - @@ -184,9 +196,46 @@ /> --> + +
+
+
Unterlagen
+ +
+ Hier können sie weitere Unterlagen wie z.B. + Baugenehmigungen, U-Wert Berechnungen, Anlagentechnik + oder ihren alten Energieausweis hochladen. Die Dateien + können entweder im PDF Format oder als Bild hochgeladen + werden. +
+ +
Pläne
+ +
+ Hier können sie Grundrisspläne, Ansichtspläne und + Schnitte hochladen. Die Dateien können entweder im PDF + Format oder als Bild hochgeladen werden. +
+
+ +
+ +
+
+
+ - - - baujahr_anlage < (intval(date("Y")) - 3)] --> {#if (aufnahme.baujahr_heizung.at(-1) || new Date().getFullYear()) >= (new Date().getFullYear() - 3)}
- +
Das Heizungsalter ist jünger als 3 Jahre. Es handelt sich hier um einen Heizungstausch ohne energetische Verbesserung.
@@ -941,7 +941,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if (berechnungen?.endEnergieVerbrauchGesamt || 0) < 40}
- +
Ich habe die Verbrauchsangaben nochmal kontrolliert. Der ungewöhnlich niedrige Energiekennwert ist korrekt, da es sich um ein besonders effizientes Gebäude mit z.B. Wärmepumpe handelt.
@@ -951,7 +951,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if (berechnungen?.endEnergieVerbrauchGesamt || 0) > 450}
- +
Ich habe die Verbrauchsangaben nochmal kontrolliert. Der ungewöhnlich hohe Energiekennwert ist korrekt, da es sich um ein sehr altes ungedämmtes Gebäude mit z.B. Einfachverglasung handelt.
@@ -961,7 +961,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" && $ausweis->energieverbrauch_3_heizquelle_1 > 0] --> {#if ausweis.verbrauch_1 == 0 || ausweis.verbrauch_2 == 0 || ausweis.verbrauch_3 == 0}
- +
Die eingegebenen Heizverbräuche sind korrekt und alle 3 Felder wurden vollständig eingegeben.
@@ -971,7 +971,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" $ausweis->energieverbrauch_2_heizquelle_1, $ausweis->energieverbrauch_3_heizquelle_1]) < 50] --> {#if getMaximumDevitationInPercent(ausweis.verbrauch_1 || 0, ausweis.verbrauch_2 || 0, ausweis.verbrauch_3 || 0) > 50}
- +
Die eingegebenen Heizverbräuche sind korrekt und die Abweichung bei den Verbrauchsjahren lässt sich begründen. Falls es Leerstand gab, wurde dieser im Formular von mir angegeben. @@ -985,7 +985,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if aufnahme.flaeche || 0 < (aufnahme.einheiten || 0) * 30}
- +
Die Angabe der Wohnfläche ist korrekt und bezieht sich auf das gesamte Gebäude.
@@ -997,7 +997,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if ausweis.strom_1 == 0 || ausweis.strom_2 == 0 || ausweis.strom_3 == 0}
- +
Die eingegebenen Stromverbräuche sind korrekt und alle 3 Felder wurden vollständig eingegeben.
@@ -1006,7 +1006,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if getMaximumDevitationInPercent(ausweis.strom_1 || 0, ausweis.strom_2 || 0, ausweis.strom_3 || 0) > 50}
- +
Die eingegebenen Stromverbräuche sind korrekt und die Abweichung bei den Verbrauchsjahren lässt sich begründen. Falls es Leerstand gab, wurde dieser im Formular von mir angegeben. @@ -1019,7 +1019,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
- +
Ich habe meine Postleitzahl überprüft und bestätige hiermit die Richtigkeit.
@@ -1027,7 +1027,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if aufnahme.baujahr_heizung.at(-1) || 0 < aufnahme.baujahr_gebaeude[0] || 0}
- +
Das Baujahr der Heizungsanlage ist kleiner als das Baujahr des Gebäudes und begründet.
@@ -1041,7 +1041,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if ausweis.anteil_warmwasser_1 < 6 || ausweis.anteil_warmwasser_1 > 40}
- +
Ich habe den Warmwasseranteil nochmal überprüft. Dieser ist korrekt und begründet.
@@ -1052,7 +1052,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center" {#if ausweis.flaeche < ausweis.nutzflaeche}
- +
Ich habe die Wohnfläche nochmal überprüft und bestätige die Richtigkeit. Es handelt sich lediglich um die Wohnfläche innerhalb des Gebäudes. Flächen von eventuell vorhandenen Terassen und Balkonen wurden nicht mitgezählt.
@@ -1061,7 +1061,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"