Files
Brancheneinstufung2/tasks.md

61 lines
3.5 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.
## Heatmap Tool (Standalone)
### Status: Beta (Funktionsfähig mit Basisfunktionen)
- [x] **Setup:** Projektstruktur mit FastAPI (Backend) und React/Vite (Frontend) aufgesetzt.
- [x] **Daten:** Upload von XLSX-Dateien und automatische PLZ-Erkennung implementiert.
- [x] **Visualisierung:** Leaflet-Karte mit "Points"-Ansicht (CircleMarker) und "Heatmap"-Ansicht (Density) erstellt.
- [x] **Interaktivität:** Dynamische Filterung nach Spaltenwerten implementiert.
- [x] **UI/UX:** Filter-Panel redesignet (Checkboxen, Collapsible) und Tooltip-Manager integriert (Drag & Drop, Sichtbarkeit).
- [x] **Clustering:** Marker Clustering für die Punkte-Ansicht implementiert.
- [x] **Fix:** Docker-Networking Probleme (Vite Proxy) gelöst.
- [x] **Fix:** Infinite-Loop bei zoom-adaptiver Legende durch Revert behoben (Feature als instabil markiert).
### Offene Punkte & Erweiterungen
- [ ] **Export:** Funktion "Karte als PNG speichern" implementieren.
- [ ] **Geo-Aggregation:** Aggregation nach Bundesland und Landkreis hinzufügen.
- [ ] **Multi-Layer:** Vergleichsansicht (z.B. Kunden vs. Techniker) durch zweiten Datei-Upload ermöglichen.