mirror of
https://github.com/complexcaresolutions/dak.c2s.git
synced 2026-03-17 17:13:42 +00:00
fix: align excel_export keys with report_service output
report_service uses 'summary'/'weekly'/'keine_rm'/'gutachten' but excel_export expected 'totals'/'weeks'/'keine_rueckmeldung'/ 'gutachten_gesamt'. Also fix nested gesamt dict access in sheet3 and icd_codes path from sheet5. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
590125073c
commit
db963a8e12
1 changed files with 17 additions and 13 deletions
|
|
@ -68,7 +68,10 @@ def generate_berichtswesen_xlsx(
|
|||
_write_sheet1_kw_gesamt(wb, report_data.get("sheet1", {}), jahr, vorjahr_data)
|
||||
_write_sheet2_fachgebiete(wb, report_data.get("sheet2", {}), jahr)
|
||||
_write_sheet3_gutachten(wb, report_data.get("sheet3", {}), jahr)
|
||||
_write_sheet4_icd_onko(wb, report_data.get("icd_codes", []), jahr)
|
||||
# ICD codes live inside sheet5
|
||||
sheet5 = report_data.get("sheet5", {})
|
||||
icd_codes = sheet5.get("icd_codes", []) if isinstance(sheet5, dict) else []
|
||||
_write_sheet4_icd_onko(wb, icd_codes, jahr)
|
||||
|
||||
# Remove the default empty sheet created by Workbook()
|
||||
if "Sheet" in wb.sheetnames:
|
||||
|
|
@ -157,23 +160,23 @@ def _write_sheet1_kw_gesamt(
|
|||
"""
|
||||
ws = wb.create_sheet(title="Auswertung KW gesamt")
|
||||
|
||||
totals = data.get("totals", {})
|
||||
weeks = _weeks_lookup(data.get("weeks", []))
|
||||
totals = data.get("summary", {})
|
||||
weeks = _weeks_lookup(data.get("weekly", []))
|
||||
|
||||
erst = _safe(totals.get("erstberatungen"))
|
||||
abl = _safe(totals.get("ablehnungen"))
|
||||
unt = _safe(totals.get("unterlagen"))
|
||||
keine_rm = _safe(totals.get("keine_rueckmeldung"))
|
||||
gutachten = _safe(totals.get("gutachten_gesamt"))
|
||||
gutachten = _safe(totals.get("gutachten"))
|
||||
|
||||
# Vorjahr totals
|
||||
vj = vorjahr_data or {}
|
||||
vj_totals = vj.get("totals", {}) if isinstance(vj, dict) else {}
|
||||
vj_totals = vj.get("summary", {}) if isinstance(vj, dict) else {}
|
||||
vj_erst = _safe(vj_totals.get("erstberatungen"))
|
||||
vj_abl = _safe(vj_totals.get("ablehnungen"))
|
||||
vj_unt = _safe(vj_totals.get("unterlagen"))
|
||||
vj_keine = _safe(vj_totals.get("keine_rueckmeldung"))
|
||||
vj_ga = _safe(vj_totals.get("gutachten_gesamt"))
|
||||
vj_ga = _safe(vj_totals.get("gutachten"))
|
||||
|
||||
# --- Title ---
|
||||
ws["A1"] = "Gesamt\u00fcbersicht"
|
||||
|
|
@ -218,8 +221,8 @@ def _write_sheet1_kw_gesamt(
|
|||
ws.cell(row=row, column=2, value=_safe(w.get("erstberatungen")))
|
||||
ws.cell(row=row, column=3, value=_safe(w.get("unterlagen")))
|
||||
ws.cell(row=row, column=4, value=_safe(w.get("ablehnungen")))
|
||||
ws.cell(row=row, column=5, value=_safe(w.get("keine_rueckmeldung")))
|
||||
ws.cell(row=row, column=6, value=_safe(w.get("gutachten_gesamt")))
|
||||
ws.cell(row=row, column=5, value=_safe(w.get("keine_rm")))
|
||||
ws.cell(row=row, column=6, value=_safe(w.get("gutachten")))
|
||||
|
||||
# --- Summe row (row 63) ---
|
||||
summe_row = 10 + MAX_KW + 1 # 63
|
||||
|
|
@ -260,7 +263,7 @@ def _write_sheet2_fachgebiete(
|
|||
"""
|
||||
ws = wb.create_sheet(title="Auswertung nach Fachgebieten")
|
||||
|
||||
weeks = _weeks_lookup(data.get("weeks", []))
|
||||
weeks = _weeks_lookup(data.get("weekly", []))
|
||||
|
||||
# --- Title ---
|
||||
ws["A1"] = "\u00dcbersicht nach Fallgruppen"
|
||||
|
|
@ -350,7 +353,7 @@ def _write_sheet3_gutachten(
|
|||
"""
|
||||
ws = wb.create_sheet(title="Auswertung Gutachten")
|
||||
|
||||
weeks = _weeks_lookup(data.get("weeks", []))
|
||||
weeks = _weeks_lookup(data.get("weekly", []))
|
||||
|
||||
# --- Title ---
|
||||
ws["A1"] = "\u00dcbersicht nach Fallgruppen"
|
||||
|
|
@ -405,9 +408,10 @@ def _write_sheet3_gutachten(
|
|||
ws.cell(row=row, column=1, value=kw)
|
||||
|
||||
# Gesamt
|
||||
g_ges = _safe(w.get("gutachten_gesamt"))
|
||||
g_alt = _safe(w.get("gutachten_alternative"))
|
||||
g_best = _safe(w.get("gutachten_bestaetigung"))
|
||||
gesamt = w.get("gesamt", {})
|
||||
g_ges = _safe(gesamt.get("gutachten"))
|
||||
g_alt = _safe(gesamt.get("alternative"))
|
||||
g_best = _safe(gesamt.get("bestaetigung"))
|
||||
ws.cell(row=row, column=2, value=g_ges)
|
||||
ws.cell(row=row, column=3, value=g_alt)
|
||||
ws.cell(row=row, column=4, value=g_best)
|
||||
|
|
|
|||
Loading…
Reference in a new issue