Bedarfsausweis Wohnen

This commit is contained in:
Moritz Utcke
2025-04-07 00:47:31 -04:00
parent 1332b8e798
commit 21c47a5310
13 changed files with 371 additions and 30 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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)

View File

@@ -74,6 +74,21 @@ model VerbrauchsausweisGewerbe {
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)

View File

@@ -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)

View File

@@ -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"),

View File

@@ -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,

View File

@@ -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;

View File

@@ -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"),

View File

@@ -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"),

View File

@@ -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"),

View File

@@ -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 @@
<!-- E - Angabe zu Lüftung und Kühlung -->
<Bereich bereich="E" title="Angabe zu Lüftung und Kühlung"
<Bereich bereich="C" title="Angabe zu Lüftung und Kühlung"
><LueftungKuehlung bind:ausweis /></Bereich
>
@@ -184,9 +196,46 @@
/></Bereich
> -->
<Bereich bereich="D" title="Gebäudepläne & Unterlagen">
<div
class="bereich-box grid grid-cols-1 lg:grid-cols-2 gap-x-6 mt-6"
>
<div class="md:box md:card mb-0">
<div class="font-bold mb-2">Unterlagen</div>
<div>
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.
</div>
<div class="font-bold mb-2">Pläne</div>
<div>
Hier können sie Grundrisspläne, Ansichtspläne und
Schnitte hochladen. Die Dateien können entweder im PDF
Format oder als Bild hochgeladen werden.
</div>
</div>
<div class="md:box md:card mb-0 mt-6 md:mt-0">
<FileGrid
max={Infinity}
min={0}
name={"unterlagen"}
bind:files={unterlagen}
bind:ausweis
bind:objekt
></FileGrid>
</div>
</div>
</Bereich>
<!-- G Angaben zur Fenster, Dachfenster und Türen -->
<Bereich bereich="G" title="Angaben zu Fenster, Dachfenster und Türen"
<Bereich bereich="E" title="Angaben zu Fenster, Dachfenster und Türen"
><SanierungszustandFensterTueren
bind:images={bilder}
bind:objekt
@@ -196,7 +245,7 @@
>
<!-- H Angaben zur Wärmedammung -->
<Bereich bereich="H" title="Angaben zur Wärmedämmung"
<Bereich bereich="F" title="Angaben zur Wärmedämmung"
><SanierungszustandWaermedammung
bind:images={bilder}
bind:objekt
@@ -207,7 +256,7 @@
<!-- I Gebäudebild und Energieausweis PDF Vorschau -->
<Bereich bereich="I" title="Gebäudebild und Energieausweis PDF Vorschau"
<Bereich bereich="G" title="Gebäudebild und Energieausweis PDF Vorschau"
><AusweisPreviewContainer
bind:images={bilder}
bind:ausweis
@@ -224,6 +273,7 @@
bind:user
bind:objekt
bind:aufnahme
bind:unterlagen
bind:blockLocalStorageSync
{ausweisart}
showWeiter={true}

View File

@@ -247,7 +247,7 @@
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
result = await nachweisSpeichern(ausweis as unknown as GEGNachweisWohnen | GEGNachweisGewerbe | BedarfsausweisGewerbe, objekt, aufnahme, bilder, unterlagen, ausweisart)
} else {
result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart)
result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
}
} catch(e) {
addNotification({
@@ -293,7 +293,7 @@
if (ausweisart === Enums.Ausweisart.GEGNachweisWohnen || ausweisart === Enums.Ausweisart.GEGNachweisGewerbe || ausweisart === Enums.Ausweisart.BedarfsausweisGewerbe) {
result = await nachweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
} else {
result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, ausweisart)
result = await ausweisSpeichern(ausweis, objekt, aufnahme, bilder, unterlagen, ausweisart)
}
if (result === null) {
@@ -931,7 +931,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Verbrauchsausweis Wohnen, Gewerbe [altes System: $ausweis->baujahr_anlage < (intval(date("Y")) - 3)] -->
{#if (aufnahme.baujahr_heizung.at(-1) || new Date().getFullYear()) >= (new Date().getFullYear() - 3)}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_heizungsalter" bind:checked={ausweis.pruefpunkt_heizungsalter} required/>
<div class="text-left">
Das Heizungsalter ist jünger als 3 Jahre. Es handelt sich hier um einen Heizungstausch ohne energetische Verbesserung.
</div>
@@ -941,7 +941,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Bei besonders niedrigem Endenergieverbrauch [altes System: $result->endEnergieVerbrauchGesamt < 40] -->
{#if (berechnungen?.endEnergieVerbrauchGesamt || 0) < 40}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_verbrauch_niedrig" bind:checked={ausweis.pruefpunkt_verbrauch_niedrig} required/>
<div class="text-left">
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.
</div>
@@ -951,7 +951,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Bei besonders hohem Endenergieverbrauch [altes System: $result->endEnergieVerbrauchGesamt > 450] -->
{#if (berechnungen?.endEnergieVerbrauchGesamt || 0) > 450}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_verbrauch_hoch" bind:checked={ausweis.pruefpunkt_verbrauch_hoch} required/>
<div class="text-left">
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.
</div>
@@ -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}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_verbrauch_null" bind:checked={ausweis.pruefpunkt_verbrauch_null} required/>
<div class="text-left">
Die eingegebenen Heizverbräuche sind korrekt und alle 3 Felder wurden vollständig eingegeben.
</div>
@@ -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}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_verbrauch_abweichung" bind:checked={ausweis.pruefpunkt_verbrauch_abweichung} required/>
<div class="text-left">
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"
<!-- Verbrauchsausweis Wohnen und Bedarfsausweis Wohnen [altes System: $ausweis->wohnflaeche >= $ausweis->anzahl_einheiten * 30] -->
{#if aufnahme.flaeche || 0 < (aufnahme.einheiten || 0) * 30}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_wohnflaeche_einheiten" bind:checked={ausweis.pruefpunkt_wohnflaeche_einheiten} required/>
<div class="text-left">
Die Angabe der Wohnfläche ist korrekt und bezieht sich auf das gesamte Gebäude.
</div>
@@ -997,7 +997,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Zusätzlich beim Verbrauchsausweis Gewerbe [altes System: $ausweis->vanw_strom_1 > 0 && $ausweis->vanw_strom_2 > 0 && $ausweis->vanw_strom_3 > 0] -->
{#if ausweis.strom_1 == 0 || ausweis.strom_2 == 0 || ausweis.strom_3 == 0}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_strom_null" bind:checked={ausweis.pruefpunkt_strom_null} required/>
<div class="text-left">
Die eingegebenen Stromverbräuche sind korrekt und alle 3 Felder wurden vollständig eingegeben.
</div>
@@ -1006,7 +1006,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Zusätzlich beim Verbrauchsausweis Gewerbe [altes System: getMaximumDevitationInPercent([$ausweis->vanw_strom_1, $ausweis->vanw_strom_2, $ausweis->vanw_strom_3]) < 50] -->
{#if getMaximumDevitationInPercent(ausweis.strom_1 || 0, ausweis.strom_2 || 0, ausweis.strom_3 || 0) > 50}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_strom_abweichung" bind:checked={ausweis.pruefpunkt_strom_abweichung} required/>
<div class="text-left">
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"
<!-- Verbrauchsausweis Wohnen, Gewerbe und Bedarfsausweis Wohnen
[altes System: !!db()->one("SELECT * FROM FORM WHERE zipcode = :zipcode", ["zipcode" => $ausweis->objekt_plz])] -->
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_plz" bind:checked={ausweis.pruefpunkt_plz}/>
<div class="text-left">
Ich habe meine Postleitzahl überprüft und bestätige hiermit die Richtigkeit.
</div>
@@ -1027,7 +1027,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Verbrauchsausweis Wohnen, Gewerbe und Bedarfsausweis Wohnen [altes System: $ausweis->baujahr_anlage >= $ausweis->baujahr_gebaeude] -->
{#if aufnahme.baujahr_heizung.at(-1) || 0 < aufnahme.baujahr_gebaeude[0] || 0}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_heizungsanlage" bind:checked={ausweis.pruefpunkt_heizungsanlage} required/>
<div class="text-left">
Das Baujahr der Heizungsanlage ist kleiner als das Baujahr des Gebäudes und begründet.
</div>
@@ -1041,7 +1041,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Verbrauchsausweis Wohnen [altes System: $ausweis->anteil_warmwasser_1 < 6 OR $ausweis->anteil_warmwasser_1 > 40] -->
{#if ausweis.anteil_warmwasser_1 < 6 || ausweis.anteil_warmwasser_1 > 40}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_anteil_warmwasser" bind:checked={ausweis.pruefpunkt_anteil_warmwasser} required/>
<div class="text-left">
Ich habe den Warmwasseranteil nochmal überprüft. Dieser ist korrekt und begründet.
</div>
@@ -1052,7 +1052,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Zusätzlich beim Bedarfsausweis [altes System: $ausweis->wohnflaeche < $ausweis->energetische_nutzfläche] -->
{#if ausweis.flaeche < ausweis.nutzflaeche}
<div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_wohnflaeche" bind:checked={ausweis.pruefpunkt_wohnflaeche} required/>
<div class="text-left">
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.
</div>
@@ -1061,7 +1061,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Zusätzlich beim Bedarfsausweis [altes System: ($result->AHF / ($ausweis->volumen ?: 1)) > 1.4 OR ($result->AHF / ($ausweis->volumen ?: 1)) < 0.18] -->
<!-- TODO -->
<!-- <div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_geometrie"/>
<div class="text-left">
Ich habe die Angaben zur Gebäudegeometrie geprüft und bestätige die Richtigkeit.
</div>
@@ -1069,7 +1069,7 @@ grid-cols-3 sm:grid-cols-5 justify-around justify-items-center items-center"
<!-- Zusätzlich beim Bedarfsausweis [altes System: getPortionInPercent(($ausweis->fenster_flaeche_1 + $ausweis->fenster_flaeche_2), $ausweis->aussenwand_flaeche) < 5 OR
getPortionInPercent(($ausweis->fenster_flaeche_1 + $ausweis->fenster_flaeche_2), $ausweis->aussenwand_flaeche) > 70] -->
<!-- <div class="pruefpunkt">
<input type="checkbox"/>
<input type="checkbox" name="pruefpunkt_fenster"/>
<div class="text-left">
Ich habe die Angaben zu den Fensterflächen geprüft und bestätige die Richtigkeit.
</div>