From f5d300bfed56f84a974577a3f2f305c27b4bf4d5 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Fri, 12 Dec 2025 12:06:28 +0000
Subject: [PATCH] Improve bonus report text format for cleaner output
Co-authored-by: Kenearos <86194771+Kenearos@users.noreply.github.com>
---
Dienstplan_Portable.html | 21 ++++++++++++---------
webapp/app.js | 21 ++++++++++++---------
2 files changed, 24 insertions(+), 18 deletions(-)
diff --git a/Dienstplan_Portable.html b/Dienstplan_Portable.html
index 5fa79f0..0d8931f 100644
--- a/Dienstplan_Portable.html
+++ b/Dienstplan_Portable.html
@@ -1296,20 +1296,23 @@ class DienstplanApp {
totalBonus += bonus;
- // Generate note for this employee
+ // Generate note for this employee - cleaner, more professional format
const safeName = this.sanitizeName(name);
- let note = `${safeName}: `;
+ let note = '';
if (!thresholdReached) {
- note += `Erreicht das Bonussystem nicht (nur ${we_total.toFixed(1)} WE-Einheiten, mind. 2,0 erforderlich).`;
+ note = `${safeName} erreicht die Mindestschwelle nicht (${we_total.toFixed(1)} von 2,0 WE-Einheiten) und erhält daher keine Bonuszahlung.`;
} else {
- const details = [];
- if (data.wt > 0) details.push(`${data.wt.toFixed(1)} WT × 250€`);
- if (data.we_fr > 0 || data.we_other > 0) {
- const paid_we = we_total - 1.0;
- details.push(`${paid_we.toFixed(1)} WE × 450€ (abzgl. 1,0 Abzug von ${deductedFrom})`);
+ const paid_we = we_total - 1.0;
+ let breakdown = [];
+ if (data.wt > 0) breakdown.push(`${data.wt.toFixed(1)} WT-Einheiten à 250 €`);
+ if (paid_we > 0) breakdown.push(`${paid_we.toFixed(1)} WE-Einheiten à 450 €`);
+
+ note = `${safeName} erhält eine Bonuszahlung von ${this.formatCurrency(bonus)}`;
+ if (breakdown.length > 0) {
+ note += ` (${breakdown.join(' + ')})`;
}
- note += `Erhält ${this.formatCurrency(bonus)}. ${details.join(', ')}.`;
+ note += '.';
}
employeeNotes.push(note);
diff --git a/webapp/app.js b/webapp/app.js
index 45a3519..dd97592 100644
--- a/webapp/app.js
+++ b/webapp/app.js
@@ -757,20 +757,23 @@ class DienstplanApp {
totalBonus += bonus;
- // Generate note
+ // Generate note - cleaner, more professional format
const safeName = escapeHtml(name);
- let note = `${safeName}: `;
+ let note = '';
if (!thresholdReached) {
- note += `Erreicht das Bonussystem nicht (nur ${we_total.toFixed(1)} WE-Einheiten, mind. 2,0 erforderlich).`;
+ note = `${safeName} erreicht die Mindestschwelle nicht (${we_total.toFixed(1)} von 2,0 WE-Einheiten) und erhält daher keine Bonuszahlung.`;
} else {
- const details = [];
- if (data.wt > 0) details.push(`${data.wt.toFixed(1)} WT × 250€`);
- if (data.we_fr > 0 || data.we_other > 0) {
- const paid_we = we_total - 1.0;
- details.push(`${paid_we.toFixed(1)} WE × 450€ (abzgl. 1,0 Abzug von ${deductedFrom})`);
+ const paid_we = we_total - 1.0;
+ let breakdown = [];
+ if (data.wt > 0) breakdown.push(`${data.wt.toFixed(1)} WT-Einheiten à 250 €`);
+ if (paid_we > 0) breakdown.push(`${paid_we.toFixed(1)} WE-Einheiten à 450 €`);
+
+ note = `${safeName} erhält eine Bonuszahlung von ${this.calculator.formatCurrency(bonus)}`;
+ if (breakdown.length > 0) {
+ note += ` (${breakdown.join(' + ')})`;
}
- note += `Erhält ${this.calculator.formatCurrency(bonus)}. ${details.join(', ')}.`;
+ note += '.';
}
employeeNotes.push(note);