VA On-Screen Checks

This commit is contained in:
Carl Mahnke
2024-02-28 14:02:31 +01:00
parent 438163217f
commit f955aa24fb
10 changed files with 233 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
import { GebaeudeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { GebaeudeAufnahmeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
export function auditBedarfsausweisBenoetigt(ausweis: VerbrauchsausweisWohnenClient, gebaeude: GebaeudeClient): boolean {
export function auditBedarfsausweisBenoetigt(ausweis: VerbrauchsausweisWohnenClient, gebaeude: GebaeudeAufnahmeClient): boolean {
if (gebaeude.baujahr_gebaeude && gebaeude.baujahr_gebaeude.length > 0) {
return (

View File

@@ -0,0 +1,12 @@
import { GebaeudeAufnahmeClient } from "#components/Ausweis/types";
export function auditHeizungJuengerDreiJahre(gebaeude: GebaeudeAufnahmeClient ): boolean {
if (gebaeude.baujahr_heizung && gebaeude.baujahr_heizung.length > 0) {
return (
(gebaeude.baujahr_heizung.sort()[0] >= (new Date().getFullYear())-3)
);
}
return false
}

View File

@@ -0,0 +1,21 @@
import { GebaeudeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { AuditType, hidden } from "./hidden";
import { prisma } from "@ibcornelsen/database/server";
import { client } from "src/trpc";
import moment from "moment";
import { getKlimafaktoren } from "#lib/Klimafaktoren";
export async function auditKlimaFaktoren(ausweis: VerbrauchsausweisWohnenClient, gebaeude: GebaeudeClient): Promise<boolean> {
if (hidden.has(AuditType.KLIMA_FAKTOREN)) {
return false;
}
if (ausweis.startdatum && gebaeude.plz && ausweis.verbrauch_1) {
const response = await getKlimafaktoren(ausweis.startdatum, gebaeude.plz);
if (!response) {
return true;
}
}
return false;
}

View File

@@ -0,0 +1,11 @@
import { GebaeudeAufnahmeClient } from "#components/Ausweis/types";
export function auditLeerStand(gebaeude: GebaeudeAufnahmeClient ): boolean {
if (gebaeude.leerstand ) {
return (
(gebaeude.leerstand > 30)
);
}
return false
}

View File

@@ -0,0 +1,12 @@
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
export function auditWarmWasser(ausweis: VerbrauchsausweisWohnenClient): boolean {
if (ausweis.warmwasser_anteil_bekannt && ausweis.warmwasser_enthalten && ausweis.anteil_warmwasser_1) {
return (
ausweis.anteil_warmwasser_1 <= 6 || ausweis.anteil_warmwasser_1 >= 35
);
}
return false
}

View File

@@ -0,0 +1,12 @@
import { GebaeudeAufnahmeClient } from "#components/Ausweis/types";
export function auditWohnFlaeche(gebaeude: GebaeudeAufnahmeClient ): boolean {
if (gebaeude.einheiten && gebaeude.flaeche ) {
return (
(gebaeude.flaeche < gebaeude.einheiten * 30)
);
}
return false
}

View File

@@ -0,0 +1,22 @@
import { GebaeudeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
import { AuditType, hidden } from "./hidden";
export function auditZeitraumAktuell(ausweis: VerbrauchsausweisWohnenClient, gebaeude: GebaeudeClient): boolean {
if (hidden.has(AuditType.ZEITRAUM_AKTUELL)) {
return false;
}
if (ausweis) {
if (ausweis.startdatum && ausweis.verbrauch_1) {
let checkDate = new Date();
checkDate.setMonth(checkDate.getMonth() - 54);
return (ausweis.startdatum < checkDate && ausweis.verbrauch_1 > 0);
}
}
return false;
}

View File

@@ -2,5 +2,11 @@ export const hidden = new Set<AuditType>()
export enum AuditType {
HEIZUNG_GEBAEUDE_BAUJAHR,
VERBRAUCH_ABWEICHUNG
HEIZUNG_JUENGER_DREI_JAHRE,
VERBRAUCH_ABWEICHUNG,
ZEITRAUM_AKTUELL,
KLIMA_FAKTOREN,
WOHN_FLAECHE,
WARM_WASSER,
LEER_STAND
}