Datenbank Umstellung
This commit is contained in:
@@ -1,18 +1,34 @@
|
||||
import { Ausstellgrund, Ausweisart } from "src/lib/Ausweis/types";
|
||||
import { Energiekennwerte } from "src/lib/Energiekennwerte";
|
||||
import { Benutzer, Rechnungen, VerbrauchsausweisWohnen } from "@ibcornelsen/database";
|
||||
import { Gebaeude } from "src/lib/Gebaeude";
|
||||
import { getKlimafaktorenClient } from "src/lib/Klimafaktoren";
|
||||
import { getHeizwertfaktorClient } from "src/lib/server/Heizwertfaktor";
|
||||
|
||||
|
||||
export default class Verbrauchsausweis {
|
||||
public ausweisart: Ausweisart = "VA";
|
||||
public ausstellgrund: Ausstellgrund = "Vermietung";
|
||||
public warmwasser_enthalten: boolean = true;
|
||||
public uid?: string;
|
||||
public baujahr_anlage: number[] = [];
|
||||
export class Verbrauchsausweis implements Partial<VerbrauchsausweisWohnen & { benutzer: Benutzer, rechnung: Rechnungen }> {
|
||||
rechnungen_id: number | null = null;
|
||||
erstellungsdatum: Date | null = null;
|
||||
ausstellgrund: string | null = null;
|
||||
registriernummer: string | null = null;
|
||||
erledigt: boolean | null = null;
|
||||
baujahr_heizung: number[] = [];
|
||||
zusaetzliche_heizquelle: boolean | null = null;
|
||||
brennstoff_1: string | null = null;
|
||||
einheit_1: string | null = null;
|
||||
brennstoff_2: string | null = null;
|
||||
einheit_2: string | null = null;
|
||||
startdatum: Date | null = null;
|
||||
enddatum: Date | null = null;
|
||||
verbrauch_1: number | null = null;
|
||||
verbrauch_2: number | null = null;
|
||||
verbrauch_3: number | null = null;
|
||||
verbrauch_4: number | null = null;
|
||||
verbrauch_5: number | null = null;
|
||||
verbrauch_6: number | null = null;
|
||||
warmwasser_enthalten: boolean | null = null;
|
||||
anteil_warmwasser_1: number | null = null;
|
||||
anteil_warmwasser_2: number | null = null;
|
||||
|
||||
public get energetische_nutzfläche(): number {
|
||||
public get energetischeNutzflaeche(): number {
|
||||
return (
|
||||
this.gebaeude.wohnflaeche *
|
||||
(this.gebaeude.keller_beheizt ? 1.35 : 1.2)
|
||||
@@ -21,32 +37,30 @@ export default class Verbrauchsausweis {
|
||||
|
||||
public regnummer?: string;
|
||||
|
||||
public kennwerte: Energiekennwerte = new Energiekennwerte();
|
||||
public gebaeude: Gebaeude = new Gebaeude();
|
||||
|
||||
public constructor(initializer?: Verbrauchsausweis) {
|
||||
public constructor(initializer?: VerbrauchsausweisWohnen) {
|
||||
if (initializer) {
|
||||
this.ausweisart = initializer.ausweisart;
|
||||
this.kennwerte = initializer.kennwerte;
|
||||
Object.assign(this, initializer)
|
||||
}
|
||||
}
|
||||
|
||||
public get primaer_energie_verbrauch(): Promise<number> {
|
||||
public get primaerEnergieVerbrauch(): Promise<number> {
|
||||
return (async () => {
|
||||
const Endenergieverbrauch = await this.end_energie_verbrauch;
|
||||
const Endenergieverbrauch = await this.endEnergieVerbrauch;
|
||||
|
||||
const brennstoff_1 = getHeizwertfaktorClient(
|
||||
this.kennwerte.energietraeger_1,
|
||||
this.kennwerte.einheit_1
|
||||
this.brennstoff_1,
|
||||
this.einheit_1
|
||||
);
|
||||
|
||||
return Endenergieverbrauch * brennstoff_1.primärenergiefaktor;
|
||||
})();
|
||||
}
|
||||
|
||||
public get end_energie_verbrauch(): Promise<number> {
|
||||
public get endEnergieVerbrauch(): Promise<number> {
|
||||
return (async () => {
|
||||
const date = this.kennwerte.zeitraum;
|
||||
const date = this.startdatum;
|
||||
const klimafaktoren = await getKlimafaktorenClient(
|
||||
date,
|
||||
this.gebaeude.plz
|
||||
@@ -55,32 +69,32 @@ export default class Verbrauchsausweis {
|
||||
// Endenergieverbrauch
|
||||
// Um den EEV auszurechnen, müssen die Verbräuche zu kWh konvertiert werden.
|
||||
let brennstoff_1 = getHeizwertfaktorClient(
|
||||
this.kennwerte.energietraeger_1,
|
||||
this.kennwerte.einheit_1
|
||||
this.brennstoff_1,
|
||||
this.einheit_1
|
||||
);
|
||||
let brennstoff_2 = getHeizwertfaktorClient(
|
||||
this.kennwerte.energietraeger_2,
|
||||
this.kennwerte.einheit_2
|
||||
this.brennstoff_2,
|
||||
this.einheit_2
|
||||
);
|
||||
|
||||
let verbrauch_1_kwh =
|
||||
this.kennwerte.verbrauch_1 * brennstoff_1.umrechnungsfaktor;
|
||||
this.verbrauch_1 * brennstoff_1.umrechnungsfaktor;
|
||||
let verbrauch_2_kwh =
|
||||
this.kennwerte.verbrauch_2 * brennstoff_1.umrechnungsfaktor;
|
||||
this.verbrauch_2 * brennstoff_1.umrechnungsfaktor;
|
||||
let verbrauch_3_kwh =
|
||||
this.kennwerte.verbrauch_3 * brennstoff_1.umrechnungsfaktor;
|
||||
this.verbrauch_3 * brennstoff_1.umrechnungsfaktor;
|
||||
let verbrauch_4_kwh =
|
||||
this.kennwerte.verbrauch_4 * brennstoff_2.umrechnungsfaktor;
|
||||
this.verbrauch_4 * brennstoff_2.umrechnungsfaktor;
|
||||
let verbrauch_5_kwh =
|
||||
this.kennwerte.verbrauch_5 * brennstoff_2.umrechnungsfaktor;
|
||||
this.verbrauch_5 * brennstoff_2.umrechnungsfaktor;
|
||||
let verbrauch_6_kwh =
|
||||
this.kennwerte.verbrauch_6 * brennstoff_2.umrechnungsfaktor;
|
||||
this.verbrauch_6 * brennstoff_2.umrechnungsfaktor;
|
||||
|
||||
let warmwasserZuschlag = 0;
|
||||
let leerstandsZuschlag = 0;
|
||||
let kuehlungsZuschlag = 0;
|
||||
if (this.kennwerte.anteil_warmwasser_1 == 0) {
|
||||
warmwasserZuschlag = 20 * this.energetische_nutzfläche * 3;
|
||||
if (this.anteil_warmwasser_1 == 0) {
|
||||
warmwasserZuschlag = 20 * this.energetischeNutzflaeche * 3;
|
||||
}
|
||||
|
||||
if (this.gebaeude.leerstand > 0) {
|
||||
@@ -99,11 +113,11 @@ export default class Verbrauchsausweis {
|
||||
}
|
||||
|
||||
if (this.gebaeude.energiequelle_2_nutzung[3]) {
|
||||
kuehlungsZuschlag = 6 * this.energetische_nutzfläche * 3;
|
||||
kuehlungsZuschlag = 6 * this.energetischeNutzflaeche * 3;
|
||||
}
|
||||
|
||||
let anteil_heizung = 1 - this.kennwerte.anteil_warmwasser_1 / 100;
|
||||
let anteil_warmwasser = this.kennwerte.anteil_warmwasser_1 / 100;
|
||||
let anteil_heizung = 1 - this.anteil_warmwasser_1 / 100;
|
||||
let anteil_warmwasser = this.anteil_warmwasser_1 / 100;
|
||||
|
||||
let Energieverbrauchskennwert =
|
||||
(anteil_heizung *
|
||||
@@ -122,9 +136,10 @@ export default class Verbrauchsausweis {
|
||||
leerstandsZuschlag +
|
||||
kuehlungsZuschlag) /
|
||||
3 /
|
||||
this.energetische_nutzfläche;
|
||||
this.energetischeNutzflaeche;
|
||||
|
||||
return Energieverbrauchskennwert;
|
||||
})();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user