{% extends "base.html" %} {% block title %}Zeitkonto / Gleitzeit{% endblock %} {% block heading %}⏱️ Zeitkonto · Gleitzeit-Salden{% endblock %} {% block breadcrumb %}

Personal / Zeitkonto

{% endblock %} {% block content %}

Übersicht aller aktiven Mitarbeiter mit ihrem aktuellen Gleitzeit-Saldo. Plus = Überstunden · Minus = Untererfüllung. Klick auf einen Mitarbeiter zeigt die tägliche Historie + Auszahlungs-Berechnung beim Austritt.

{{ users|length }} Mitarbeiter

{% for u in users %} {% set bal_min = u.time_account_balance_minutes or 0 %} {% set bal_h = (bal_min / 60.0) %} {% set wh = (u.weekly_hours or 40) %} {% set bal_d = (bal_h / (wh / 5.0)) if wh else 0 %} {% else %} {% endfor %}
Mitarbeiter Wochen-Soll Saldo (Stunden) Saldo (Tage) Visualisierung
{{ u.first_name }} {{ u.last_name }} {% if u.email %}
{{ u.email }}
{% endif %}
{{ u.weekly_hours or 40 }} h/Woche {{ "%+.2f"|format(bal_h) }} h {{ "%+.1f"|format(bal_d) }} T {# Visual: ±20h Spannweite, 0 in Mitte #} {% set max_range = 1200 %}{# ±20 h in min #} {% set pct = ([(bal_min / max_range), -1]|max if bal_min < 0 else [(bal_min / max_range), 1]|min) %} {% set width_pct = (pct * 50) %}
{% if bal_min >= 0 %}
{% else %}
{% endif %}
Details
Keine aktiven Mitarbeiter erfasst.

Berechnung: Saldo = Σ (Ist-Minuten − Soll-Minuten) über alle Tage. Tägliche Einträge können automatisch aus Schichten/Time-Entries gefeedet werden (Helper upsert_time_account_entry()). Manuelle Korrekturen über die Detail-Seite.

{% endblock %}