{{-- LOGIKA DATA LEMBAGA DARI PENGATURAN CERDAS --}} @php $lembagaId = $sekolah->id ?? null; // Ambil setting khusus sekolah ini, jika tidak ada, ambil setting yayasan $schoolSetting = \App\Models\CmsSetting::where('lembaga_id', $lembagaId)->first(); if(!$schoolSetting) { $schoolSetting = \App\Models\CmsSetting::first(); } @endphp {{-- 1. KOP SURAT DINAMIS --}}
@if(!empty($schoolSetting->kop_surat)) {!! $schoolSetting->kop_surat !!} @else

[Kop Surat Belum Diatur di Pengaturan Format Surat]

@endif
{{-- 2. JUDUL LAPORAN --}}

LAPORAN KEHADIRAN KBM

Periode: {{ \Carbon\Carbon::parse($startDate)->translatedFormat('d F Y') }} s/d {{ \Carbon\Carbon::parse($endDate)->translatedFormat('d F Y') }}

@if(isset($mapelInfo) && $mapelInfo)

Mata Pelajaran: {{ $mapelInfo->nama_mapel }}

@else

Mata Pelajaran: SEMUA MATA PELAJARAN

@endif
{{-- 3. LOGIKA TAMPILAN --}} @if($mode == 'siswa') {{-- ========================================== --}} {{-- MODE A: DETAIL PERSONAL SISWA --}} {{-- ========================================== --}} {{-- KOLOM DATA --}} {{-- KOLOM FOTO DENGAN BASE64 (Khusus Foto Siswa Tetap Dipertahankan) --}}
Nama Siswa:{{ $siswa->nama_lengkap }}
NIS / NISN:{{ $siswa->nis }} / {{ $siswa->nisn }}
Kelas:{{ $siswa->kelas->nama_kelas }}
Semester:Genap {{ date('Y') }}
{{-- Ringkasan Statistik --}}
Ringkasan Kehadiran:
Hadir: {{ $hadir }} Sakit: {{ $sakit }} Izin: {{ $izin }} Alpa: {{ $alpa }} Total: {{ $hadir+$sakit+$izin+$alpa }}
@php $fotoBase64 = null; if (!empty($siswa->foto_url)) { $fotoPath = base_path('../public_html/storage/' . $siswa->foto_url); if (file_exists($fotoPath)) { $type = pathinfo($fotoPath, PATHINFO_EXTENSION); $data = file_get_contents($fotoPath); $fotoBase64 = 'data:image/' . $type . ';base64,' . base64_encode($data); } } @endphp @if($fotoBase64) @else
FOTO 3x4
@endif
{{-- BAGIAN B: PERFORMA PER MAPEL --}} @if(isset($breakdownMapel) && count($breakdownMapel) > 0)
B. Performa Per Mata Pelajaran: @foreach($breakdownMapel as $item) @endforeach
Mata Pelajaran Total Sesi Hadir Absen Persentase
{{ $item->nama_mapel }} {{ $item->total }} {{ $item->hadir }} {{ $item->total - $item->hadir }} {{ $item->persen }}%

C. Rincian Riwayat KBM

@else

Rincian Riwayat KBM

@endif {{-- BAGIAN C: TABEL RIWAYAT --}} @forelse($riwayat as $idx => $row) @empty @endforelse
No Waktu Mata Pelajaran Guru Pengajar Status Keterangan
{{ $idx + 1 }} {{ $row->created_at->format('d/m/Y H:i') }} {{ $row->sesiPembelajaran->jadwal->mataPelajaran->nama_mapel ?? '-' }} {{ $row->sesiPembelajaran->user->name ?? '-' }} @if($row->status_kehadiran == 'Hadir') Hadir @else {{ $row->status_kehadiran }} @endif {{ $row->keterangan ?? '-' }}
Tidak ada data kehadiran pada periode ini.
@else {{-- ========================================== --}} {{-- MODE B: REKAPITULASI SATU KELAS --}} {{-- ========================================== --}}
Kelas:{{ $kelasInfo->nama_kelas ?? 'Semua' }} Wali Kelas:{{ $kelasInfo->waliKelas->name ?? '-' }}
Jumlah:{{ $rekapKelas->count() }} Siswa
@foreach($rekapKelas as $idx => $row) @endforeach
No Nama Siswa Rincian Kehadiran Persentase
Kehadiran
Hadir Sakit Izin Alpa
{{ $idx + 1 }} {{ $row['siswa']->nama_lengkap }} {{ $row['h'] }} {{ $row['s'] }} {{ $row['i'] }} {{ $row['a'] }} {{ $row['p'] }}%
@endif {{-- 4. FOOTER TANDA TANGAN --}}