4.1 KiB
4.1 KiB
SAB Taetigkeitsnachweise Generator - Implementierungsplan
Ziel
Monatliche SAB-Taetigkeitsnachweise automatisiert erzeugen auf Basis von:
- PS_PW.xlsx (monatliche gefoerderte Stunden je Projektanteil)
- Stellenbeschreibungen.xlsx (Stammdaten je Mitarbeiter/Funktion)
- Taetigkeitsnachweis Stellenfoerderung.xlsx (Ausgabevorlage)
Scope
- Nur Verzeichnisse unter Tool verwenden.
- Eingaben nur aus input.
- Vorlage nur aus template.
- Ausgaben nur nach output.
Annahmen
- PS_PW.xlsx und Stellenbeschreibungen.xlsx enthalten jeweils Tabelle1.
- Monatsmarker in PS_PW.xlsx stehen in Zeile 2 im Format ab 01.MM.YYYY.
- Name ist primaerer Match-Schluessel zwischen beiden Quellen.
- Template hat genau ein Quellblatt, das geklont wird.
Architektur
- cli: Kommandozeilen-Einstieg und Orchestrierung
- parser: Einlesen und Normalisierung der beiden Quelldateien
- matcher: Zuordnung und Disambiguierung
- validator: Source- und Business-Validierung
- writer: Template-Klonen, Zellen befuellen, Speichern
- model: gemeinsame Datentypen
- util: Konvertierung, Datums-/Text-Helfer, Logging
Reihenfolge (Task-Flow)
- T1 Plan finalisieren
- T2 Konfiguration definieren
- T3 Projektgeruest anlegen
- T4 Abhaengigkeiten einrichten
- T5 Parser PS_PW
- T6 Parser Stellenbeschreibungen
- T7 Foerderquote berechnen
- T8 Matching-Engine
- T9 Source-Validierung
- T10 Business-Validierung
- T11 Template-Verarbeitung
- T12 Dateinamen + Persistenz
- T13 CLI Pipeline
- T14 Vorschau + Bestaetigung
- T15 Smoke-Test
- T16 Fachtests
- T17 Ergebnisabnahme
Definition of Done je Task
T1 Plan final
- DoD: Dieser Plan ist vollstaendig, nachvollziehbar und in Reihenfolge mit klarer DoD-Liste dokumentiert.
T2 config.json
- DoD: Alle Pfade, Dateinamen, Sheetnamen, Spalten, Zielzellen und Dateinamenregeln sind extern konfigurierbar.
T3 Projektgeruest
- DoD: Ordner-/Modulstruktur steht, zentrale Datentypen und Fehler-/Log-Basis sind vorhanden.
T4 Abhaengigkeiten
- DoD: requirements gepflegt, lokale Installation dokumentiert, Ausfuehrung startet ohne Importfehler.
T5 Parser PS_PW
- DoD: Monatsspalte wird eindeutig gefunden, Records sind normalisiert und Mitarbeiterkontext korrekt vererbt.
T6 Parser Stellenbeschreibungen
- DoD: Stammdaten sauber eingelesen, Prozentwerte robust konvertiert, Mehrfacheintraege bleiben erhalten.
T7 Foerderquote
- DoD: Formel korrekt implementiert, Grenz-/Rundungsfaelle dokumentiert und testsicher.
T8 Matching
- DoD: Eindeutige Zuordnung pro aktivem Record oder klarer Fehlerstatus (missing/ambiguous).
T9 Source-Validierung
- DoD: Alle Struktur- und Formatpruefungen laufen vor Verarbeitung und liefern konkrete Fehlermeldungen.
T10 Business-Validierung
- DoD: Aktivitaet, Eindeutigkeit, Template-Regeln und Dateinamenkollisionen werden vor dem Schreiben geprueft.
T11 Template-Verarbeitung
- DoD: Ein Quellblatt wird pro Zuordnung geklont und korrekt mit assignment-spezifischen Werten befuellt.
T12 Dateinamen/Speichern
- DoD: Ausgabedateien folgen Muster Taetigkeitsnachweis_YYYY_MM_Vorname_Nachname.xlsx und werden konfliktfrei gespeichert.
T13 CLI
- DoD: generate.py akzeptiert month/year, orchestriert End-to-End und liefert sinnvolle Exit-Codes.
T14 Vorschau/Bestaetigung
- DoD: Vor Schreibzugriff wird Vorschau angezeigt; Abbruch ist ohne Dateiaenderung moeglich.
T15 Smoke-Test
- DoD: Mindestens ein realer Monatslauf erzeugt valide Dateien in output.
T16 Fachtests
- DoD: Abdeckung fuer Mehrfachzuordnung, fehlende Matches, ungueltige Monatsmarker und fehlende Struktur.
T17 Ergebnisabnahme
- DoD: Pflichtfelder, Monats-/Datumswerte und Taetigkeitstexte stimmen mit Template- und Fachregeln ueberein.
Risiko- und Entscheidungslog
- Name-Matching kann uneinheitliche Schreibweisen enthalten; ggf. Normalisierung (Whitespace/Kommas) zentral in util.
- Prozentvergleich kann Rundungsabweichungen haben; toleranzbasierten Vergleich definieren.
- Mehrdeutige Matches nicht still aufloesen; immer sichtbar validieren.
Start der Umsetzung
- Aktiver Schritt: T2 (Konfiguration als naechste technische Umsetzung)