fix: es werden nun die richtigen Felder beschrieben

This commit is contained in:
trnq1ll0 committed 2026-06-09 09:33:57 +02:00
1 parent 19dfc06272
commit 56d605c0cb
2 files changed
+24 -18

No files matched your search

+9 -7
View File
@@ -1,9 +1,11 @@
[ [
{"source_field": "Antragsnummer", "target_cell": "C2", "format": null}, {"source_field": "Antragsnummer", "target_cell": "B3", "format": null},
{"source_field": "Name", "target_cell": "C16", "format": null}, {"source_field": "Name", "target_cell": "B17", "format": null},
{"source_field": "Stellenanteil in %", "target_cell": "S16", "format": "%.2f"}, {"source_field": "Stellenanteil in %", "target_cell": "R17", "format": "%.2f"},
{"source_field": "Qualifikation", "target_cell": "C20", "format": null}, {"source_field": "Qualifikation", "target_cell": "B21", "format": null},
{"source_field": "Monat (MM.JJ)", "target_cell": "S20", "format": null}, {"source_field": "Monat (MM.JJ)", "target_cell": "R21", "format": null},
{"source_field": "Funktion", "target_cell": "C24", "format": null}, {"source_field": "Funktion", "target_cell": "B25", "format": null},
{"source_field": "Tätigkeit", "target_cell": "B30", "format": null} {"source_field": "Tätigkeit", "target_cell": "B31", "format": null},
{"source_field": "Ort", "target_cell": "B95", "format": null},
{"source_field": "Datum", "target_cell": "J95", "format": null}
] ]
+15 -11
View File
@@ -101,7 +101,7 @@ def generate_activity_reports(
) )
output_path = output_dir / filename output_path = output_dir / filename
# Lade Template # Lade Template (bleibt unverändert als Kopiervorlage)
wb = load_workbook(template_path) wb = load_workbook(template_path)
template_sheet = wb.worksheets[0] template_sheet = wb.worksheets[0]
@@ -109,18 +109,17 @@ def generate_activity_reports(
sorted_records = sorted(records, key=lambda r: r.month_index) sorted_records = sorted(records, key=lambda r: r.month_index)
for idx, record in enumerate(sorted_records): for idx, record in enumerate(sorted_records):
if idx == 0: # Immer vom sauberen Template kopieren – nie das Original beschreiben
sheet = template_sheet sheet = wb.copy_worksheet(template_sheet)
else:
sheet = wb.copy_worksheet(template_sheet)
# Sheet-Name: Monatsname # Sheet-Name: Monatsname + Funktionskürzel (erste 3 Buchstaben)
month_names = [ month_names = [
"", "Januar", "Februar", "März", "April", "Mai", "Juni", "", "Januar", "Februar", "März", "April", "Mai", "Juni",
"Juli", "August", "September", "Oktober", "November", "Dezember" "Juli", "August", "September", "Oktober", "November", "Dezember"
] ]
mi = record.month_index mi = record.month_index
sheet_name = f"{mi:02d}_{month_names[mi]}" if 1 <= mi <= 12 else f"Monat_{idx + 1}" func_abbr = record.funktion[:3] if record.funktion else ""
sheet_name = f"{mi:02d}_{month_names[mi]}_{func_abbr}" if 1 <= mi <= 12 else f"Monat_{idx + 1}"
sheet.title = sheet_name[:31] sheet.title = sheet_name[:31]
# Befülle Zielfelder # Befülle Zielfelder
@@ -129,8 +128,6 @@ def generate_activity_reports(
value = _format_month_for_template(record.monat) value = _format_month_for_template(record.monat)
elif source_field == "Stellenanteil in %": elif source_field == "Stellenanteil in %":
value = record.stellenanteil value = record.stellenanteil
elif hasattr(record, source_field.lower().replace(" ", "_")):
value = getattr(record, source_field.lower().replace(" ", "_"))
elif source_field == "Name": elif source_field == "Name":
value = employee_name value = employee_name
elif source_field == "Antragsnummer": elif source_field == "Antragsnummer":
@@ -141,15 +138,22 @@ def generate_activity_reports(
value = record.funktion value = record.funktion
elif source_field == "Tätigkeit": elif source_field == "Tätigkeit":
value = record.taetigkeit value = record.taetigkeit
elif source_field == "Ort":
value = "Dresden"
elif source_field == "Datum":
value = date.today().strftime("%d.%m.%Y")
else: else:
continue continue
formatted = _format_value(value, m.format) formatted = _format_value(value, m.format)
_set_cell_value(sheet, m.target_cell, formatted) _set_cell_value(sheet, m.target_cell, formatted)
# Setze aktuelles Datum für das Erstelldatum # Setze aktuelles Datum auch ins Unterschriftsfeld
today = date.today().strftime("%d.%m.%Y") today = date.today().strftime("%d.%m.%Y")
_set_cell_value(sheet, "K94", today) _set_cell_value(sheet, "J95", today)
# Entferne das leere Original-Template-Sheet
wb.remove(template_sheet)
wb.save(output_path) wb.save(output_path)
wb.close() wb.close()