{% extends "base.html" %} {% block content %}

Late Report Summary

Range: {{ start_date }} to {{ end_date }} · Grace: {{ grace_minutes }} min · Min late: {{ min_late_minutes }} min
Rows: {{ total_in_page }} Late: {{ late_count }} Avg Late: {{ avg_late }} min Download PDF
Reset
{% if rows|length == 0 %} {% endif %} {% for r in rows %} {% set emp = r.employee %} {% set att = r.attendance %} {% endfor %}
Date Emp Department Location Mode Shift Start Shift End Check In Check Out Status Source Late (min) Remarks
No records found for selected filters.
{{ att.date }}
{{ emp.full_name }}
{{ emp.employee_code }}
{{ emp.department.name if emp.department else '-' }} {{ emp.location or '-' }} {{ emp.work_mode or '-' }} {{ r.shift_start.strftime('%H:%M') if r.shift_start else '-' }} {{ r.shift_end.strftime('%H:%M') if r.shift_end else '-' }} {{ att.check_in_time.strftime('%H:%M') if att.check_in_time else '-' }} {{ att.check_out_time.strftime('%H:%M') if att.check_out_time else '-' }} {{ att.status }} {{ att.source or '-' }} {% if r.late_minutes is none %} - {% else %} {% set mins = r.late_minutes|int %} {% set hh = (mins // 60) %} {% set mm = (mins % 60) %} {{ "%02d"|format(hh) }}:{{ "%02d"|format(mm) }} {% endif %} {{ att.remarks or '-' }}
{% endblock %}