From 49f935ea9d47ec3e2b986e805383051b668b1ab3 Mon Sep 17 00:00:00 2001 From: Floke Date: Fri, 29 Aug 2025 08:33:31 +0000 Subject: [PATCH] tasks.md aktualisiert --- tasks.md | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/tasks.md b/tasks.md index 1a43dbd5..d4232b17 100644 --- a/tasks.md +++ b/tasks.md @@ -1,21 +1,19 @@ -# Projektaufgaben & Offene Punkte v2.2.1 +# Aufgaben & Meilensteine -## 1. Kritischer Blocker +## Phase 1: Stabilisierung & Daten-Import (Abgeschlossen) +- [x] **Stabilität:** `ModuleNotFoundError` durch Downgrade der `openai`-Bibliothek beheben. +- [x] **Stabilität:** `json.JSONDecodeError` durch robuste Parser in `helpers.py` beheben. +- [x] **Sync-Design:** Prozess für den Datenabgleich D365 -> GSheet ohne API definieren. +- [x] **Implementierung:** `sync_manager.py` für den "Full-Sync mit intelligentem Merge" erstellen. +- [x] **Debugging:** Fehler im `SyncManager` (Attribut-, Typ- und Index-Fehler) iterativ beheben. +- [x] **Kernproblem-Analyse:** "Header-Mismatch" als Ursache für Datenverlust identifizieren. +- [x] **Implementierung:** Header-Normalisierung in der `_load_data`-Methode implementieren. +- [x] **Fachlogik:** Spezifische Vergleichsregeln für Länder, Techniker, Umsatz, Mitarbeiter und Branchen definieren und implementieren. +- [x] **Tooling:** Einen `simulate_sync`-Modus und einen finalen Statistik-Report implementieren. -- [ ] **`openai`-Bibliotheks-Inkompatibilität:** Der `import from openai.error` schlägt fehl, weil eine neuere Version der Bibliothek installiert ist. Dies blockiert **alle** KI-gestützten Prozesse. - -## 2. Unmittelbare nächste Aufgaben (Hotfix-Workflow) - -- [ ] **Übergabe der relevanten Dateien:** - - [ ] `requirements.txt` - - [ ] `helpers.py` - - [ ] `data_processor.py` - - [ ] `Dockerfile.brancheneinstufung` -- [ ] **`requirements.txt` modifizieren:** - - [ ] Die Zeile `openai` suchen. - - [ ] Sie durch `openai==0.28.0` ersetzen, um die Version festzuschreiben. -- [ ] **Docker-Image neu bauen:** - - [ ] Den Befehl `docker build -t brancheneinstufung-server -f Dockerfile.brancheneinstufung .` ausführen, um die Änderungen zu übernehmen. -- [ ] **Container neu starten und validieren:** - - [ ] Den `docker run`-Befehl ausführen. - - [ ] Einen Testprozess über Google Sheets starten (z.B. Duplikats-Check) und die Container-Logs (`docker logs brancheneinstufung-app`) auf Erfolg prüfen. \ No newline at end of file +## Phase 2: Schließen des Datenkreislaufs (Nächster Chat) +- [ ] **Design:** Spalten und Format für die D365-Re-Import-Datei definieren. +- [ ] **Implementierung:** Eine neue Funktion/einen neuen Modus (`generate_import_file`) erstellen, der die `d365_import.xlsx` erzeugt. +- [ ] **Logik:** Die Funktion soll nur Datensätze exportieren, die im letzten Lauf geändert wurden (`ReEval Flag` oder neu erstellt). +- [ ] **Logik:** Die Branchennamen müssen vor dem Export mithilfe des Mappings in der `config.py` in das D365-Format übersetzt werden. +- [ ] **Testing:** Den vollständigen Round-Trip testen: `sync` -> `reeval` -> `generate_import_file` -> Manueller Import in D365. \ No newline at end of file