41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
# Aufgaben & Meilensteine
|
|
|
|
## 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.
|
|
|
|
## Phase 2: Schließen des Datenkreislaufs (In Arbeit)
|
|
|
|
- [ ] **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.
|
|
|
|
|
|
|
|
## Phase 3: Optimierung der Potenzialanalyse (Abgeschlossen)
|
|
|
|
- [x] **Bugfix:** "Concatenated Year Bug" (z.B. Wolfra 802020) im `MetricParser` behoben.
|
|
|
|
- [x] **Logik:** Smart-Year-Skipping implementiert (Zahlen zwischen 1900-2100 werden als Jahre ignoriert, wenn Alternativen existieren).
|
|
|
|
- [x] **Präzision:** Entity-Confusion (z.B. Therme Erding vs. Hallenbad Erding) durch Standort-Validierung im Such-Prompt minimiert.
|
|
|
|
- [x] **Transparenz:** Confidence Scores (0.0-1.0) und "Proof Snippets" (Original-Textfragmente) in die Datenbank integriert.
|
|
|
|
- [x] **UI:** Confidence-Ampel und Tooltip für Quellen-Beweise im Frontend implementiert.
|
|
|
|
- [x] **Integrität:** Fehlende API-Endpunkte für Firmen-Erstellung, Bulk-Import und Wiki-Overrides wiederhergestellt.
|