{{-- resources/views/admin/kesiswaan/absensi-siswa/show.blade.php --}} @extends('layouts.admin') @section('title', 'Rekap Absensi') @section('content')

Rombel: {{ $kela->rombel?->levelKelas?->level_kelas ?? '-' }} - {{ $kela->rombel?->rombel ?? '-' }} ({{ ($kela->rombel?->jenkel ?? '') == 'L' ? 'Putra' : 'Putri' }}) - Semester {{ $kela->semester?->semester ?? '-' }}

Manajemen & Rekapitulasi Absensi Siswa.
@php $groupedJadwals = $jadwals->groupBy('mapel_id'); @endphp @if($groupedJadwals->count() > 0)
Mata Pelajaran
@if($activeTab == 'harian') {{-- KONTEN TAB HARIAN (INPUT ABSENSI - FORMAT TABEL) --}}
@csrf
Absensi: {{ $namaHari }}, {{ \Carbon\Carbon::parse($selectedDate)->translatedFormat('d F Y') }}
@foreach($groupedJadwals as $mapelId => $jadwalGroup) @php $firstJadwal = $jadwalGroup->first(); @endphp
{{ $firstJadwal->mapel->mapelNama->nama_mapel ?? '-' }}
Pengampu: {{ $firstJadwal->guru->name ?? '-' }} | Jam Ke: @foreach($jadwalGroup as $j) {{ $j->jamPelajaran->jam_ke ?? '-' }} @endforeach
@forelse ($siswas as $siswa) @php $rec = $absensiData[$siswa->id][$mapelId] ?? null; $statusTerpilih = $rec ? $rec->status : ''; $keterangan = $rec ? $rec->keterangan : ''; @endphp @empty @endforelse
No Nama Siswa Status Keterangan Simpan
{{ $loop->iteration }}
{{ $siswa->name }}
{{ $siswa->nipd ?? '-' }}
Belum ada siswa terdaftar.
@endforeach
@if($siswas->count() > 0)
Tombol ini menyimpan data semua siswa pada mapel aktif sekaligus.
@endif
@else
Rekapitulasi: {{ ucfirst($activeTab) }} {{ $activeTab == 'semester' ? $kela->semester?->semester : '' }} @if($activeTab != 'semester') - Acuan: {{ \Carbon\Carbon::parse($selectedDate)->translatedFormat('d M Y') }} @endif
@if($activeTab != 'semester')
Ganti Tanggal:
@endif
@foreach($groupedJadwals as $mapelId => $jadwalGroup) @php $firstJadwal = $jadwalGroup->first(); $tglAcuan = \Carbon\Carbon::parse($selectedDate); $start = $tglAcuan->copy()->startOfWeek(); $end = $tglAcuan->copy()->endOfWeek(); if ($activeTab == 'bulan') { $start = $tglAcuan->copy()->startOfMonth(); $end = $tglAcuan->copy()->endOfMonth(); } $ketQuery = \App\Models\Kesiswaan\SiswaAbsensiKbm::where('kelas_id', $kela->id) ->where('mapel_id', $mapelId) ->whereNotNull('keterangan') ->where('keterangan', '!=', ''); if ($activeTab != 'semester') { $ketQuery->whereBetween('tanggal', [$start, $end]); } $semuaKeteranganMapel = $ketQuery->orderBy('tanggal', 'asc')->get()->groupBy('siswa_id'); @endphp
{{ $firstJadwal->mapel->mapelNama->nama_mapel ?? '-' }}
Guru: {{ $firstJadwal->guru->name ?? '-' }}
Buka Jurnal
@forelse ($siswas as $siswa) @php $r = $rekapData[$siswa->id][$mapelId] ?? ['Hadir' => 0, 'Sakit' => 0, 'Ijin' => 0, 'Alfa' => 0, 'Dispen' => 0]; $keteranganSiswa = $semuaKeteranganMapel->get($siswa->id, collect()); @endphp @empty @endforelse
No Nama Siswa H S I A D Log Keterangan
{{ $loop->iteration }}
{{ $siswa->name }}
{{ $siswa->nipd ?? '-' }}
{{ $r['Hadir'] }} {{ $r['Sakit'] }} {{ $r['Ijin'] }} {{ $r['Alfa'] }} {{ $r['Dispen'] }} @if($keteranganSiswa->count() > 0)
    @foreach($keteranganSiswa as $ket)
  • {{ \Carbon\Carbon::parse($ket->tanggal)->format('d/m') }} {{ $ket->status }}: {{ $ket->keterangan }}
  • @endforeach
@else - @endif
Belum ada siswa terdaftar.
@endforeach
@endif
@else

Belum Ada Jadwal Mata Pelajaran

Silakan tambahkan jadwal untuk kelas ini di menu Akademik terlebih dahulu.

@endif
@push('styles') @endpush @push('scripts') @if($activeTab == 'harian' && $groupedJadwals->count() > 0) @endif @endpush @endsection