{{-- resources/views/admin/kesiswaan/absensi-siswa/rekap.blade.php --}} @extends('layouts.admin') @section('title', 'Buku Jurnal Absensi Siswa') @section('content') @php $mapelId = $jadwalInfo->mapel_id ?? request()->route('mapelId'); $guruId = $jadwalInfo->guru_id ?? 0; $jadwalIds = \App\Models\Akademik\JadwalPelajaran::where('kelas_id', $kela->id) ->where('mapel_id', $mapelId) ->pluck('id')->join(','); $absRecords = \App\Models\Kesiswaan\SiswaAbsensiKbm::where('kelas_id', $kela->id) ->where('mapel_id', $mapelId) ->get(); $detailAbsensi = []; $matriksTotal = []; foreach($siswas as $s) { $matriksTotal[$s->id] = ['Hadir' => 0, 'Sakit' => 0, 'Ijin' => 0, 'Alfa' => 0, 'Dispen' => 0]; } foreach($absRecords as $r) { $tglStr = \Carbon\Carbon::parse($r->tanggal)->format('Y-m-d'); $detailAbsensi[$r->siswa_id][$tglStr] = [ 'status' => $r->status, 'keterangan' => $r->keterangan ]; if(!isset($hitungTotalHarian[$r->siswa_id][$tglStr])) { if(isset($matriksTotal[$r->siswa_id][$r->status])) { $matriksTotal[$r->siswa_id][$r->status]++; } $hitungTotalHarian[$r->siswa_id][$tglStr] = true; // Tandai hari ini sudah dihitung } } @endphp

Buku Jurnal Absensi (Ledger)

Matriks Kehadiran Siswa Per Mata Pelajaran.
Kembali ke Rekap
Avatar Guru
Guru Pengampu

{{ $jadwalInfo->guru->name ?? 'Belum Ditentukan' }}

NIP: {{ $jadwalInfo->guru->status?->nip ?? $jadwalInfo->guru->status?->nuptk ?? '-' }}
MATA PELAJARAN
{{ $jadwalInfo->mapel->mapelNama->nama_mapel ?? '-' }}
KELAS / ROMBEL {{ $kela->rombel?->levelKelas?->level_kelas ?? '-' }} - {{ $kela->rombel?->rombel ?? '-' }} ({{ ($kela->rombel?->jenkel ?? '') == 'L' ? 'Putra' : 'Putri' }})
PERIODE AKADEMIK Semester {{ $kela->semester?->semester ?? '-' }} • TA: {{ $kela->tahunAjaran?->tahun_ajaran ?? '-' }}
@if(count($pertemuanDates) > 0) @else @endif @foreach($pertemuanDates as $index => $tgl) @endforeach @forelse($siswas as $index => $siswa) @foreach($pertemuanDates as $tgl) @php $statusInisial = $matrix[$siswa->id][$tgl] ?? '-'; $detail = $detailAbsensi[$siswa->id][$tgl] ?? null; $statusFull = $detail ? $detail['status'] : ''; $keterangan = $detail ? $detail['keterangan'] : ''; $textClass = 'text-muted'; if($statusInisial == 'H') $textClass = 'text-success fw-bold fs-5'; elseif($statusInisial == 'S') $textClass = 'text-warning fw-bold fs-5'; elseif($statusInisial == 'I') $textClass = 'text-info fw-bold fs-5'; elseif($statusInisial == 'A') $textClass = 'text-danger fw-bold fs-5'; elseif($statusInisial == 'D') $textClass = 'text-secondary fw-bold fs-5'; @endphp @endforeach @empty @endforelse
No Nama SiswaTatap Muka Ke- / Tanggal PertemuanBelum ada data tatap mukaTotal Kehadiran
{{ $index + 1 }}
{{ \Carbon\Carbon::parse($tgl)->format('d/m') }}
H S I A D
{{ $index + 1 }}
{{ $siswa->name }}
{{ $siswa->nipd ?? '-' }}
@if($statusInisial != '-') @else - @endif {{ $matriksTotal[$siswa->id]['Hadir'] > 0 ? $matriksTotal[$siswa->id]['Hadir'] : '-' }} {{ $matriksTotal[$siswa->id]['Sakit'] > 0 ? $matriksTotal[$siswa->id]['Sakit'] : '-' }} {{ $matriksTotal[$siswa->id]['Ijin'] > 0 ? $matriksTotal[$siswa->id]['Ijin'] : '-' }} {{ $matriksTotal[$siswa->id]['Alfa'] > 0 ? $matriksTotal[$siswa->id]['Alfa'] : '-' }} {{ $matriksTotal[$siswa->id]['Dispen'] > 0 ? $matriksTotal[$siswa->id]['Dispen'] : '-' }}
Belum ada siswa di kelas ini.
@push('styles') @endpush @push('scripts') @endpush @endsection