133 lines
5.6 KiB
TypeScript
133 lines
5.6 KiB
TypeScript
import { VerbrauchsausweisWohnenClient } from "#components/Ausweis/types";
|
|
import { faker } from "@faker-js/faker";
|
|
import { Enums } from "@ibcornelsen/database/client";
|
|
import moment from "moment";
|
|
|
|
export async function importVerbrauchsausweisWohnenAltesSystem(count: number = 5) {
|
|
const response = await fetch("https://online-energieausweis.org/user/ausweis-import.php", {
|
|
method: "POST",
|
|
body: JSON.stringify({
|
|
i: count,
|
|
offset: 0,
|
|
q: {}
|
|
})
|
|
})
|
|
|
|
const data = await response.json();
|
|
|
|
return data
|
|
}
|
|
|
|
export function verbrauchsausweisWohnenImportTranslate(ausweis: Record<string, any>) {
|
|
const ausweisTranslated: VerbrauchsausweisWohnenClient = {
|
|
aufnahme: {
|
|
rechnungen: null,
|
|
baujahr_gebaeude: [ausweis.baujahr_gebaeude],
|
|
baujahr_heizung: [ausweis.baujahr_anlage],
|
|
baujahr_klima: [ausweis.baujahr_klimaanlage],
|
|
adresse: ausweis.objekt_strasse,
|
|
plz: ausweis.objekt_plz,
|
|
ort: ausweis.objekt_ort,
|
|
nutzflaeche: ausweis.nutzflaeche,
|
|
einheiten: ausweis.anzahl_einheiten,
|
|
saniert: ausweis.objekt_saniert,
|
|
keller: ausweis.keller_beheizt == "Beheizt" ? Enums.Heizungsstatus.BEHEIZT : ausweis.keller_beheizt == "Unbeheizt" ? Enums.Heizungsstatus.UNBEHEIZT : Enums.Heizungsstatus.NICHT_VORHANDEN,
|
|
dachgeschoss: ausweis.dachgeschoss == "Beheizt" ? Enums.Heizungsstatus.BEHEIZT : ausweis.dachgeschoss == "Unbeheizt" ? Enums.Heizungsstatus.UNBEHEIZT : Enums.Heizungsstatus.NICHT_VORHANDEN,
|
|
flaeche: ausweis.wohnflaeche,
|
|
gebaeudetyp: ausweis.objekt_typ,
|
|
gebaeudeteil: ausweis.objekt_gebaeudeteil,
|
|
lueftung: ausweis.lueftungskonzept,
|
|
kuehlung: ausweis.wird_gekuehlt,
|
|
objekt: {
|
|
adresse: ausweis.objekt_strasse,
|
|
plz: ausweis.objekt_plz,
|
|
ort: ausweis.objekt_ort,
|
|
uid: faker.string.uuid(),
|
|
bilder: [],
|
|
latitude: null,
|
|
longitude: null,
|
|
},
|
|
brennstoff_1: ausweis.energietraeger_1,
|
|
brennstoff_2: ausweis.energietraeger_2,
|
|
alternative_heizung: ausweis.alheizung,
|
|
alternative_kuehlung: ausweis.alkuehlung,
|
|
alternative_lueftung: ausweis.allueftung,
|
|
alternative_warmwasser: ausweis.alwarmwasser,
|
|
ausweisart: Enums.Ausweisart.VerbrauchsausweisWohnen,
|
|
energieeffizienzklasse: "",
|
|
aussenwand_gedaemmt: ausweis.aussenwand_gedaemmt,
|
|
aussenwand_min_12cm_gedaemmt: ausweis.aussenwand_min_12cm_gedaemmt,
|
|
bestellt: ausweis.bestellt,
|
|
boxpruefung: ausweis.boxpruefung,
|
|
brennwert_kessel: ausweis.brennwert_kessel,
|
|
dachgeschoss_gedaemmt: ausweis.dachgeschoss_gedaemmt,
|
|
dachgeschoss_min_12cm_gedaemmt: ausweis.dachgeschoss_min_12cm_gedaemmt,
|
|
doppel_verglasung: ausweis.doppel_verglasung,
|
|
dreifach_verglasung: ausweis.dreifach_verglasung,
|
|
durchlauf_erhitzer: ausweis.durchlauf_erhitzer,
|
|
einfach_verglasung: ausweis.einfach_verglasung,
|
|
einzelofen: ausweis.einzelofen,
|
|
erledigt: ausweis.erledigt,
|
|
erstellungsdatum: ausweis.erstellungsdatum,
|
|
fenster_dicht: ausweis.fenster_dicht,
|
|
fenster_teilweise_undicht: ausweis.fenster_teilweise_undicht,
|
|
heizungsrohre_gedaemmt: ausweis.heizungsrohre_gedaemmt,
|
|
isolier_verglasung: ausweis.isolier_verglasung,
|
|
keller_decke_gedaemmt: ausweis.keller_decke_gedaemmt,
|
|
keller_wand_gedaemmt: ausweis.keller_wand_gedaemmt,
|
|
niedertemperatur_kessel: ausweis.niedertemperatur_kessel,
|
|
oberste_geschossdecke_gedaemmt: ausweis.oberste_geschossdecke_gedaemmt,
|
|
oberste_geschossdecke_min_12cm_gedaemmt: ausweis.oberste_geschossdecke_min_12cm_gedaemmt,
|
|
raum_temperatur_regler: ausweis.raum_temperatur_regler,
|
|
rolllaeden_kaesten_gedaemmt: ausweis.rolllaeden_kaesten_gedaemmt,
|
|
solarsystem_warmwasser: ausweis.solarsystem_warmwasser,
|
|
standard_kessel: ausweis.standard_kessel,
|
|
waermepumpe: ausweis.waermepumpe,
|
|
warmwasser_rohre_gedaemmt: ausweis.warmwasser_rohre_gedaemmt,
|
|
zentralheizung: ausweis.zentralheizung,
|
|
zirkulation: ausweis.zirkulation,
|
|
photovoltaik: ausweis.photovoltaik,
|
|
leerstand: ausweis.leerstand,
|
|
prueftext: ausweis["check-texts"],
|
|
|
|
storniert: false,
|
|
tueren_dicht: ausweis.tueren_dicht,
|
|
tueren_undicht: ausweis.tueren_undicht,
|
|
zurueckgestellt: ausweis.zurueckGestellt,
|
|
uid: faker.string.uuid(),
|
|
events: []
|
|
},
|
|
verbrauch_1: parseInt(ausweis.energieverbrauch_1_heizquelle_1),
|
|
verbrauch_2: parseInt(ausweis.energieverbrauch_2_heizquelle_1),
|
|
verbrauch_3: parseInt(ausweis.energieverbrauch_3_heizquelle_1),
|
|
verbrauch_4: parseInt(ausweis.energieverbrauch_1_heizquelle_2),
|
|
verbrauch_5: parseInt(ausweis.energieverbrauch_2_heizquelle_2),
|
|
verbrauch_6: parseInt(ausweis.energieverbrauch_3_heizquelle_2),
|
|
einheit_1: ausweis.energietraeger_einheit_heizquelle_1,
|
|
einheit_2: ausweis.energietraeger_einheit_heizquelle_2,
|
|
warmwasser_enthalten: ausweis.warmwasser_enthalten,
|
|
uid: faker.string.uuid(),
|
|
alternative_heizung: ausweis.alheizung,
|
|
alternative_kuehlung: ausweis.alkuehlung,
|
|
alternative_lueftung: ausweis.allueftung,
|
|
alternative_warmwasser: ausweis.alwarmwasser,
|
|
anteil_warmwasser_1: ausweis.anteil_warmwasser_1,
|
|
anteil_warmwasser_2: ausweis.anteil_warmwasser_2,
|
|
ausstellgrund: ausweis.ausstellgrund,
|
|
ausstellungsdatum: moment(ausweis.bestelldatum).toDate(),
|
|
|
|
erledigt: ausweis.erledigt,
|
|
erstellungsdatum: moment(ausweis.erstellungsdatum).toDate(),
|
|
keller_beheizt: ausweis.keller_beheizt,
|
|
registriernummer: ausweis.regnummer,
|
|
// Der Monat im alten System ist 1-basiert, in der neuen Datenbank 0-basiert
|
|
// Also müssen wir hier 1 abziehen
|
|
startdatum: moment(`${ausweis.energieverbrauch_zeitraum_jahr}-${ausweis.energieverbrauch_zeitraum_monat}-01`).toDate(),
|
|
|
|
warmwasser_anteil_bekannt: ausweis.warmwasser_anteil_bekannt,
|
|
wird_gekuehlt: ausweis.wird_gekuehlt,
|
|
zusaetzliche_heizquelle: ausweis.zusaetzliche_heizquelle,
|
|
}
|
|
|
|
return ausweisTranslated
|
|
} |