1.7 KiB
1.7 KiB
Copilot Tasks: Attendance PDF Generator
Phase 1: Projekt-Setup
- Task 1.1: .github/copilot-plan.md erstellen
- Task 1.2: requirements.txt + requirements-dev.txt erstellen
- Task 1.3: config.json erstellen (mit Platzhaltern für antragsnummer, ort)
- Task 1.4: schema.json erstellen
- Task 1.5: Verzeichnisse anlegen (src/, output/, template/, tests/)
Phase 2: Datenmodell & Konfiguration
- Task 2.1: src/exceptions.py implementieren
- Task 2.2: src/models.py implementieren (Person, AttendanceDate, MonthlyAttendance)
- Task 2.3: src/config_loader.py implementieren
Phase 3: Excel Reader
- Task 3.1: src/excel_reader.py implementieren
- extract_year_from_filename()
- get_sheet_names()
- extract_persons()
- extract_attendance()
Phase 4: PDF Filler
- Task 4.1: src/pdf_filler.py implementieren
- build_field_dict()
- fill_pdf()
Phase 5: Validierung & Vorschau
- Task 5.1: src/validators.py implementieren (9 Checks)
- Task 5.2: Konsolenvorschau + j/N-Prompt
Phase 6: CLI
- Task 6.1: generate.py mit Click implementieren
- generate --file --month [--out]
- validate --file --month
Phase 7: Tests
- Task 7.1: tests/test_excel_reader.py
- Task 7.2: tests/test_pdf_filler.py
- Task 7.3: tests/test_validators.py
- Task 7.4: pytest ausführen, Fehler beheben (70/70 grün)
Nachträgliche Korrekturen (nach Analyse der echten Dateien)
- PDF-Feldnamen korrigiert: ort → unterschrift.ort, erstellungsdatum → unterschrift.datum
- Pauschale-Felder korrigiert: pauschale.N → pauschale_5.N (Dropdown-Wert "1")
- Statuscodes A und V ergänzt (aus realem Excel und PDF-Template)
- CLI-Parameter --sheet umbenannt zu --month
- README.md erstellt