dak.c2s/docs/plans/2026-02-27-wochenuebersicht-persist-upload-design.md
CCS Admin efeb619b06 feat: persist Wochenübersicht exports, DAK-Mitarbeiter access + ICD upload
- Wochenübersicht exports now persisted in DB (WeeklyReport) + disk
- POST /reports/wochenuebersicht/generate replaces GET (admin-only)
- POST /reports/wochenuebersicht/upload-icd for ICD upload (all roles)
- GET /reports/list supports report_type_prefix filter
- WochenuebersichtPage: report table + ICD drag-drop upload for all roles
- Route + sidebar open to all authenticated users
- ReportsPage filters out wochenuebersicht report types

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:51:14 +00:00

1.5 KiB

Wochenübersicht: Persistierung + DAK-Mitarbeiter-Zugang + ICD-Upload

Datum: 2026-02-27 Status: Genehmigt

Ziel

  1. Wochenübersicht-Exporte in DB persistieren (wie Berichtswesen-Reports)
  2. DAK-Mitarbeiter können generierte Exports herunterladen
  3. DAK-Mitarbeiter können ausgefüllte ICD-Excel-Dateien hochladen

Backend-Änderungen

1. Wochenübersicht generieren + persistieren

  • GET /reports/wochenuebersichtPOST /reports/wochenuebersicht/generate (admin-only)
  • Speichert Excel auf Disk + WeeklyReport-Eintrag in DB
  • report_type: "wochenuebersicht_c2s" oder "wochenuebersicht_c2s_g_s"
  • Upsert-Verhalten wie bei Berichtswesen

2. Neuer ICD-Upload Endpoint

  • POST /reports/wochenuebersicht/upload-icd (alle authentifizierten User)
  • Nimmt Excel-Datei entgegen, nutzt import_icd_from_xlsx() mit Auto-Detect
  • Separater Endpoint vom admin-only /import/icd-xlsx

3. Report-Liste filtern

  • GET /reports/list bekommt optionalen Query-Param report_type_prefix
  • Frontend kann nach wochenuebersicht filtern

Frontend-Änderungen

WochenuebersichtPage

  • Admin: Generierungsformular (persistiert jetzt)
  • Alle: Tabelle "Bisherige Wochenübersichten" mit Download
  • Alle: Upload-Box für ICD-Excel

Route + Sidebar

  • /wochenuebersicht: nicht mehr admin-only
  • Sidebar: adminOnly entfernen

Wiederverwendung

  • WeeklyReport-Model unverändert
  • Download über bestehenden /reports/download/{report_id}
  • ICD-Import-Logik über bestehende import_icd_from_xlsx()