bugfix
This commit is contained in:
@@ -4750,29 +4750,40 @@ class DataProcessor:
|
||||
final_umsatz_str_konsolidiert = "k.A." # Default
|
||||
final_ma_str_konsolidiert = "k.A." # Default
|
||||
try:
|
||||
# ... (Ihre Konsolidierungslogik, die final_umsatz_str_konsolidiert und final_ma_str_konsolidiert setzt)
|
||||
crm_umsatz_val = self._get_cell_value_safe(row_data, "CRM Umsatz")
|
||||
wiki_umsatz_val = final_wiki_data.get('umsatz', 'k.A.')
|
||||
crm_ma_val = self._get_cell_value_safe(row_data, "CRM Anzahl Mitarbeiter")
|
||||
wiki_ma_val = final_wiki_data.get('mitarbeiter', 'k.A.')
|
||||
num_crm_umsatz = get_numeric_filter_value(crm_umsatz_val, is_umsatz=True) # Globale Funktion
|
||||
num_wiki_umsatz = get_numeric_filter_value(wiki_umsatz_val, is_umsatz=True) # Globale Funktion
|
||||
num_crm_ma = get_numeric_filter_value(crm_ma_val, is_umsatz=False) # Globale Funktion
|
||||
num_wiki_ma = get_numeric_filter_value(wiki_ma_val, is_umsatz=False) # Globale Funktion
|
||||
|
||||
# get_numeric_filter_value gibt 0.0 oder 0 zurück, wenn der Input nicht positiv numerisch ist oder leer/k.A.
|
||||
num_crm_umsatz = get_numeric_filter_value(crm_umsatz_val, is_umsatz=True)
|
||||
num_wiki_umsatz = get_numeric_filter_value(wiki_umsatz_val, is_umsatz=True)
|
||||
num_crm_ma = get_numeric_filter_value(crm_ma_val, is_umsatz=False)
|
||||
num_wiki_ma = get_numeric_filter_value(wiki_ma_val, is_umsatz=False)
|
||||
|
||||
# Logge die numerischen Werte VOR der Konsolidierung
|
||||
self.logger.debug(f" Konsolidierung Input: num_crm_umsatz={num_crm_umsatz}, num_wiki_umsatz={num_wiki_umsatz}, num_crm_ma={num_crm_ma}, num_wiki_ma={num_wiki_ma}")
|
||||
|
||||
# Konsolidierung: Wiki > CRM. Wenn Wiki keinen positiven Wert hat, nimm CRM.
|
||||
# Wenn beide keinen positiven Wert haben, bleibt es bei 0.
|
||||
final_num_umsatz = num_wiki_umsatz if num_wiki_umsatz > 0 else num_crm_umsatz
|
||||
final_num_ma = num_wiki_ma if num_wiki_ma > 0 else num_crm_ma
|
||||
|
||||
# String-Konvertierung: "0" bedeutet "unbekannt" -> "k.A."
|
||||
# Nur echt positive Werte werden als Zahl geschrieben.
|
||||
final_umsatz_str_konsolidiert = str(int(round(final_num_umsatz))) if final_num_umsatz > 0 else 'k.A.'
|
||||
final_ma_str_konsolidiert = str(int(round(final_num_ma))) if final_num_ma > 0 else 'k.A.'
|
||||
|
||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Umsatz (Wiki>CRM)"] + 1)}{row_num_in_sheet}', 'values': [[final_umsatz_str_konsolidiert]]})
|
||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Mitarbeiter (Wiki>CRM)"] + 1)}{row_num_in_sheet}', 'values': [[final_ma_str_konsolidiert]]})
|
||||
self.logger.debug(f" -> Konsolidiert: Umsatz={final_umsatz_str_konsolidiert}, MA={final_ma_str_konsolidiert}")
|
||||
# Das Log hier sollte jetzt die String-Werte ausgeben, die auch geschrieben werden:
|
||||
self.logger.debug(f" -> Konsolidiert (Sheet-Werte): Umsatz='{final_umsatz_str_konsolidiert}', MA='{final_ma_str_konsolidiert}'")
|
||||
except Exception as e_consolidate:
|
||||
self.logger.error(f"FEHLER bei Konsolidierung Umsatz/Mitarbeiter fuer Zeile {row_num_in_sheet}: {e_consolidate}")
|
||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Umsatz (Wiki>CRM)"] + 1)}{row_num_in_sheet}', 'values': [['FEHLER KONSO']]})
|
||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Mitarbeiter (Wiki>CRM)"] + 1)}{row_num_in_sheet}', 'values': [['FEHLER KONSO']]})
|
||||
final_umsatz_str_konsolidiert = "FEHLER KONSO" # Wichtig für Plausi-Check
|
||||
final_ma_str_konsolidiert = "FEHLER KONSO" # Wichtig für Plausi-Check
|
||||
final_umsatz_str_konsolidiert = "FEHLER KONSO"
|
||||
final_ma_str_konsolidiert = "FEHLER KONSO"
|
||||
|
||||
# --- NEU: 3f. Plausibilitäts-Checks durchführen (BB-BG) ---
|
||||
self.logger.debug(f" -> Führe Plausibilitäts-Checks für Zeile {row_num_in_sheet} durch...")
|
||||
|
||||
Reference in New Issue
Block a user