feat: Neubewertung aktualisiert Ketten-Status + Ampel zeigt abgewiegelt
- KI-Score → Ketten-Status: >=0.7 umgesetzt, >=0.4 teilweise, <0.3 versandet/abgewiegelt - 'abgewiegelt' als eigene Abzweigung in Ampel (rot, nicht mehr auf versandet gemappt) - Kette 36 (0021/2026): 20% Score → Ampel zeigt rote Abzweigung 'Abgewiegelt'
This commit is contained in:
parent
d99706cd64
commit
2d2e335ac3
@ -272,9 +272,31 @@ def _run_ketten_bewertung(kette_id: int, anmerkung: str, job_id: str):
|
||||
),
|
||||
)
|
||||
|
||||
# Rebuild chain status
|
||||
from tracker.core.chains import build_single_chain
|
||||
build_single_chain(conn, kette["ursprung_id"])
|
||||
# Update chain status based on KI score
|
||||
score = result.get("score", 0)
|
||||
bewertung = result.get("bewertung", "")
|
||||
|
||||
# Map KI bewertung → Ketten-Status
|
||||
if score >= 0.7:
|
||||
new_status = "umgesetzt"
|
||||
begruendung = f"KI-Bewertung: {score*100:.0f}% umgesetzt. {result.get('begruendung', '')}"
|
||||
elif score >= 0.4:
|
||||
new_status = "teilweise_umgesetzt"
|
||||
begruendung = f"KI-Bewertung: {score*100:.0f}% teilweise umgesetzt. {result.get('begruendung', '')}"
|
||||
elif bewertung == "abgewiegelt" or bewertung == "nebelkerze":
|
||||
new_status = "abgewiegelt"
|
||||
begruendung = f"KI-Bewertung: {score*100:.0f}% — {bewertung}. {result.get('begruendung', '')}"
|
||||
elif score < 0.3:
|
||||
new_status = "versandet"
|
||||
begruendung = f"KI-Bewertung: {score*100:.0f}%. {result.get('begruendung', '')}"
|
||||
else:
|
||||
new_status = kette["status"] # Keep current
|
||||
begruendung = kette["begruendung"]
|
||||
|
||||
conn.execute(
|
||||
"UPDATE ketten SET status = ?, begruendung = ? WHERE id = ?",
|
||||
(new_status, begruendung, kette_id),
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
|
||||
@ -33,6 +33,7 @@ STRANG_ZUSTAENDE: dict[str, list[dict]] = {
|
||||
# Endstatus die von der Hauptreihe abzweigen
|
||||
ABZWEIGUNGEN: dict[str, dict] = {
|
||||
"abgelehnt": {"label": "Abgelehnt", "farbe": "rot"},
|
||||
"abgewiegelt": {"label": "Abgewiegelt", "farbe": "rot"},
|
||||
"versandet": {"label": "Versandet", "farbe": "rot"},
|
||||
"teilweise_umgesetzt": {"label": "Teilweise umgesetzt", "farbe": "amber"},
|
||||
"verwiesen": {"label": "Verwiesen", "farbe": "gelb"},
|
||||
@ -115,7 +116,6 @@ def _normalize_abzweigung_id(status: str) -> str:
|
||||
"""Normalize status string to ABZWEIGUNGEN key."""
|
||||
mapping = {
|
||||
"zurückgezogen": "zurueckgezogen",
|
||||
"abgewiegelt": "versandet", # Abgewiegelt → same visual as versandet
|
||||
}
|
||||
return mapping.get(status, status)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user