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
+23 -17

No files matched your search

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