VA On-Screen Checks
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -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
|
||||
}
|
||||
21
src/components/Verbrauchsausweis/audits/KlimaFaktoren.ts
Normal file
21
src/components/Verbrauchsausweis/audits/KlimaFaktoren.ts
Normal 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;
|
||||
}
|
||||
11
src/components/Verbrauchsausweis/audits/LeerStand.ts
Normal file
11
src/components/Verbrauchsausweis/audits/LeerStand.ts
Normal 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
|
||||
}
|
||||
12
src/components/Verbrauchsausweis/audits/WarmWasser.ts
Normal file
12
src/components/Verbrauchsausweis/audits/WarmWasser.ts
Normal 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
|
||||
}
|
||||
12
src/components/Verbrauchsausweis/audits/WohnFlaeche.ts
Normal file
12
src/components/Verbrauchsausweis/audits/WohnFlaeche.ts
Normal 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
|
||||
}
|
||||
22
src/components/Verbrauchsausweis/audits/ZeitraumAktuell.ts
Normal file
22
src/components/Verbrauchsausweis/audits/ZeitraumAktuell.ts
Normal 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user