Dashboard, Types und Formular
This commit is contained in:
@@ -1,18 +1,7 @@
|
||||
import { GebaeudeAufnahmeClient } from "#components/Ausweis/types";
|
||||
import { VerbrauchsausweisWohnen, Benutzer, GebaeudeStammdaten, Rechnungen, GebaeudeBilder } from "@ibcornelsen/database/client";
|
||||
|
||||
export type AusweisData = VerbrauchsausweisWohnen & {
|
||||
benutzer: Benutzer;
|
||||
gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient & {
|
||||
gebaeude_stammdaten: GebaeudeStammdaten & {
|
||||
gebaeude_bilder: GebaeudeBilder[];
|
||||
}
|
||||
}
|
||||
rechnungen: Rechnungen;
|
||||
};
|
||||
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
|
||||
|
||||
export function convertAusweisData(
|
||||
inputs: AusweisData
|
||||
inputs: VerbrauchsausweisWohnenClient
|
||||
): Record<string, string> {
|
||||
return {
|
||||
"gebaeude_stammdaten.adresse": inputs.gebaeude_aufnahme_allgemein.adresse || "",
|
||||
|
||||
64
src/lib/VerbrauchsausweisWohnen/calculateFormProgress.ts
Normal file
64
src/lib/VerbrauchsausweisWohnen/calculateFormProgress.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
|
||||
|
||||
type AusweisError = {
|
||||
title: string,
|
||||
description: string,
|
||||
severity: "error" | "warning",
|
||||
resolvehref?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Berechnet den Fortschritt im Formular anhand bestimmter Faktoren
|
||||
* Gibt den Fortschritt in Prozent zurück.
|
||||
* @param ausweis Der Verbrauchsausweis
|
||||
* @returns Der Fortschritt in Prozent sowie ein Array mit gefundenen Fehlern
|
||||
*/
|
||||
export function verbrauchsausweisWohnenCalculateFormProgress(ausweis: VerbrauchsausweisWohnenClient): {
|
||||
progress: number;
|
||||
errors: AusweisError[];
|
||||
} {
|
||||
let progress = 0;
|
||||
const errors: AusweisError[] = [];
|
||||
|
||||
if (ausweis.erledigt) {
|
||||
// Der Ausweis wurde ausgestellt, also ist der Fortschritt 100%
|
||||
return {
|
||||
progress: 100,
|
||||
errors: []
|
||||
};
|
||||
} else if (ausweis.gebaeude_aufnahme_allgemein.storniert) {
|
||||
// Der Ausweis wurde storniert, also ist der Fortschritt 0%
|
||||
return {
|
||||
progress: 0,
|
||||
errors: []
|
||||
};
|
||||
}
|
||||
|
||||
if (ausweis.gebaeude_aufnahme_allgemein.baujahr_gebaeude.length === 0) {
|
||||
errors.push({
|
||||
title: "Fehlendes Baujahr",
|
||||
description: "Eines ihrer Gebäude hat noch kein Baujahr angegeben. Beheben sie dies indem sie auf den untenstehenden Link klicken.",
|
||||
severity: "warning",
|
||||
resolvehref: `/energieausweis-erstellen/verbrauchsausweis-wohnen?uid=${ausweis.uid}`
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if (ausweis.gebaeude_aufnahme_allgemein.adresse) {
|
||||
progress += 5;
|
||||
}
|
||||
|
||||
if (ausweis.gebaeude_aufnahme_allgemein.ort) {
|
||||
progress += 5;
|
||||
}
|
||||
|
||||
if (ausweis.verbrauch_1 && ausweis.verbrauch_2 && ausweis.verbrauch_3) {
|
||||
progress += 5;
|
||||
}
|
||||
|
||||
|
||||
return {
|
||||
progress,
|
||||
errors
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user