Regex anpassung
COLUMN_MAP\["([^"]+)"\]
get_col_idx("$1")
This commit is contained in:
@@ -442,9 +442,9 @@ class DataProcessor:
|
|||||||
wiki_title=final_wiki_data.get('title', 'k.A.'),
|
wiki_title=final_wiki_data.get('title', 'k.A.'),
|
||||||
wiki_summary=final_wiki_data.get('first_paragraph', 'k.A.')
|
wiki_summary=final_wiki_data.get('first_paragraph', 'k.A.')
|
||||||
)
|
)
|
||||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Wiki Konsistenzpruefung"] + 1)}{row_num_in_sheet}', 'values': [[verification_result.get('consistency', 'X')]]})
|
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Wiki Konsistenzpruefung") + 1)}{row_num_in_sheet}', 'values': [[verification_result.get('consistency', 'X')]]})
|
||||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Begruendung Wiki Inkonsistenz"] + 1)}{row_num_in_sheet}', 'values': [[verification_result.get('justification', 'Fehler')]]})
|
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Begruendung Wiki Inkonsistenz") + 1)}{row_num_in_sheet}', 'values': [[verification_result.get('justification', 'Fehler')]]})
|
||||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wiki Verif. Timestamp"] + 1)}{row_num_in_sheet}', 'values': [[now_timestamp]]})
|
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Wiki Verif. Timestamp") + 1)}{row_num_in_sheet}', 'values': [[now_timestamp]]})
|
||||||
|
|
||||||
# --- Finales Schreiben ins Sheet ---
|
# --- Finales Schreiben ins Sheet ---
|
||||||
if wiki_data_was_extracted_or_updated:
|
if wiki_data_was_extracted_or_updated:
|
||||||
@@ -464,7 +464,7 @@ class DataProcessor:
|
|||||||
})
|
})
|
||||||
|
|
||||||
updates.append({
|
updates.append({
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wikipedia Timestamp"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Wikipedia Timestamp") + 1)}{row_num_in_sheet}',
|
||||||
'values': [[now_timestamp]]
|
'values': [[now_timestamp]]
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -554,13 +554,13 @@ class DataProcessor:
|
|||||||
techniker_bucket_ml=self._get_cell_value_safe(row_data, "Geschaetzter Techniker Bucket")
|
techniker_bucket_ml=self._get_cell_value_safe(row_data, "Geschaetzter Techniker Bucket")
|
||||||
)
|
)
|
||||||
|
|
||||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["FSM Pitch"] + 1)}{row_num_in_sheet}', 'values': [[fsm_pitch_text]]})
|
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("FSM Pitch") + 1)}{row_num_in_sheet}', 'values': [[fsm_pitch_text]]})
|
||||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["FSM Pitch Timestamp"] + 1)}{row_num_in_sheet}', 'values': [[now_timestamp]]})
|
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("FSM Pitch Timestamp") + 1)}{row_num_in_sheet}', 'values': [[now_timestamp]]})
|
||||||
any_processing_done = True
|
any_processing_done = True
|
||||||
chat_eval_just_ran = True # Signal, dass eine KI-Aktion stattfand
|
chat_eval_just_ran = True # Signal, dass eine KI-Aktion stattfand
|
||||||
except Exception as e_fsm_pitch:
|
except Exception as e_fsm_pitch:
|
||||||
self.logger.error(f"FEHLER bei FSM-Pitch-Generierung für Zeile {row_num_in_sheet}: {e_fsm_pitch}")
|
self.logger.error(f"FEHLER bei FSM-Pitch-Generierung für Zeile {row_num_in_sheet}: {e_fsm_pitch}")
|
||||||
updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["FSM Pitch"] + 1)}{row_num_in_sheet}', 'values': [['FEHLER (Generierung)']]} )
|
updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("FSM Pitch") + 1)}{row_num_in_sheet}', 'values': [['FEHLER (Generierung)']]} )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -605,12 +605,12 @@ class DataProcessor:
|
|||||||
int(round(final_num_ma))) if final_num_ma > 0 else 'k.A.'
|
int(round(final_num_ma))) if final_num_ma > 0 else 'k.A.'
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Umsatz (Wiki>CRM)"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Finaler Umsatz (Wiki>CRM)") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[final_umsatz_str_konsolidiert]]})
|
[final_umsatz_str_konsolidiert]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Mitarbeiter (Wiki>CRM)"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Finaler Mitarbeiter (Wiki>CRM)") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[final_ma_str_konsolidiert]]})
|
[final_ma_str_konsolidiert]]})
|
||||||
except Exception as e_consolidate:
|
except Exception as e_consolidate:
|
||||||
@@ -619,12 +619,12 @@ class DataProcessor:
|
|||||||
final_umsatz_str_konsolidiert, final_ma_str_konsolidiert = "FEHLER_KONSO", "FEHLER_KONSO"
|
final_umsatz_str_konsolidiert, final_ma_str_konsolidiert = "FEHLER_KONSO", "FEHLER_KONSO"
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Umsatz (Wiki>CRM)"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Finaler Umsatz (Wiki>CRM)") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
['FEHLER_KONSO']]})
|
['FEHLER_KONSO']]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Mitarbeiter (Wiki>CRM)"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Finaler Mitarbeiter (Wiki>CRM)") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
['FEHLER_KONSO']]})
|
['FEHLER_KONSO']]})
|
||||||
|
|
||||||
@@ -658,7 +658,7 @@ class DataProcessor:
|
|||||||
plausi_input_data)
|
plausi_input_data)
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Umsatz"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Umsatz") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -666,7 +666,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Mitarbeiter"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Mitarbeiter") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -674,7 +674,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Umsatz/MA Ratio"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Umsatz/MA Ratio") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -682,7 +682,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Abweichung Umsatz CRM/Wiki"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Abweichung Umsatz CRM/Wiki") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -690,7 +690,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Abweichung MA CRM/Wiki"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Abweichung MA CRM/Wiki") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -698,7 +698,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Begründung"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Begründung") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -710,12 +710,12 @@ class DataProcessor:
|
|||||||
|
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Prüfdatum"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Prüfdatum") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[now_timestamp]]})
|
[now_timestamp]]})
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Timestamp letzte Pruefung"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Timestamp letzte Pruefung") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[now_timestamp]]})
|
[now_timestamp]]})
|
||||||
|
|
||||||
@@ -735,7 +735,7 @@ class DataProcessor:
|
|||||||
str) and not predicted_bucket.startswith("FEHLER"):
|
str) and not predicted_bucket.startswith("FEHLER"):
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Geschaetzter Techniker Bucket"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Geschaetzter Techniker Bucket") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[predicted_bucket]]})
|
[predicted_bucket]]})
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
@@ -745,7 +745,7 @@ class DataProcessor:
|
|||||||
f" -> ML-Schaetzung lieferte kein gueltiges Ergebnis: '{predicted_bucket}'.")
|
f" -> ML-Schaetzung lieferte kein gueltiges Ergebnis: '{predicted_bucket}'.")
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Geschaetzter Techniker Bucket"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Geschaetzter Techniker Bucket") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
['k.A. (Schaetzung fehlgeschlagen)']]})
|
['k.A. (Schaetzung fehlgeschlagen)']]})
|
||||||
except Exception as e_ml:
|
except Exception as e_ml:
|
||||||
@@ -754,7 +754,7 @@ class DataProcessor:
|
|||||||
self.logger.debug(traceback.format_exc())
|
self.logger.debug(traceback.format_exc())
|
||||||
updates.append(
|
updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Geschaetzter Techniker Bucket"] + 1)}{row_num_in_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Geschaetzter Techniker Bucket") + 1)}{row_num_in_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[f'FEHLER Schaetzung: {str(e_ml)[:50]}...']]})
|
[f'FEHLER Schaetzung: {str(e_ml)[:50]}...']]})
|
||||||
|
|
||||||
@@ -1087,11 +1087,11 @@ class DataProcessor:
|
|||||||
now_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
now_timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
|
||||||
updates_for_row = [
|
updates_for_row = [
|
||||||
{'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Wiki Konsistenzpruefung"]["index"] + 1)}{current_row_num}', 'values': [[verification_result.get("consistency")]]},
|
{'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Wiki Konsistenzpruefung")["index"] + 1)}{current_row_num}', 'values': [[verification_result.get("consistency")]]},
|
||||||
{'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Begründung Wiki Inkonsistenz"]["index"] + 1)}{current_row_num}', 'values': [[verification_result.get("justification")]]},
|
{'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Begründung Wiki Inkonsistenz")["index"] + 1)}{current_row_num}', 'values': [[verification_result.get("justification")]]},
|
||||||
# Verwende die validierte URL
|
# Verwende die validierte URL
|
||||||
{'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Vorschlag Wiki Artikel"]["index"] + 1)}{current_row_num}', 'values': [[final_suggested_url]]},
|
{'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Vorschlag Wiki Artikel")["index"] + 1)}{current_row_num}', 'values': [[final_suggested_url]]},
|
||||||
{'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Wiki Verif. Timestamp"]["index"] + 1)}{current_row_num}', 'values': [[now_timestamp]]}
|
{'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Wiki Verif. Timestamp")["index"] + 1)}{current_row_num}', 'values': [[now_timestamp]]}
|
||||||
]
|
]
|
||||||
all_updates.extend(updates_for_row)
|
all_updates.extend(updates_for_row)
|
||||||
|
|
||||||
@@ -1184,13 +1184,13 @@ class DataProcessor:
|
|||||||
techniker_bucket_ml=self._get_cell_value_safe(row_data, "Geschaetzter Techniker Bucket")
|
techniker_bucket_ml=self._get_cell_value_safe(row_data, "Geschaetzter Techniker Bucket")
|
||||||
)
|
)
|
||||||
|
|
||||||
all_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["FSM Pitch"] + 1)}{row_num}', 'values': [[fsm_pitch_text]]})
|
all_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("FSM Pitch") + 1)}{row_num}', 'values': [[fsm_pitch_text]]})
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(f"FEHLER bei FSM-Pitch-Generierung für Zeile {row_num}: {e}")
|
self.logger.error(f"FEHLER bei FSM-Pitch-Generierung für Zeile {row_num}: {e}")
|
||||||
all_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["FSM Pitch"] + 1)}{row_num}', 'values': [['FEHLER (Generierung)']]} )
|
all_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("FSM Pitch") + 1)}{row_num}', 'values': [['FEHLER (Generierung)']]} )
|
||||||
|
|
||||||
# IMMER den Timestamp setzen, auch bei Fehler, um Endlosschleifen zu vermeiden
|
# IMMER den Timestamp setzen, auch bei Fehler, um Endlosschleifen zu vermeiden
|
||||||
all_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["FSM Pitch Timestamp"] + 1)}{row_num}', 'values': [[now_timestamp]]})
|
all_sheet_updates.append({'range': f'{self.sheet_handler._get_col_letter(get_col_idx("FSM Pitch Timestamp") + 1)}{row_num}', 'values': [[now_timestamp]]})
|
||||||
processed_count += 1
|
processed_count += 1
|
||||||
|
|
||||||
# Batch-Update Logik
|
# Batch-Update Logik
|
||||||
@@ -3069,7 +3069,7 @@ class DataProcessor:
|
|||||||
self.logger.debug(f" Zeile {rn} (Ergebnis): {res}")
|
self.logger.debug(f" Zeile {rn} (Ergebnis): {res}")
|
||||||
updates_this_batch.append(
|
updates_this_batch.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Vorschlag Branche"] + 1)}{rn}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Vorschlag Branche") + 1)}{rn}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
res.get(
|
res.get(
|
||||||
@@ -3077,7 +3077,7 @@ class DataProcessor:
|
|||||||
"ERR BR")]]})
|
"ERR BR")]]})
|
||||||
updates_this_batch.append(
|
updates_this_batch.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Branche Konfidenz"] + 1)}{rn}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Branche Konfidenz") + 1)}{rn}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
res.get(
|
res.get(
|
||||||
@@ -3085,7 +3085,7 @@ class DataProcessor:
|
|||||||
"N/A CO")]]})
|
"N/A CO")]]})
|
||||||
updates_this_batch.append(
|
updates_this_batch.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Konsistenz Branche"] + 1)}{rn}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Konsistenz Branche") + 1)}{rn}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
res.get(
|
res.get(
|
||||||
@@ -3093,7 +3093,7 @@ class DataProcessor:
|
|||||||
"err CO")]]})
|
"err CO")]]})
|
||||||
updates_this_batch.append(
|
updates_this_batch.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Chat Begruendung Abweichung Branche"] + 1)}{rn}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Chat Begruendung Abweichung Branche") + 1)}{rn}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
res.get(
|
res.get(
|
||||||
@@ -3101,12 +3101,12 @@ class DataProcessor:
|
|||||||
"No JU")]]})
|
"No JU")]]})
|
||||||
updates_this_batch.append(
|
updates_this_batch.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Timestamp letzte Pruefung"] + 1)}{rn}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Timestamp letzte Pruefung") + 1)}{rn}',
|
||||||
'values': [
|
'values': [
|
||||||
[ts]]})
|
[ts]]})
|
||||||
updates_this_batch.append(
|
updates_this_batch.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Version"] + 1)}{rn}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Version") + 1)}{rn}',
|
||||||
'values': [
|
'values': [
|
||||||
[ver]]})
|
[ver]]})
|
||||||
|
|
||||||
@@ -4927,12 +4927,12 @@ class DataProcessor:
|
|||||||
|
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Umsatz (Wiki>CRM)"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Finaler Umsatz (Wiki>CRM)") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[final_umsatz_str_konsolidiert]]})
|
[final_umsatz_str_konsolidiert]]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Finaler Mitarbeiter (Wiki>CRM)"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Finaler Mitarbeiter (Wiki>CRM)") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[final_ma_str_konsolidiert]]})
|
[final_ma_str_konsolidiert]]})
|
||||||
|
|
||||||
@@ -4956,7 +4956,7 @@ class DataProcessor:
|
|||||||
|
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Umsatz"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Umsatz") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -4964,7 +4964,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Mitarbeiter"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Mitarbeiter") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -4972,7 +4972,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Umsatz/MA Ratio"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Umsatz/MA Ratio") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -4980,7 +4980,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Abweichung Umsatz CRM/Wiki"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Abweichung Umsatz CRM/Wiki") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -4988,7 +4988,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Abweichung MA CRM/Wiki"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Abweichung MA CRM/Wiki") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -4996,7 +4996,7 @@ class DataProcessor:
|
|||||||
"ERR_FLAG")]]})
|
"ERR_FLAG")]]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Begründung"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Begründung") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[
|
[
|
||||||
plausi_results.get(
|
plausi_results.get(
|
||||||
@@ -5019,7 +5019,7 @@ class DataProcessor:
|
|||||||
['FEHLER_CALL']]})
|
['FEHLER_CALL']]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Begründung"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Begründung") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[f"Systemfehler: {str(e_plausi_run_batch)[:100]}"]]})
|
[f"Systemfehler: {str(e_plausi_run_batch)[:100]}"]]})
|
||||||
else: # Fehler bei Konsolidierung
|
else: # Fehler bei Konsolidierung
|
||||||
@@ -5038,13 +5038,13 @@ class DataProcessor:
|
|||||||
['INPUT_FEHLER_KONSO']]})
|
['INPUT_FEHLER_KONSO']]})
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Begründung"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Begründung") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
["Konsolidierung fehlgeschlagen"]]})
|
["Konsolidierung fehlgeschlagen"]]})
|
||||||
|
|
||||||
current_row_updates.append(
|
current_row_updates.append(
|
||||||
{
|
{
|
||||||
'range': f'{self.sheet_handler._get_col_letter(COLUMN_MAP["Plausibilität Prüfdatum"] + 1)}{row_num_sheet}',
|
'range': f'{self.sheet_handler._get_col_letter(get_col_idx("Plausibilität Prüfdatum") + 1)}{row_num_sheet}',
|
||||||
'values': [
|
'values': [
|
||||||
[now_timestamp_str]]})
|
[now_timestamp_str]]})
|
||||||
|
|
||||||
@@ -5667,7 +5667,7 @@ class DataProcessor:
|
|||||||
|
|
||||||
# DACH-Filter (basierend auf CRM Land - Spalte G)
|
# DACH-Filter (basierend auf CRM Land - Spalte G)
|
||||||
# Holt den tatsächlichen Spaltennamen
|
# Holt den tatsächlichen Spaltennamen
|
||||||
crm_land_col_header = headers[COLUMN_MAP["CRM Land"]]
|
crm_land_col_header = headers[get_col_idx("CRM Land")]
|
||||||
# Erlaubte Werte für DACH-Länder (Groß- und Kleinschreibung wird durch
|
# Erlaubte Werte für DACH-Länder (Groß- und Kleinschreibung wird durch
|
||||||
# .str.upper() behandelt)
|
# .str.upper() behandelt)
|
||||||
dach_countries = [
|
dach_countries = [
|
||||||
@@ -5695,8 +5695,8 @@ class DataProcessor:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
# Plausibilitätsfilter (basierend auf Spalten BG und BH)
|
# Plausibilitätsfilter (basierend auf Spalten BG und BH)
|
||||||
plausi_umsatz_col_header = headers[COLUMN_MAP["Plausibilität Umsatz"]]
|
plausi_umsatz_col_header = headers[get_col_idx("Plausibilität Umsatz")]
|
||||||
plausi_ma_col_header = headers[COLUMN_MAP["Plausibilität Mitarbeiter"]]
|
plausi_ma_col_header = headers[get_col_idx("Plausibilität Mitarbeiter")]
|
||||||
|
|
||||||
# Sicherstellen, dass die Spalten existieren
|
# Sicherstellen, dass die Spalten existieren
|
||||||
if plausi_umsatz_col_header in df.columns and plausi_ma_col_header in df.columns:
|
if plausi_umsatz_col_header in df.columns and plausi_ma_col_header in df.columns:
|
||||||
|
|||||||
Reference in New Issue
Block a user