{{-- resources/views/admin/kegiatan/riwayat/show.blade.php --}} @extends('layouts.app') @section('content') @php // Ambil range dari query string (diteruskan dari index) $defaultDari = now()->startOfWeek(\Carbon\Carbon::MONDAY)->format('Y-m-d'); $defaultSampai = now()->endOfWeek(\Carbon\Carbon::SUNDAY)->format('Y-m-d'); $filterDari = request('tanggal_dari', $defaultDari); $filterSampai = request('tanggal_sampai', $defaultSampai); $filterBulan = request('bulan', ''); if ($filterBulan) { $periodeLabel = 'Bulan ' . \Carbon\Carbon::parse($filterBulan . '-01')->locale('id')->isoFormat('MMMM Y'); } else { $periodeLabel = \Carbon\Carbon::parse($filterDari)->locale('id')->isoFormat('D MMM Y') . ' โ ' . \Carbon\Carbon::parse($filterSampai)->locale('id')->isoFormat('D MMM Y'); } // Hitung KPI dari data yang sudah difilter (semua halaman, bukan hanya halaman ini) // $stats sudah dihitung di controller berdasarkan filter โ gunakan langsung // Tapi jika controller belum menghitung per filter, hitung dari koleksi paginator saat ini // Gunakan $stats dari controller jika ada, fallback ke hitung manual $statsHadir = $stats['Hadir'] ?? 0; $statsTerlambat = $stats['Terlambat'] ?? 0; $statsIzin = $stats['Izin'] ?? 0; $statsSakit = $stats['Sakit'] ?? 0; $statsAlpa = $stats['Alpa'] ?? 0; $statsPulang = $stats['Pulang'] ?? 0; @endphp
Sudah absen: {{ $totalRecorded }} ยท Belum absen: {{ max(0, $totalSantriEligible - $totalRecorded) }}
| No | ID Santri | Nama Santri | Status | Waktu | Metode |
|---|---|---|---|---|---|
| {{ $index + 1 }} | {{ $riwayat->id_santri }} | {{ $riwayat->santri->nama_lengkap }} | {!! $riwayat->status_badge !!} | {{ $riwayat->waktu_absen ? \Carbon\Carbon::parse($riwayat->waktu_absen)->format('H:i') : '-' }} | @if($riwayat->metode_absen == 'RFID') RFID @elseif($riwayat->metode_absen == 'Import_Mesin') Mesin @else Manual @endif |
Tidak ada data absensi untuk periode {{ $periodeLabel }}.