import json

def berechne_umsaetze_aus_absatz(struktur, kopfdaten):
    pk_satz = float(str(kopfdaten.get("pk_stundensatz", 0)).replace(",", "."))
    pv_satz = float(str(kopfdaten.get("pv_stundensatz", 0)).replace(",", "."))
    fahrtkosten = float(str(kopfdaten.get("fahrtkosten", 0)).replace(",", "."))
    dauer = float(str(kopfdaten.get("dauer", 1)).replace(",", "."))

    ergebnis = {}

    for monat, tage in struktur.items():
        std_pv = 0
        std_pk = 0
        fahrten = 0

        for tag in tage:
            if not isinstance(tag, dict):
                continue

            art = tag.get("terminart", "")
            if art == "1PV":
                std_pv += 1 * dauer
                fahrten += 1
            elif art == "2PV":
                std_pv += 2 * dauer
                fahrten += 2
            elif art == "1PK":
                std_pk += 1 * dauer
                fahrten += 1
            elif art == "2PK":
                std_pk += 2 * dauer
                fahrten += 2
            elif art == "1PK+1PV":
                std_pk += 1 * dauer
                std_pv += 1 * dauer
                fahrten += 2

        umsatz_pv = std_pv * pv_satz
        umsatz_pk = std_pk * pk_satz
        umsatz_fahrt = fahrten * fahrtkosten

        gesamt = round(umsatz_pv + umsatz_pk + umsatz_fahrt, 2)
        ergebnis[monat] = gesamt

    with open("data/exchange/betrieb_einnahmen.json", "w", encoding="utf-8") as f:
        json.dump(ergebnis, f, indent=2, ensure_ascii=False)

    return ergebnis