{{-- ========================================================= KOP SEKOLAH ========================================================== --}}

YAYASAN PENDIDIKAN DAN KETERAMPILAN BINA BAKTI

DINAS PENDIDIKAN DAN KEBUDAYAAN

SMK BINA BAKTI MAWASANGKA

Alamat: Jl. Padangkuku No. 1, Kel. Watolo, Kec. Mawasangka, Kab. Buton Tengah, Prov. Sulawesi Tenggara 93762

Email: smkbinabaktimawasangka@gmail.com | Website: https://smk.binabaktimawasangka.sch.id


LAPORAN REKAPITULASI ABSENSI GURU

Bulan: {{ $namaBulan }} {{ $tahun }}

{{-- ========================================================= FILTER ========================================================== --}}
Guru {{ $selectedGuru?->nama ?? 'Semua Guru' }} @if($selectedGuru) ({{ $selectedGuru->nip ?? '-' }}) @endif Bulan {{ $namaBulan }} Tahun {{ $tahun }}
{{-- ========================================================= 1. REKAP KEHADIRAN GURU ========================================================== --}}
1. REKAP KEHADIRAN GURU
Rekap jumlah status absensi berdasarkan status_masuk pada database.
@forelse($rekapGuru ?? [] as $index => $data) @php $hadir = (int) ($data['hadir'] ?? 0); $terlambat = (int) ($data['terlambat'] ?? 0); $totalKehadiran = $hadir + $terlambat; @endphp @empty @endforelse
No Nama Guru NIP Hadir Terlambat Izin Sakit Alpha Bolos Total Kehadiran
{{ $index + 1 }} {{ $data['nama'] ?? '-' }} {{ $data['nip'] ?? '-' }} {{ $hadir }} {{ $terlambat }} {{ (int) ($data['izin'] ?? 0) }} {{ (int) ($data['sakit'] ?? 0) }} {{ (int) ($data['alpha'] ?? 0) }} {{ (int) ($data['bolos'] ?? 0) }} {{ $totalKehadiran }}
Belum ada data rekap kehadiran guru.
{{-- ========================================================= 2. PERSENTASE KEHADIRAN GURU ========================================================== --}}
2. PERSENTASE KEHADIRAN GURU
PERSENTASE KEHADIRAN KESELURUHAN {{ number_format($persentaseKeseluruhan ?? 0, 2, ',', '.') }}%
Hari Kerja {{ $hariKerja ?? 0 }} hari
Keterangan Hadir + Terlambat dihitung sebagai kehadiran.
@forelse($rekapGuru ?? [] as $index => $data) @php $jumlahHadir = (int) ($data['hadir'] ?? 0) + (int) ($data['terlambat'] ?? 0); @endphp @empty @endforelse
No Nama Guru NIP Hari Kerja Jumlah Kehadiran Persentase Kehadiran
{{ $index + 1 }} {{ $data['nama'] ?? '-' }} {{ $data['nip'] ?? '-' }} {{ $data['hari_kerja'] ?? $hariKerja ?? 0 }} {{ $jumlahHadir }} {{ number_format($data['persentase'] ?? 0, 2, ',', '.') }}%
Belum ada data persentase kehadiran guru.
{{-- ========================================================= 3. DETAIL ABSENSI GURU ========================================================== --}}
3. DETAIL ABSENSI GURU
Status detail mengikuti field status_masuk pada database agar sama dengan rekap di atas.
@forelse($absensis ?? [] as $index => $absen) @php $status = strtolower(trim($absen->status_masuk ?? '')); $statusClass = match ($status) { 'hadir' => 'badge-hadir', 'terlambat' => 'badge-terlambat', 'izin' => 'badge-izin', 'sakit' => 'badge-sakit', 'alpha' => 'badge-alpha', 'bolos' => 'badge-bolos', default => '', }; $statusText = $status !== '' ? strtoupper($status) : '-'; @endphp @empty @endforelse
No Tanggal Nama Guru NIP Jam Masuk Jam Pulang Status Keterangan
{{ $index + 1 }} {{ \Carbon\Carbon::parse($absen->tanggal)->format('d/m/Y') }} {{ $absen->guru->nama ?? '-' }} {{ $absen->guru->nip ?? '-' }} {{ $absen->jam_masuk ? \Carbon\Carbon::parse($absen->jam_masuk)->format('H:i') : '-' }} {{ $absen->jam_pulang ? \Carbon\Carbon::parse($absen->jam_pulang)->format('H:i') : '-' }} @if($statusClass) {{ $statusText }} @else {{ $statusText }} @endif {{ $absen->keterangan ?? '-' }}
Tidak ada data absensi guru.
{{-- ========================================================= CATATAN ========================================================== --}}
Catatan: Hadir = hadir tepat waktu, Terlambat = datang melewati batas waktu, Izin = izin resmi, Sakit = sakit, Alpha = tidak hadir tanpa keterangan, Bolos = status bolos yang tersimpan pada database.
{{-- ========================================================= FOOTER ========================================================== --}}
Dicetak: {{ \Carbon\Carbon::now()->format('d/m/Y H:i:s') }}