-
Notifications
You must be signed in to change notification settings - Fork 0
Fix deduction value inconsistency (2.0→1.0) and improve bonus report format #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
89862e9
a2cc834
f5d300b
feb9c9f
6ecfd89
db6e95f
af4473f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,7 +4,7 @@ Stand: 14.11.2025 (Deutschland) | |
|
|
||
| ## Ziel | ||
|
|
||
| Diese README beschreibt vollständig, wie eine Excel-Arbeitsmappe aufgebaut wird, die Monatsdienste erfasst und automatisch die Vergütung ermittelt – inkl. Erkennung von Wochenend-/Feiertagsdiensten (inkl. Vortag), Schwellenlogik und Abzug 1,0 WE-Einheit. Variante 2 (streng) ist aktiv: WE-Dienste werden nur vergütet, wenn im Monat mindestens 2,0 WE-Einheiten erreicht werden; sonst 0 €. Wochentage (kein WE) werden stets vergütet. | ||
| Diese README beschreibt vollständig, wie eine Excel-Arbeitsmappe aufgebaut wird, die Monatsdienste erfasst und automatisch die Vergütung ermittelt – inkl. Erkennung von Wochenend-/Feiertagsdiensten (inkl. Vortag), Schwellenlogik und Abzug 2,0 WE-Einheiten nach Erreichen der Schwelle. Variante 2 (streng) ist aktiv: WE-Dienste werden nur vergütet, wenn im Monat mindestens 2,0 WE-Einheiten erreicht werden; sonst 0 €. Wochentage (kein WE) werden ebenfalls nur bei Erreichen der WE-Schwelle vergütet. | ||
|
||
|
|
||
| Hinweise: | ||
| - Region: Deutschland, Bundesland wählbar (steuert Feiertage). | ||
|
|
@@ -279,17 +279,17 @@ Beispiel-Formel (als hilfsweise Matrix in Checks): | |
| A hat 1,75 WE und 1,0 WT → Auszahlung_WE = 0 €; Auszahlung_WT = 0 €; Auszahlung_Gesamt = 0 €. | ||
|
|
||
| 2) **Genau Schwelle**: | ||
| A hat 2,0 WE (Fr 1,0 + Sa 1,0) → Abzug 1,0 (zuerst Fr) → WE_bezahlt = 1,0 → 450 €. | ||
| A hat 2,0 WE (Fr 1,0 + Sa 1,0) → Abzug 2,0 (zuerst Fr) → WE_bezahlt = 0,0 → 0 €. | ||
|
|
||
| 3) **Über Schwelle ohne Freitag**: | ||
| A hat 2,0 WE (nur Sa+So) → Abzug 1,0 aus „Andere" → WE_bezahlt = 1,0 → 450 €. | ||
| A hat 2,0 WE (nur Sa+So) → Abzug 2,0 aus „Andere" → WE_bezahlt = 0,0 → 0 €. | ||
|
|
||
| 4) **Starke Überdeckung**: | ||
| A hat 3,5 WE → Abzug 1,0 → WE_bezahlt = 2,5 → 2,5×450 €. | ||
| A hat 3,5 WE → Abzug 2,0 → WE_bezahlt = 1,5 → 1,5×450 € = 675 €. | ||
|
|
||
| 5) **Splits rund um 2,0**: | ||
| A hat Fr 0,4 + Sa 0,6 + So 1,0 → Summe 2,0 → Abzug 1,0 | ||
| (0,4 von Fr, 0,6 von Andere) → WE_bezahlt = 1,0 → 450 €. | ||
| A hat Fr 0,4 + Sa 0,6 + So 1,0 → Summe 2,0 → Abzug 2,0 | ||
| (0,4 von Fr, 1,6 von Andere) → WE_bezahlt = 0,0 → 0 €. | ||
|
|
||
| 6) **Unter Schwelle, nur WE-Tage**: | ||
| A hat 1,0 WE, 0 WT → Auszahlung_WE = 0 €; Auszahlung_Gesamt = 0 €. | ||
|
|
@@ -300,9 +300,9 @@ Beispiel-Formel (als hilfsweise Matrix in Checks): | |
|
|
||
| ## Edge-Cases und Präzisierungen | ||
|
|
||
| - Abzug nur einmal pro Person/Monat (fix 1,0), und nur wenn Schwelle erreicht. | ||
| - Abzug nur einmal pro Person/Monat (fix 2,0), und nur wenn Schwelle erreicht. | ||
| - Der Vortag eines Feiertags ist WE-Tag – unabhängig davon, welcher Wochentag er ist. | ||
| - Wenn WE_Freitag < 1,0, wird der restliche Abzug (bis 1,0) von WE_Andere genommen. | ||
| - Wenn WE_Freitag < 2,0, wird der restliche Abzug (bis 2,0) von WE_Andere genommen. | ||
| - Monatswechsel: Daten genau per >=Monat_Auswahl und <=EOMONAT(Monat_Auswahl;0) filtern. | ||
| - Rundungstoleranz 1e-4 bei Schwelle und Datumssummen (Splits wie 0,33/0,67). | ||
| - Tabellen-Namen („tblPlan", „tblFeiertage", „tblAuswertung") konsequent verwenden. | ||
|
|
@@ -324,11 +324,11 @@ Lieferumfang (empfohlen): | |
| - 18.11.2025: Korrektur Variante 2: **Gesamter Bonus (WT + WE) wird nur gezahlt, wenn WE_Summe ≥ 2,0**. | ||
| Unter Schwelle: Auszahlung_Gesamt = 0 € (weder WT noch WE). | ||
| - 14.11.2025: Umstellung auf Variante 2 (streng). WE-Vergütung nur bei WE_Summe ≥ 2,0, | ||
| anschließend Abzug 1,0 (Freitag zuerst). Unterhalb der Schwelle: WE-Auszahlung = 0 €. | ||
| anschließend Abzug 2,0 (Freitag zuerst). Unterhalb der Schwelle: WE-Auszahlung = 0 €. | ||
| - 13.11.2025: Vorversion (Variante 1) mit WE-Auszahlung ab erstem WE-Dienst und Abzug nach Schwelle (ersetzt). | ||
|
|
||
| ## Kurztext (für Blatt „Regeln" als Readme-Hinweis) | ||
|
|
||
| „WE-Tag = Fr/Sa/So/Feiertag/Vortag (BL-abhängig). Variante 2 (streng): Gesamter Bonus (WT + WE) wird nur gezahlt, wenn im Monat ≥ 2,0 WE-Einheiten erreicht werden. Bei Erreichen der Schwelle: WT 250 €/Einheit, WE 450 €/Einheit mit Abzug 1,0 (Freitag zuerst). Unter Schwelle: 0 € Auszahlung. Splits anteilig. Monat und Bundesland oben wählen." | ||
| „WE-Tag = Fr/Sa/So/Feiertag/Vortag (BL-abhängig). Variante 2 (streng): Gesamter Bonus (WT + WE) wird nur gezahlt, wenn im Monat ≥ 2,0 WE-Einheiten erreicht werden. Bei Erreichen der Schwelle: WT 250 €/Einheit, WE 450 €/Einheit mit Abzug 2,0 (Freitag zuerst). Unter Schwelle: 0 € Auszahlung. Splits anteilig. Monat und Bundesland oben wählen." | ||
|
|
||
| — Ende der README — | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code correctly uses CONFIG.DEDUCTION for calculating paid WE units, but the CONFIG constant definition on line 579 (not shown in this diff) still has DEDUCTION: 1.0 instead of DEDUCTION: 2.0. This means the portable HTML file will calculate bonuses using the old 1.0 deduction value, creating an inconsistency with all other implementations (webapp/calculator.js, Android app, Python scripts) which use 2.0. The CONFIG.DEDUCTION value needs to be updated to 2.0 to match the PR's stated purpose.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot apply changes based on this feedback
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes were already applied in commit af4473f.
CONFIG.DEDUCTIONis now set to2.0on line 579 of Dienstplan_Portable.html, and all related text references have been updated.