import { AufnahmeClient, ObjektClient, VerbrauchsausweisGewerbeClient, VerbrauchsausweisWohnenClient } from "#components/Ausweis/types.js"; import { AuditType, hidden } from "./hidden.js"; export function auditVerbrauchAbweichung(ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient): number[] { if (aufnahme.leerstand && (aufnahme.leerstand > 0)) { return []; } if (hidden.has(AuditType.VERBRAUCH_ABWEICHUNG)) { return []; } if (getAbweichung(ausweis.verbrauch_1 || 0, ausweis.verbrauch_2 || 0) > 0.30) { return [1, 2]; } if (getAbweichung(ausweis.verbrauch_2 || 0, ausweis.verbrauch_3 || 0) > 0.30) { return [2, 3]; } if (getAbweichung(ausweis.verbrauch_4 || 0, ausweis.verbrauch_5 || 0) > 0.30) { return [4, 5]; } if (getAbweichung(ausweis.verbrauch_5 || 0, ausweis.verbrauch_6 || 0) > 0.30) { return [5, 6]; } return []; } function getAbweichung(x: number, y: number): number { return Math.abs((x - y) / ((x + y) / 2)); }