📄 Bordro Hesaplama

{% if payroll_results %}

📄 Bordro Sonuçları

{% for result in payroll_results %} {% endfor %}
Ad Soyad Durum Net Maaş (TL)
{{ result.user.first_name }} {{ result.user.last_name }} {{ result.status }} {{ "%.2f"|format(result.net_salary) }}
{% if result.status == "❌ Maaş bilgisi bulunamadı" %} {% else %} 📌 Çalışma Detayları:
🔹 **Toplam Çalışma:** {{ "%.2f"|format(result.worked_hours) }} saat
🔹 **Normal Çalışma:** {{ "%.2f"|format(result.normal_hours) }} saat x {{ "%.2f"|format(result.hourly_rate) }} TL = {{ "%.2f"|format(result.normal_pay) }} TL
{% for normal in result.normal_details %}
     ➤ {{ normal.date }} - {{ "%.2f"|format(normal.hours) }} saat = {{ "%.2f"|format(normal.amount) }} TL {% endfor %}
🔹 **Fazla Mesai:** {{ "%.2f"|format(result.overtime_hours) }} saat = {{ "%.2f"|format(result.overtime_pay) }} TL
{% for ot in result.overtime_details %}
     ➤ {{ ot.date }} - {{ "%.2f"|format(ot.hours) }} saat x {{ "%.2f"|format(ot.multiplier) }} = {{ "%.2f"|format(ot.amount) }} TL {% endfor %}
🔹 **Özel Gün Çalışmaları:** {{ "%.2f"|format(result.special_day_hours) }} saat = {{ "%.2f"|format(result.special_day_pay) }} TL
{% for special in result.special_day_details %}
     ➤ {{ special.date }} - {{ "%.2f"|format(special.hours) }} saat x {{ "%.2f"|format(special.multiplier) }} = {{ "%.2f"|format(special.amount) }} TL {% endfor %}
🔹 **Senelik İzin:** {{ "%.2f"|format(result.annual_leave_hours) }} saat x {{ "%.2f"|format(result.hourly_rate) }} TL = + {{ "%.2f"|format(result.annual_leave_pay) }} TL
{% endif %}
{% endif %}