This commit is contained in:
2025-05-30 13:19:02 +00:00
parent c247126a25
commit 0cd0900218

View File

@@ -8118,13 +8118,11 @@ class DataProcessor:
}
temp_begruendungen = []
# --- START ANPASSUNG: Parent-Account Info aus D holen ---
parent_account_name_d_val = row_data_dict.get("Parent Account Name", "").strip()
is_konzern_tochter_laut_d = bool(parent_account_name_d_val and parent_account_name_d_val.lower() != 'k.a.')
if is_konzern_tochter_laut_d:
self.logger.debug(f" PlausiCheck: Tochter von Konzern '{parent_account_name_d_val}' (aus Spalte D). Abweichungs-Checks CRM/Wiki werden als INFO_KONZERN_LOGIK behandelt.")
# --- ENDE ANPASSUNG ---
# --- 1. Plausibilität Finaler Umsatz (BG) ---
final_umsatz_str = row_data_dict.get("Finaler Umsatz (Wiki>CRM)", "k.A.")
@@ -8203,15 +8201,17 @@ class DataProcessor:
# Umsatz Abweichung (BJ)
if pd.notna(crm_u_abs) and pd.notna(wiki_u_abs) and crm_u_abs > 0 and wiki_u_abs > 0 :
# --- START ANPASSUNG ---
# --- START ANPASSUNG FÜR KONZERN ---
if is_konzern_tochter_laut_d:
results["abweichung_umsatz_flag"] = "INFO_KONZERN_LOGIK"
# Optional: Begründung hinzufügen, wenn gewünscht
# temp_begruendungen.append(f"INFO: Konzernlogik - Umsatzabweichung CRM/Wiki nicht als Fehler gewertet.")
# --- ENDE ANPASSUNG ---
else: # Normale Prüfung, wenn keine Konzernzugehörigkeit in D vermerkt
# Begründung wird hier NICHT mehr automatisch hinzugefügt,
# da sie sonst bei jeder Konzernfirma erscheint, auch wenn alles OK ist.
# Man könnte es hinzufügen, wenn man möchte, dass es immer da steht.
# temp_begruendungen.append(f"INFO: Konzern - Umsatzabweichung CRM/Wiki nicht als Warnung.")
# --- ENDE ANPASSUNG FÜR KONZERN ---
else:
diff_umsatz = abs(crm_u_abs - wiki_u_abs)
bezugswert_umsatz = max(crm_u_abs, wiki_u_abs) if max(crm_u_abs, wiki_u_abs) > 0 else 1 # Div by Zero vermeiden
bezugswert_umsatz = max(crm_u_abs, wiki_u_abs) if max(crm_u_abs, wiki_u_abs) > 0 else 1
if (diff_umsatz / bezugswert_umsatz) > abweichung_prozent_config:
results["abweichung_umsatz_flag"] = "WARNUNG_SIGNIFIKANT"
temp_begruendungen.append(f"Umsatz CRM ({crm_u_abs:,.0f} €) vs. Wiki ({wiki_u_abs:,.0f} €) weicht >{abweichung_prozent_config*100:.0f}% ab.")
@@ -8223,13 +8223,12 @@ class DataProcessor:
# Mitarbeiter Abweichung (BK)
if pd.notna(crm_m_abs_comp) and pd.notna(wiki_m_abs_comp) and crm_m_abs_comp > 0 and wiki_m_abs_comp > 0:
# --- START ANPASSUNG ---
# --- START ANPASSUNG FÜR KONZERN ---
if is_konzern_tochter_laut_d:
results["abweichung_ma_flag"] = "INFO_KONZERN_LOGIK"
# Optional: Begründung hinzufügen
# temp_begruendungen.append(f"INFO: Konzernlogik - MA-Abweichung CRM/Wiki nicht als Fehler gewertet.")
# --- ENDE ANPASSUNG ---
else: # Normale Prüfung
# temp_begruendungen.append(f"INFO: Konzern - MA-Abweichung CRM/Wiki nicht als Warnung.")
# --- ENDE ANPASSUNG FÜR KONZERN ---
else:
diff_ma = abs(crm_m_abs_comp - wiki_m_abs_comp)
bezugswert_ma = max(crm_m_abs_comp, wiki_m_abs_comp) if max(crm_m_abs_comp, wiki_m_abs_comp) > 0 else 1
if (diff_ma / bezugswert_ma) > abweichung_prozent_config: