Files
sufw-anweisenheiten/.github/copilot-tasks.md
T
2026-03-27 13:22:09 +01:00

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