Update Berechnungen

This commit is contained in:
Moritz Utcke
2023-09-25 14:12:22 +06:00
parent ec7a9ad88c
commit 2a995a1e8a
6 changed files with 46 additions and 48 deletions

View File

@@ -10,8 +10,8 @@
export let gebaeude: Gebaeude; export let gebaeude: Gebaeude;
export let ausweis: Verbrauchsausweis; export let ausweis: Verbrauchsausweis;
let baujahr = writable(gebaeude.baujahr); $: baujahrHeizung = writable(ausweis.baujahr_heizung)
let baujahrAnlage = writable(ausweis.baujahr_anlage); $: baujahr = writable(gebaeude.baujahr);
</script> </script>
<div class="GRB"> <div class="GRB">
@@ -95,7 +95,7 @@
deleteNotification("HEIZUNG_BAUJAHR") deleteNotification("HEIZUNG_BAUJAHR")
}} }}
className="{auditHeizungGebaeudeBaujahr(gebaeude) ? "linked" : ""}" className="{auditHeizungGebaeudeBaujahr(gebaeude) ? "linked" : ""}"
bind:tags={baujahrAnlage} bind:tags={baujahrHeizung}
/> />
</div> </div>
</div> </div>

View File

@@ -41,7 +41,7 @@
$: { $: {
(async () => { (async () => {
const endEnergieVerbrauch = (await ausweis.endEnergieVerbrauch); const endEnergieVerbrauch = (await ausweis.endEnergieVerbrauch);
const primaerEnergieVerbrauch = (await ausweis.primaerEnergieVerbrauch); const primaerEnergieVerbrauch = (await ausweis.primaerEnergieBedarf);
translation_1 = Math.max(0, Math.min(100, endEnergieVerbrauch / maxPerformance * 100)) translation_1 = Math.max(0, Math.min(100, endEnergieVerbrauch / maxPerformance * 100))
translation_2 = Math.max(0, Math.min(100, primaerEnergieVerbrauch / maxPerformance * 100)) translation_2 = Math.max(0, Math.min(100, primaerEnergieVerbrauch / maxPerformance * 100))
})() })()

View File

@@ -40,7 +40,7 @@
$: { $: {
if (month && year) { if (month && year) {
ausweis.kennwerte.zeitraum = moment(`${month}.01.${year}`); ausweis.startdatum = moment(`${month}.01.${year}`).toDate();
} }
} }
@@ -59,7 +59,7 @@
<input <input
type="checkbox" type="checkbox"
class="IGzus1verbrauch1" class="IGzus1verbrauch1"
bind:checked={ausweis.kennwerte.zusaetzliche_heizquelle} bind:checked={ausweis.zusaetzliche_heizquelle}
/> />
</div> </div>
@@ -91,7 +91,7 @@
<b>Koks:</b> Stark kohlenstoffhaltiger Brennstoff.<br /><br /> <b>Koks:</b> Stark kohlenstoffhaltiger Brennstoff.<br /><br />
</HelpLabel> </HelpLabel>
<div> <div>
<select name="energietraeger_1" required bind:value={ausweis.kennwerte.energietraeger_1}> <select name="energietraeger_1" required bind:value={ausweis.brennstoff_1}>
<option>Bitte auswählen</option> <option>Bitte auswählen</option>
{#each Object.keys(fuelMap) as fuel} {#each Object.keys(fuelMap) as fuel}
<option value={fuel}>{fuel}</option> <option value={fuel}>{fuel}</option>
@@ -110,10 +110,10 @@
<select <select
name="energietraeger_einheit_heizquelle_1" name="energietraeger_einheit_heizquelle_1"
required required
bind:value={ausweis.kennwerte.einheit_1} bind:value={ausweis.einheit_1}
> >
<option>Bitte auswählen</option> <option>Bitte auswählen</option>
{#each (fuelMap.hasOwnProperty(ausweis.kennwerte.energietraeger_1) ? fuelMap[ausweis.kennwerte.energietraeger_1] : []) as unit} {#each (fuelMap.hasOwnProperty(ausweis.brennstoff_1) ? fuelMap[ausweis.brennstoff_1] : []) as unit}
<option value={unit}>{unit}</option> <option value={unit}>{unit}</option>
{/each} {/each}
</select> </select>
@@ -125,8 +125,8 @@
<div> <div>
<select <select
name="energietraeger_2" name="energietraeger_2"
bind:value={ausweis.kennwerte.energietraeger_2} bind:value={ausweis.brennstoff_2}
disabled={!ausweis.kennwerte.zusaetzliche_heizquelle} disabled={!ausweis.zusaetzliche_heizquelle}
required required
> >
<option> Bitte auswählen</option> <option> Bitte auswählen</option>
@@ -142,12 +142,12 @@
<div> <div>
<select <select
name="energietraeger_einheit_heizquelle_2" name="energietraeger_einheit_heizquelle_2"
disabled={!ausweis.kennwerte.zusaetzliche_heizquelle} disabled={!ausweis.zusaetzliche_heizquelle}
bind:value={ausweis.kennwerte.einheit_2} bind:value={ausweis.einheit_2}
required required
> >
<option>Bitte auswählen</option> <option>Bitte auswählen</option>
{#each (fuelMap.hasOwnProperty(ausweis.kennwerte.energietraeger_2) ? fuelMap[ausweis.kennwerte.energietraeger_2] : []) as unit} {#each (fuelMap.hasOwnProperty(ausweis.brennstoff_2) ? fuelMap[ausweis.brennstoff_2] : []) as unit}
<option value={unit}>{unit}</option> <option value={unit}>{unit}</option>
{/each} {/each}
</select> </select>
@@ -187,7 +187,7 @@
<span>von</span> <span>von</span>
<input <input
class="klima" class="klima"
value={moment(ausweis.kennwerte.zeitraum) value={moment(ausweis.startdatum)
.add("1", "year") .add("1", "year")
.format("MM.Y")} .format("MM.Y")}
readonly readonly
@@ -197,7 +197,7 @@
<span>von</span> <span>von</span>
<input <input
class="klima" class="klima"
value={moment(ausweis.kennwerte.zeitraum) value={moment(ausweis.startdatum)
.add("2", "years") .add("2", "years")
.format("MM.Y")} .format("MM.Y")}
readonly readonly
@@ -209,7 +209,7 @@
<span>bis</span> <span>bis</span>
<input <input
class="" class=""
value={moment(ausweis.kennwerte.zeitraum) value={moment(ausweis.startdatum)
.add("1", "year") .add("1", "year")
.format("MM.Y")} .format("MM.Y")}
readonly readonly
@@ -219,7 +219,7 @@
<span>bis</span> <span>bis</span>
<input <input
class="" class=""
value={moment(ausweis.kennwerte.zeitraum) value={moment(ausweis.startdatum)
.add("2", "years") .add("2", "years")
.format("MM.Y")} .format("MM.Y")}
readonly readonly
@@ -229,7 +229,7 @@
<span>bis</span> <span>bis</span>
<input <input
class="" class=""
value={moment(ausweis.kennwerte.zeitraum) value={moment(ausweis.startdatum)
.add("3", "years") .add("3", "years")
.format("MM.Y")} .format("MM.Y")}
readonly readonly
@@ -243,7 +243,7 @@
name="energieverbrauch_1_heizquelle_1" name="energieverbrauch_1_heizquelle_1"
type="number" type="number"
class:linked={abweichung.indexOf(1) > -1} class:linked={abweichung.indexOf(1) > -1}
bind:value={ausweis.kennwerte.verbrauch_1} bind:value={ausweis.verbrauch_1}
required required
/> />
</div> </div>
@@ -253,7 +253,7 @@
name="energieverbrauch_2_heizquelle_1" name="energieverbrauch_2_heizquelle_1"
type="number" type="number"
class:linked={abweichung.indexOf(2) > -1} class:linked={abweichung.indexOf(2) > -1}
bind:value={ausweis.kennwerte.verbrauch_2} bind:value={ausweis.verbrauch_2}
required required
/> />
</div> </div>
@@ -263,7 +263,7 @@
name="energieverbrauch_3_heizquelle_1" name="energieverbrauch_3_heizquelle_1"
type="number" type="number"
class:linked={abweichung.indexOf(3) > -1} class:linked={abweichung.indexOf(3) > -1}
bind:value={ausweis.kennwerte.verbrauch_3} bind:value={ausweis.verbrauch_3}
required required
/> />
</div> </div>
@@ -274,9 +274,9 @@
<input <input
name="energieverbrauch_1_heizquelle_2" name="energieverbrauch_1_heizquelle_2"
type="number" type="number"
bind:value={ausweis.kennwerte.verbrauch_4} bind:value={ausweis.verbrauch_4}
class:linked={abweichung.indexOf(4) > -1} class:linked={abweichung.indexOf(4) > -1}
disabled={!ausweis.kennwerte.zusaetzliche_heizquelle} disabled={!ausweis.zusaetzliche_heizquelle}
/> />
</div> </div>
<div class="column"> <div class="column">
@@ -284,9 +284,9 @@
<input <input
name="energieverbrauch_2_heizquelle_2" name="energieverbrauch_2_heizquelle_2"
type="number" type="number"
bind:value={ausweis.kennwerte.verbrauch_5} bind:value={ausweis.verbrauch_5}
class:linked={abweichung.indexOf(5) > -1} class:linked={abweichung.indexOf(5) > -1}
disabled={!ausweis.kennwerte.zusaetzliche_heizquelle} disabled={!ausweis.zusaetzliche_heizquelle}
/> />
</div> </div>
<div class="column"> <div class="column">
@@ -294,9 +294,9 @@
<input <input
name="energieverbrauch_3_heizquelle_2" name="energieverbrauch_3_heizquelle_2"
type="number" type="number"
bind:value={ausweis.kennwerte.verbrauch_6} bind:value={ausweis.verbrauch_6}
class:linked={abweichung.indexOf(6) > -1} class:linked={abweichung.indexOf(6) > -1}
disabled={!ausweis.kennwerte.zusaetzliche_heizquelle} disabled={!ausweis.zusaetzliche_heizquelle}
/> />
</div> </div>
</div> </div>

View File

@@ -11,7 +11,6 @@
import moment from "moment"; import moment from "moment";
import BilderZusatzsysteme from "../Ausweis/BilderZusatzsysteme.svelte"; import BilderZusatzsysteme from "../Ausweis/BilderZusatzsysteme.svelte";
import { Gebaeude } from "src/lib/Gebaeude"; import { Gebaeude } from "src/lib/Gebaeude";
import { gebaeude } from "./shared";
import { RawNotificationWrapper, RawNotification, notifications } from "@ibcornelsen/ui"; import { RawNotificationWrapper, RawNotification, notifications } from "@ibcornelsen/ui";
import { auditHeizungGebaeudeBaujahr } from "./audits/HeizungGebaeudeBaujahr"; import { auditHeizungGebaeudeBaujahr } from "./audits/HeizungGebaeudeBaujahr";
import { AuditType, hidden } from "./audits/hidden"; import { AuditType, hidden } from "./audits/hidden";
@@ -39,24 +38,25 @@
function automatischAusfüllen() { function automatischAusfüllen() {
gebaeude.baujahr = [1962]; gebaeude.baujahr = [1962];
ausweis.baujahr_anlage = [1952]; ausweis.baujahr_heizung = [1952];
gebaeude.saniert = true; gebaeude.saniert = true;
gebaeude.einheiten = 1; gebaeude.einheiten = 1;
ausweis.ausstellgrund = "Vermietung"; ausweis.ausstellgrund = "Vermietung";
ausweis.kennwerte.verbrauch_1 = 15000; ausweis.verbrauch_1 = 15000;
ausweis.kennwerte.verbrauch_2 = 14000; ausweis.verbrauch_2 = 14000;
ausweis.kennwerte.verbrauch_3 = 16000; ausweis.verbrauch_3 = 16000;
gebaeude.wohnflaeche = 152; gebaeude.wohnflaeche = 152;
gebaeude.keller_beheizt = true; gebaeude.keller_beheizt = true;
ausweis.kennwerte.energietraeger_1 = "Erdgas H"; ausweis.brennstoff_1 = "Erdgas H";
ausweis.kennwerte.einheit_1 = "kWh"; ausweis.einheit_1 = "kWh";
ausweis.kennwerte.anteil_warmwasser_1 = 18; ausweis.anteil_warmwasser_1 = 18;
ausweis.kennwerte.zeitraum = moment("12.01.2019"); ausweis.startdatum = moment("12.01.2019").toDate();
gebaeude.plz = "21039"; gebaeude.plz = "21039";
gebaeude.ort = "Hamburg"; gebaeude.ort = "Hamburg";
gebaeude.strasse = "Curslacker Deich 170"; gebaeude.strasse = "Curslacker Deich 170";
gebaeude.gebaeudeteil = "Gesamtgebäude"; gebaeude.gebaeudeteil = "Gesamtgebäude";
ausweis.gebaeude_stammdaten = gebaeude
gebaeude = gebaeude; gebaeude = gebaeude;
ausweis = ausweis; ausweis = ausweis;
} }
@@ -221,7 +221,7 @@
type="checkbox" type="checkbox"
class="IGwwbool" class="IGwwbool"
name="IGwwbool" name="IGwwbool"
bind:checked={ausweis.kennwerte bind:checked={ausweis
.warmwasser_enthalten} .warmwasser_enthalten}
/>Warmwasser im Verbrauch enthalten</label />Warmwasser im Verbrauch enthalten</label
> >
@@ -239,7 +239,7 @@
name="IGwarmwasser" name="IGwarmwasser"
maxlength="2" maxlength="2"
type="number" type="number"
bind:value={ausweis.kennwerte.anteil_warmwasser_1} bind:value={ausweis.anteil_warmwasser_1}
disabled={!ausweis.warmwasser_enthalten} disabled={!ausweis.warmwasser_enthalten}
autocomplete="off" autocomplete="off"
/> />
@@ -256,8 +256,8 @@
maxlength="3" maxlength="3"
type="number" type="number"
autocomplete="off" autocomplete="off"
bind:value={ausweis.kennwerte.anteil_warmwasser_2} bind:value={ausweis.anteil_warmwasser_2}
disabled={!ausweis.kennwerte.zusaetzliche_heizquelle || disabled={!ausweis.zusaetzliche_heizquelle ||
!ausweis.warmwasser_enthalten} !ausweis.warmwasser_enthalten}
/> />
</div> </div>

View File

@@ -32,7 +32,7 @@ export class Verbrauchsausweis {
public anteil_warmwasser_1: number = 0; public anteil_warmwasser_1: number = 0;
public anteil_warmwasser_2: number = 0; public anteil_warmwasser_2: number = 0;
public get energetische_nutzfläche(): number { public get energetischeNutzflaeche(): number {
return ( return (
this.gebaeude_stammdaten.wohnflaeche * this.gebaeude_stammdaten.wohnflaeche *
(this.gebaeude_stammdaten.keller_beheizt ? 1.35 : 1.2) (this.gebaeude_stammdaten.keller_beheizt ? 1.35 : 1.2)
@@ -103,7 +103,7 @@ export class Verbrauchsausweis {
let leerstandsZuschlag = 0; let leerstandsZuschlag = 0;
let kuehlungsZuschlag = 0; let kuehlungsZuschlag = 0;
if (this.anteil_warmwasser_1 == 0) { if (this.anteil_warmwasser_1 == 0) {
warmwasserZuschlag = 20 * this.energetische_nutzfläche * 3; warmwasserZuschlag = 20 * this.energetischeNutzflaeche * 3;
} }
if (this.gebaeude_stammdaten.leerstand > 0) { if (this.gebaeude_stammdaten.leerstand > 0) {
@@ -122,7 +122,7 @@ export class Verbrauchsausweis {
} }
if (this.gebaeude_stammdaten.energiequelle_2_nutzung[3]) { if (this.gebaeude_stammdaten.energiequelle_2_nutzung[3]) {
kuehlungsZuschlag = 6 * this.energetische_nutzfläche * 3; kuehlungsZuschlag = 6 * this.energetischeNutzflaeche * 3;
} }
let anteil_heizung = 1 - this.anteil_warmwasser_1 / 100; let anteil_heizung = 1 - this.anteil_warmwasser_1 / 100;
@@ -145,7 +145,8 @@ export class Verbrauchsausweis {
leerstandsZuschlag + leerstandsZuschlag +
kuehlungsZuschlag) / kuehlungsZuschlag) /
3 / 3 /
this.energetische_nutzfläche; this.energetischeNutzflaeche;
return Energieverbrauchskennwert; return Energieverbrauchskennwert;
})(); })();

View File

@@ -4,8 +4,6 @@ import { getHeizwertfaktorClient } from "../server/Heizwertfaktor";
import moment from "moment"; import moment from "moment";
import { BitChecker } from "../BitChecker"; import { BitChecker } from "../BitChecker";
import { Ausstellgrund, Ausweisart, Dachgeschoss, Lueftungskonzept } from "./types"; import { Ausstellgrund, Ausweisart, Dachgeschoss, Lueftungskonzept } from "./types";
import { Ausweis } from "./Ausweis";
import { Energiekennwerte } from "../Energiekennwerte";
export class VerbrauchsausweisGewerbe { export class VerbrauchsausweisGewerbe {
@@ -133,7 +131,6 @@ export class VerbrauchsausweisGewerbe {
public telefonnummer: string = ""; public telefonnummer: string = "";
public gebaeude_uid?: string; public gebaeude_uid?: string;
public kennwerte: Energiekennwerte = new Energiekennwerte();
public constructor() {} public constructor() {}