diff --git a/src/components/Ausweis/Verbrauch.svelte b/src/components/Ausweis/Verbrauch.svelte
index 7f2bd0cf..272057a9 100644
--- a/src/components/Ausweis/Verbrauch.svelte
+++ b/src/components/Ausweis/Verbrauch.svelte
@@ -7,10 +7,15 @@
import type { VerbrauchsausweisGewerbe } from "@ibcornelsen/database/client";
import { GebaeudeAufnahmeClient, GebaeudeClient, VerbrauchsausweisWohnenClient } from "./types";
- let availableYears = [
- 2018, 2019,
- ];
- let availableMonths = [
+ // Wir dürfen bis zu 4.5 Jahre alte Klimafaktoren benutzen, also nehmen wir alle Monate seitdem und generieren daraus die Auswahl.
+ // Allerdings müssen wir auch berücksichtigen, dass wir drei folgende Jahre brauchen, also
+ // kann der Nutzer nur 36 + 18 Monate zurückgehen.
+ let availableDates: {
+ year: number;
+ month: number;
+ }[] = [];
+
+ let monthNames = [
"Januar",
"Februar",
"März",
@@ -25,6 +30,17 @@
"Dezember",
];
+ const startDate = moment().subtract(4, "years").subtract(6, "months");
+ const endDate = moment().subtract(3, "years");
+
+ for (let m = moment(startDate); m.isBefore(endDate); m.add(1, "month")) {
+ availableDates.push({
+ year: m.year(),
+ month: m.month(),
+ });
+ }
+
+
export let gebaeude: GebaeudeClient;
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
export let ausweis: VerbrauchsausweisWohnenClient | VerbrauchsausweisGewerbe;
@@ -35,12 +51,10 @@
fuelMap[fuel[0]] = fuelMap[fuel[0]] || [];
fuelMap[fuel[0]].push(fuel[1]);
}
-
- console.log(ausweis.startdatum);
- let month = ausweis.startdatum?.getMonth() || 1;
- let year = ausweis.startdatum?.getFullYear() || 2018;
+ let month = ausweis.startdatum?.getMonth() || moment().month();
+ let year = ausweis.startdatum?.getFullYear() || moment().subtract(3, "years").year();
$: {
if (typeof month === "number" && typeof year === "number") {
@@ -173,9 +187,15 @@
required
>
- {#each availableMonths as m, i}
-
- {/each}
+ {#if year !== null}
+ {#each availableDates.filter(date => date.year == year) as date}
+
+ {/each}
+ {:else}
+ {#each availableDates as date}
+
+ {/each}
+ {/if}
diff --git a/src/lib/altes-system/import.ts b/src/lib/altes-system/import.ts
index 61eb20e8..46e125ac 100644
--- a/src/lib/altes-system/import.ts
+++ b/src/lib/altes-system/import.ts
@@ -122,7 +122,9 @@ export function verbrauchsausweisWohnenImportTranslate(ausweis: Record {
const alteAusweise = await importVerbrauchsausweisWohnenAltesSystem();
const ausweis = verbrauchsausweisWohnenImportTranslate(alteAusweise.data[0]);
+ const berechnungen = await endEnergieVerbrauchVerbrauchsausweis_2016(ausweis);
+ const berechnungenAlt = alteAusweise.data[0].calculations;
+
+
+ test("Klimafaktoren", async () => {
+ console.log("PLZ: " + ausweis.gebaeude_aufnahme_allgemein.plz)
+
+ expect(berechnungen?.klimafaktoren).toHaveLength(3)
+ expect(berechnungen?.klimafaktoren.map(x => x.klimafaktor)).toEqual(berechnungenAlt.klimafaktoren)
+ })
+
test("Endenergieverbrauch", async () => {
- const berechnungen = await endEnergieVerbrauchVerbrauchsausweis_2016(ausweis);
- expect(berechnungen?.endEnergieVerbrauchGesamt).toBeCloseTo(alteAusweise.data[0].calculations.endEnergieVerbrauchGesamt, -1)
+ expect(berechnungen?.endEnergieVerbrauchGesamt).toBeCloseTo(berechnungenAlt.endEnergieVerbrauchGesamt, 0)
+ })
+
+ test("Primärenergieverbrauch", async () => {
+
+ expect(berechnungen?.primaerEnergieVerbrauchGesamt).toBeCloseTo(berechnungenAlt.primaerEnergieVerbrauchGesamt, 0)
})
})
\ No newline at end of file