From 0cd09002189c2efd88d267b67059f840acbde01e Mon Sep 17 00:00:00 2001 From: Floke Date: Fri, 30 May 2025 13:19:02 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 81d6d44c..8039c519 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -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: