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

49 lines
1.5 KiB
Markdown

# 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/wochenuebersicht``POST /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()`