From 75de66550bb38e0a27dd697609cd150cae7a0ac5 Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 12 May 2025 19:26:33 +0000 Subject: [PATCH] bugfix --- brancheneinstufung.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/brancheneinstufung.py b/brancheneinstufung.py index 2cc1880a..b1e9584c 100644 --- a/brancheneinstufung.py +++ b/brancheneinstufung.py @@ -7993,21 +7993,26 @@ class DataProcessor: self.logger.debug(f" _check_financial_plausibility Numerisch: umsatz_num={umsatz_num}, ma_num={ma_num}") - # 1. Plausibilität Umsatz +# 1. Plausibilität Umsatz if pd.isna(umsatz_num): - # --- BEGINN DEBUG-BLOCK FÜR UMSATZ FORMAT-CHECK --- self.logger.debug(f" Format-Check Umsatz: final_umsatz_str='{final_umsatz_str}' (Typ: {type(final_umsatz_str)})") self.logger.debug(f" Format-Check Umsatz: umsatz_num ist NaN? {pd.isna(umsatz_num)}") exclusion_list_umsatz = ['k.a.', '', 'n/a', '-', '0', '0.0', '0,00', '0.000'] - is_excluded_umsatz = final_umsatz_str.lower().strip() in exclusion_list_umsatz - self.logger.debug(f" Format-Check Umsatz: '{final_umsatz_str.lower().strip()}' in exclusion_list_umsatz? {is_excluded_umsatz}") - # --- ENDE DEBUG-BLOCK FÜR UMSATZ FORMAT-CHECK --- + + # Explizite Prüfung des Stripped-Lowered-Strings + cleaned_final_umsatz_str = final_umsatz_str.lower().strip() + is_excluded_umsatz = cleaned_final_umsatz_str in exclusion_list_umsatz + + self.logger.debug(f" Format-Check Umsatz: Cleaned Input String für Exklusion: '{cleaned_final_umsatz_str}'") + self.logger.debug(f" Format-Check Umsatz: '{cleaned_final_umsatz_str}' in exclusion_list_umsatz? {is_excluded_umsatz}") if not is_excluded_umsatz: results["plaus_umsatz_flag"] = "FEHLER_FORMAT" - results["begruendungen"].append(f"Finaler Umsatz ('{final_umsatz_str}') konnte nicht als gültige Zahl interpretiert werden (und war kein 'k.A.' oder expliziter '0'-Wert).") - # else: Flag bleibt "NICHT_PRUEFBAR", da der Input ein bekannter "Unbekannt"-Wert war - else: # umsatz_num ist eine gültige Zahl (kann auch 0 sein) + results["begruendungen"].append(f"Finaler Umsatz ('{final_umsatz_str}') -> num: NaN. String '{cleaned_final_umsatz_str}' nicht in Exklusionsliste.") + self.logger.warning(f" !!! FEHLER_FORMAT für Umsatz gesetzt bei final_umsatz_str='{final_umsatz_str}' (cleaned='{cleaned_final_umsatz_str}') !!!") # WARNUNG loggen + else: + self.logger.debug(f" Format-Check Umsatz: Input '{cleaned_final_umsatz_str}' ist in Exklusionsliste. Kein Formatfehler, Flag bleibt '{results['plaus_umsatz_flag']}'.") + else: results["plaus_umsatz_flag"] = "OK" if umsatz_num == 0: results["plaus_umsatz_flag"] = "WARNUNG_NULL_WERT"