Travaillé
{{ result.total_travaille }}
Dû par jour
{{ result.heures_jour }}
Dû cette semaine
{{ result.total_du }}
Solde semaine
{% if result.solde_min > 0 %}+{% endif %}{{ result.solde }}
{% if result.slots_restants > 0 %}
{% if result.extra_min > 0 %} Reste à faire : {{ result.reste }} sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }} — à rattraper : +{{ result.extra }} (~+{{ result.moyenne_extra }} chacune) {% elif result.avance_min > 0 %} Reste à faire : {{ result.reste }} sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }} — avance à écouler : {{ result.avance }}, répartie sur les départs du soir pour finir la semaine à 0. {% elif result.reste_min > 0 %} Reste à faire : {{ result.reste }} sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }} — le rythme habituel suffit, rien à rattraper. {% else %} Vous êtes à jour ou en avance — rien à rattraper cette semaine. {% endif %}
{% elif result.solde_min < 0 %}
Semaine terminée avec {{ result.solde }} de manque — complétez ou corrigez les saisies, ou rattrapez sur une autre semaine.
{% endif %} {% if result.astreinte and result.astreinte.actif %}
Astreinte — compteur séparé, hors heures de semaine
Décompte par quarts d'heure de l'horloge (:00, :15, :30, :45) : tout quart entamé compte 15 min entières, et un quart partagé par deux interventions n'est compté qu'une seule fois. Ex. 22:39 → 23:49 = 1h10 réelles mais 6 quarts touchés (22:30 → 00:00) = 1h30.
{% for j in result.astreinte.jours %}
{{ j.jour }} {{ j.date[8:] }}/{{ j.date[5:7] }} {% if j.forfait_min %}forfait + {{ j.forfait_h }}{% endif %} {% if j.total_min %}astreinte {{ j.total_h }} → {{ j.total_pondere_h }} pondérées{% endif %}
{% for ev in j.events %}
{{ ev.debut }} → {{ ev.fin }} {% if ev.desc %}{{ ev.desc }}{% endif %} {% if ev.tranches %} {{ ev.tranches }} quart{{ 's' if ev.tranches > 1 else '' }} ({{ ev.tranches_debut }} → {{ ev.tranches_fin }}) = {{ ev.min_h }} {% for d in ev.details %}{{ d.nom }} ×{{ d.facteur_txt }}{% if not loop.last %} + {% endif %}{% endfor %} pondéré → {{ ev.pondere_h }} {% else %} 0 quart — déjà compté {% endif %}
{% endfor %}
{% endfor %}
{% for c in result.astreinte.categories %}{{ c.nom }} : {{ c.min_h }} ×{{ c.facteur_txt }} = {{ c.pondere_h }}{% endfor %} {% if result.astreinte.total_forfait_min %}forfaits + {{ result.astreinte.total_forfait_h }} (dans le travaillé){% endif %} total {{ result.astreinte.total_h }} → {{ result.astreinte.total_pondere_h }} pondérées
{% endif %}