Laporan Rekap Kehadiran {{ ucfirst(str_replace('_', ' ', $jenisRekap)) }}

Sistem Absensi Sekolah

@if($kelas) @endif @if($status) @endif
Periode : {{ \Carbon\Carbon::parse($tanggalMulai)->format('d F Y') }} s/d {{ \Carbon\Carbon::parse($tanggalSelesai)->format('d F Y') }}
Jenis Rekap : {{ ucfirst(str_replace('_', ' ', $jenisRekap)) }}
Kelas : {{ $kelas }}
Status Filter : {{ ucfirst($status) }}
Tanggal Cetak : {{ $tanggal_cetak }}
@if($jenisRekap == 'gabungan')

KEHADIRAN SISWA

@if($dataSiswa && $dataSiswa->count() > 0) @if($jenisRekap == 'siswa') @else @endif @foreach($dataRekap as $index => $item) @if($jenisRekap == 'siswa') @else @endif @endforeach
NoNama Siswa NIS KelasNama Guru NIP Mata PelajaranTanggal Status Keterangan
{{ $index + 1 }}{{ $item->siswa->nama_siswa ?? '-' }} {{ $item->siswa->nis ?? '-' }} {{ $item->siswa->kelas ?? '-' }}{{ $item->guru->nama_guru ?? '-' }} {{ $item->guru->nip ?? '-' }} {{ $item->guru->mata_pelajaran ?? '-' }}{{ \Carbon\Carbon::parse($item->tanggal)->format('d/m/Y') }} {{ $item->status }} {{ $item->keterangan ?? '-' }}
@else

Tidak ada data kehadiran yang ditemukan untuk periode yang dipilih

@endif @endif @if(($jenisRekap != 'gabungan' && $dataRekap && $dataRekap->count() > 0) || ($jenisRekap == 'gabungan' && (($dataSiswa && $dataSiswa->count() > 0) || ($dataGuru && $dataGuru->count() > 0))))

STATISTIK KEHADIRAN

@if($jenisRekap == 'gabungan') @php $totalDataSiswa = $dataSiswa ? $dataSiswa->count() : 0; $totalDataGuru = $dataGuru ? $dataGuru->count() : 0; $allData = collect(); if($dataSiswa) $allData = $allData->merge($dataSiswa); if($dataGuru) $allData = $allData->merge($dataGuru); $hadirTotal = $allData->where('status', 'Hadir')->count(); $izinTotal = $allData->where('status', 'Izin')->count(); $sakitTotal = $allData->where('status', 'Sakit')->count(); $alpaTotal = $allData->where('status', 'Alpa')->count(); @endphp
SISWA
@if($dataSiswa) @php $hadirSiswa = $dataSiswa->where('status', 'Hadir')->count(); $izinSiswa = $dataSiswa->where('status', 'Izin')->count(); $sakitSiswa = $dataSiswa->where('status', 'Sakit')->count(); $alpaSiswa = $dataSiswa->where('status', 'Alpa')->count(); @endphp Hadir: {{ $hadirSiswa }}
Izin: {{ $izinSiswa }}
Sakit: {{ $sakitSiswa }}
Alpa: {{ $alpaSiswa }}
Total: {{ $totalDataSiswa }} @else Tidak ada data @endif
GURU
@if($dataGuru) @php $hadirGuru = $dataGuru->where('status', 'Hadir')->count(); $izinGuru = $dataGuru->where('status', 'Izin')->count(); $sakitGuru = $dataGuru->where('status', 'Sakit')->count(); $alpaGuru = $dataGuru->where('status', 'Alpa')->count(); @endphp Hadir: {{ $hadirGuru }}
Izin: {{ $izinGuru }}
Sakit: {{ $sakitGuru }}
Alpa: {{ $alpaGuru }}
Total: {{ $totalDataGuru }} @else Tidak ada data @endif
TOTAL KESELURUHAN
{{ $hadirTotal }}
Hadir
{{ $izinTotal }}
Izin
{{ $sakitTotal }}
Sakit
{{ $alpaTotal }}
Alpa
Grand Total: {{ $hadirTotal + $izinTotal + $sakitTotal + $alpaTotal }} Data
@else @php $hadirCount = $dataRekap->where('status', 'Hadir')->count(); $izinCount = $dataRekap->where('status', 'Izin')->count(); $sakitCount = $dataRekap->where('status', 'Sakit')->count(); $alpaCount = $dataRekap->where('status', 'Alpa')->count(); $totalCount = $dataRekap->count(); $hadirPersen = $totalCount > 0 ? round(($hadirCount / $totalCount) * 100, 1) : 0; $izinPersen = $totalCount > 0 ? round(($izinCount / $totalCount) * 100, 1) : 0; $sakitPersen = $totalCount > 0 ? round(($sakitCount / $totalCount) * 100, 1) : 0; $alpaPersen = $totalCount > 0 ? round(($alpaCount / $totalCount) * 100, 1) : 0; @endphp
{{ $hadirCount }}
Hadir ({{ $hadirPersen }}%)
{{ $izinCount }}
Izin ({{ $izinPersen }}%)
{{ $sakitCount }}
Sakit ({{ $sakitPersen }}%)
{{ $alpaCount }}
Alpa ({{ $alpaPersen }}%)
Total Data: {{ $totalCount }}
@if($jenisRekap == 'siswa') @php $uniqueSiswa = $dataRekap->groupBy('siswa.id_siswa')->map(function($items) { return [ 'nama' => $items->first()->siswa->nama_siswa, 'kelas' => $items->first()->siswa->kelas, 'hadir' => $items->where('status', 'Hadir')->count(), 'izin' => $items->where('status', 'Izin')->count(), 'sakit' => $items->where('status', 'Sakit')->count(), 'alpa' => $items->where('status', 'Alpa')->count(), 'total' => $items->count() ]; })->sortByDesc('total'); @endphp @if($uniqueSiswa->count() > 0)

RINGKASAN PER SISWA (Top 10)

@foreach($uniqueSiswa->take(10) as $index => $siswa) @endforeach
No Nama Siswa Kelas Hadir Izin Sakit Alpa Total
{{ $index + 1 }} {{ $siswa['nama'] }} {{ $siswa['kelas'] }} {{ $siswa['hadir'] }} {{ $siswa['izin'] }} {{ $siswa['sakit'] }} {{ $siswa['alpa'] }} {{ $siswa['total'] }}
@endif @endif @endif
@endif No Nama Siswa NIS Kelas Tanggal Status Keterangan @foreach($dataSiswa as $index => $item) {{ $index + 1 }} {{ $item->siswa->nama_siswa ?? '-' }} {{ $item->siswa->nis ?? '-' }} {{ $item->siswa->kelas ?? '-' }} {{ \Carbon\Carbon::parse($item->tanggal)->format('d/m/Y') }} {{ $item->status }} {{ $item->keterangan ?? '-' }} @endforeach @else

Tidak ada data kehadiran siswa

@endif

KEHADIRAN GURU

@if($dataGuru && $dataGuru->count() > 0) @foreach($dataGuru as $index => $item) @endforeach
No Nama Guru NIP Mata Pelajaran Tanggal Status Ket.
{{ $index + 1 }} {{ $item->guru->nama_guru ?? '-' }} {{ $item->guru->nip ?? '-' }} {{ $item->guru->mata_pelajaran ?? '-' }} {{ \Carbon\Carbon::parse($item->tanggal)->format('d/m/Y') }} {{ $item->status }} {{ $item->keterangan ?? '-' }}
@else

Tidak ada data kehadiran guru

@endif @else @if($dataRekap && $dataRekap->count() > 0)