Merge feature/bonus-varianten: 3 variants + vacation + date-stepper
Conflicts resolved: - sw.js: bumped CACHE_NAME to dienstplan-pro-v4 (was v3 + v2). Both variants.js and image-import.js are in ASSETS. - storage.js: kept STORAGE_KEY_DUTIES + STORAGE_KEY_VACATION (Feature B) alongside STORAGE_KEY_OPENROUTER_KEY/MODEL + DEFAULT_MODEL (Feature A). - styles.css: appended Feature B variants/vacation/date-stepper rules after Feature A modal/key rules; both blocks coexist.
This commit is contained in:
commit
9a26d8b9ef
9 changed files with 1375 additions and 423 deletions
51
index.html
51
index.html
|
|
@ -72,7 +72,11 @@
|
|||
<!-- Add Duty Form -->
|
||||
<div class="form-group">
|
||||
<label for="duty-date">Datum:</label>
|
||||
<input type="date" id="duty-date">
|
||||
<div class="date-stepper">
|
||||
<button type="button" id="duty-date-prev" class="btn btn-secondary" aria-label="Vorheriger Tag">‹</button>
|
||||
<input type="date" id="duty-date">
|
||||
<button type="button" id="duty-date-next" class="btn btn-secondary" aria-label="Nächster Tag">›</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
|
@ -163,26 +167,44 @@
|
|||
<h2>Einstellungen & Daten</h2>
|
||||
|
||||
<div class="settings-section">
|
||||
<h3>Berechnungsregeln</h3>
|
||||
<h3>Berechnungsregeln (NRW Psychiatrie 2011)</h3>
|
||||
<div class="info-box">
|
||||
<h4>Qualifizierende Tage (WE/Feiertag):</h4>
|
||||
<h4>Tag-Klassifizierung (Slot pro Dienst):</h4>
|
||||
<ul>
|
||||
<li>Freitag, Samstag, Sonntag</li>
|
||||
<li>Feiertage in NRW</li>
|
||||
<li>Tag vor einem Feiertag</li>
|
||||
<li><strong>fr</strong>: Freitag · oder Tag vor einem Mo-Do-Feiertag</li>
|
||||
<li><strong>sa</strong>: Samstag · oder Sandwich-Tag (Feiertag UND Tag vor Feiertag, z. B. Do Feiertag + Fr Feiertag → Do = sa)</li>
|
||||
<li><strong>so</strong>: Sonntag · oder Mo-Do-Feiertag (ohne Sandwich)</li>
|
||||
<li><strong>weekday</strong>: Mo-Do ohne Feiertag und ohne Tag-vor-Feiertag</li>
|
||||
</ul>
|
||||
|
||||
<h4>Bonusberechnung:</h4>
|
||||
<h4>Drei Varianten (es gewinnt die mit dem höchsten Bonus):</h4>
|
||||
<ul>
|
||||
<li>Mindestens <strong>2.0 qualifizierende Tage</strong> erforderlich</li>
|
||||
<li>Bei Erreichen der Schwelle: <strong>1.0 qualifizierender Tag</strong> wird abgezogen</li>
|
||||
<li>Normale Tage: <strong>250€</strong> pro Tag</li>
|
||||
<li>Qualifizierende Tage: <strong>450€</strong> pro Tag</li>
|
||||
<li>Halbe Dienste werden mit der Hälfte berechnet</li>
|
||||
<li><strong>V1:</strong> fr+so ≥ 1 UND weekday ≥ 3 → Abzug 1 aus fr+so (Fr-Prio) und 3 aus weekday. sa wird voll bezahlt.</li>
|
||||
<li><strong>V2:</strong> sa ≥ 1 UND weekday ≥ 2 → Abzug 1 sa und 2 weekday. fr und so werden voll bezahlt.</li>
|
||||
<li><strong>V3 (loose):</strong> fr+sa+so ≥ 2 → Abzug 2 aus Pool, Priorität fr → so → sa. weekday wird voll bezahlt.</li>
|
||||
</ul>
|
||||
|
||||
<h4>Wichtig:</h4>
|
||||
<p>Wenn weniger als 2.0 qualifizierende Tage erreicht werden, erfolgt <strong>keine Bonuszahlung</strong>.</p>
|
||||
<h4>Auto-Selection und Tie-Breaker:</h4>
|
||||
<p>Es wird die Variante mit dem höchsten Bonus ausgewählt. Bei Gleichstand gewinnt die niedrigste Variantennummer (V1 < V2 < V3).</p>
|
||||
|
||||
<h4>Urlaubsmodus (≥14 Tage frei):</h4>
|
||||
<p>Toggle pro Mitarbeiter und Monat. Halbiert <strong>alle</strong> Schwellen UND Abzüge. Halbe Werte sind explizit erlaubt.</p>
|
||||
|
||||
<h4>Sätze:</h4>
|
||||
<ul>
|
||||
<li>weekday: <strong>250 €</strong> pro Einheit</li>
|
||||
<li>fr / sa / so: <strong>450 €</strong> pro Einheit</li>
|
||||
<li>Halbdienste werden mit 0.5 gerechnet</li>
|
||||
</ul>
|
||||
|
||||
<h4>Beispiele Tag-Klassifizierung:</h4>
|
||||
<ul>
|
||||
<li>Karfreitag (Fr): fr (Wochentag gewinnt)</li>
|
||||
<li>Ostermontag (Mo-Feiertag): so</li>
|
||||
<li>Christi Himmelfahrt (Do-Feiertag): so</li>
|
||||
<li>Mittwoch vor Christi Himmelfahrt: fr</li>
|
||||
<li>Tag der Deutschen Einheit 2025 (Fr): fr</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -301,6 +323,7 @@
|
|||
|
||||
<!-- Scripts -->
|
||||
<script src="holidays.js"></script>
|
||||
<script src="variants.js"></script>
|
||||
<script src="calculator.js"></script>
|
||||
<script src="storage.js"></script>
|
||||
<script src="app.js"></script>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue