This repository has been archived on 2026-06-28. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Dienstplan/README.md
Claude 520e3b62e0
Add web-based duty schedule bonus calculator
Implements a complete web application for calculating bonus payments
for weekend and holiday duty shifts according to NRW rules.

Features:
- Employee management (add/remove multiple employees)
- Monthly duty scheduling (full and half shifts)
- Automatic NRW holiday detection (2025-2030)
- Bonus calculation with configurable rules
- LocalStorage for data persistence
- Export/Import functionality (JSON)
- Responsive design for desktop and mobile
- No external dependencies

Calculation Rules:
- Qualifying days: Friday, Saturday, Sunday, public holidays, day before holiday
- Minimum threshold: 2.0 qualifying days required
- Deduction: 1.0 qualifying day after threshold reached
- Rates: Normal days 250€, qualifying days 450€
- Half shifts: 50% of respective rate
- No bonus payment if threshold not reached

Technical Stack:
- Vanilla JavaScript (no frameworks)
- HTML5 & CSS3
- LocalStorage API
- Modern, gradient-based UI design

Files:
- webapp/index.html - Main HTML interface
- webapp/styles.css - Responsive styling
- webapp/app.js - Main application logic and UI handling
- webapp/calculator.js - Bonus calculation engine
- webapp/holidays.js - NRW public holidays provider
- webapp/storage.js - LocalStorage data management
- webapp/README.md - Comprehensive documentation

Updated main README.md to include web app in available versions.
2025-11-18 20:00:13 +00:00

3.5 KiB
Raw Blame History

Dienstplan Generator (NRW - Variante 2)

Projekt zum automatischen Erstellen von Dienstplänen mit Vergütungsberechnung nach NRW-Regeln (Variante 2 "streng").

Verfügbare Versionen

Web-App (Browser) 🆕

Empfohlen für die meisten Benutzer!

Moderne Web-Anwendung zur Bonusberechnung für Wochenend- und Feiertagsdienste.

  • Läuft direkt im Browser (keine Installation)
  • Mitarbeiterverwaltung
  • Monatliche Dienstplanung
  • Automatische Bonusberechnung
  • Export/Import-Funktion

Siehe webapp/README.md für Details.

Python/Excel Version (Desktop)

Python-basierter Generator für Excel-Dienstpläne.

Android App (Mobile)

Native Android-App für mobiles Dienstplan-Management. Siehe android-app/README.md für Details.

Features (Python/Excel Version)

  • Automatische Erkennung von Wochenenden (FrSo), Feiertagen und Vortagen
  • Vergütungslogik: WT 250€, WE 450€ (nur ab Schwelle ≥ 2,0 WE-Einheiten)
  • Abzug 1,0 WE-Einheit (Freitag-Priorität) nach Erreichen der Schwelle
  • Vorbefüllte Monatsvorlagen mit allen Datumswerten
  • Excel-kompatibel (ohne Office 365 Funktionen)

Installation

  1. Virtuelle Umgebung erstellen:
python -m venv .venv
  1. Umgebung aktivieren:
.\.venv\Scripts\Activate.ps1
  1. Abhängigkeiten installieren:
pip install -r requirements.txt

Verwendung

Monat erstellen

python src/fill_plan_dates.py 2025 11  # November 2025
python src/fill_plan_dates.py 2025 12  # Dezember 2025

Die Datei landet in output/Dienstplan_YYYY_MM_NRW.xlsx.

Daten eintragen

  1. Öffne die generierte Datei
  2. Gehe zum Blatt "Plan"
  3. Trage in Spalte B die Mitarbeiter-Namen ein
  4. Trage in Spalte C den Anteil ein (1 = voll, 0.5 = halb)
  5. Gehe zum Blatt "Auswertung" und trage in Spalte A alle Mitarbeiter ein

Fertig! Alle Berechnungen erfolgen automatisch.

Projektstruktur

.
├── webapp/                 # Web-App (Browser) 🆕
│   ├── index.html          # Haupt-HTML-Datei
│   ├── styles.css          # Styling
│   ├── app.js              # App-Logik & UI
│   ├── calculator.js       # Bonusberechnung
│   ├── holidays.js         # NRW-Feiertagsdaten
│   ├── storage.js          # LocalStorage-Verwaltung
│   └── README.md           # Web-App Dokumentation
├── src/                    # Python source code
│   ├── build_template.py   # Erstellt die Basis-Vorlage
│   ├── fill_plan_dates.py  # Füllt Monate mit Datumszeilen
│   └── read_excel.py       # Liest xlsx-Dateien aus
├── android-app/            # Android mobile app
│   ├── app/                # Android app source code
│   ├── build.gradle.kts    # Build configuration
│   └── README.md           # Android app documentation
├── output/                 # Generierte Monatspläne
├── templates/              # Basis-Vorlage
├── requirements.txt        # Python-Abhängigkeiten (openpyxl)
├── SPECIFICATION.md        # Vollständige Regeln & Formeln
└── README.md              # Diese Datei

Regeln (Variante 2 - streng)

  • WE-Tag: Fr/Sa/So + Feiertag + Vortag Feiertag
  • WT-Tag: Alle anderen Tage (250 € pro Einheit)
  • WE-Vergütung: Nur wenn Monatssumme ≥ 2,0 WE-Einheiten → 450 €/Einheit, dann Abzug 1,0 (zuerst von Freitag)
  • Unter Schwelle: WE-Dienste = 0 € (nicht als WT vergütet)

Details siehe SPECIFICATION.md.

Lizenz

MIT