Detail Data Siswa

Index / Detail Data

{{-- Detail Siswa --}}
Preview

{{ $siswa->nama_siswa }}

{{ $siswa->nis }} / {{ $siswa->nisn }}

Jenis Kelamin
: {{ $siswa->jenis_kelamin }}
Tempat Lahir
: {{ $siswa->tempat_lahir ?? '-' }}
Tanggal Lahir
: {{ $siswa->tanggal_lahir ? $siswa->tanggal_lahir->format('d F Y') : '-' }}
Agama
: {{ $siswa->agama }}
No. HP Siswa
: {{ $siswa->no_hp_siswa ?? '-' }}
Kelas
: {{ $siswa->kelas->nama_kelas_nomor }}{{ $siswa->kelas->nama_kelas_sub ?? '' }} ({{ $siswa->kelas->nama_kelas_romawi }}{{ $siswa->kelas->nama_kelas_sub ?? '' }})
Angkatan
: {{ $siswa->angkatan }}
Status
: {{ $siswa->status }}
Alamat
:
{{ $siswa->alamat ?? '-' }}
Nama Ayah
: {{ $siswa->nama_ayah ?? '-' }}
Pekerjaan Ayah
: {{ $siswa->pekerjaanAyah->nama_pekerjaan ?? '-' }}
Nama Ibu
: {{ $siswa->nama_ibu ?? '-' }}
Pekerjaan Ibu
: {{ $siswa->pekerjaanIbu->nama_pekerjaan ?? '-' }}
No. HP Ortu
: {{ $siswa->no_hp_ortu ?? '-' }}
{{-- Rekap Nilai Siswa --}} @php // Define toRoman function once before loop if (!function_exists('toRoman')) { function toRoman($num) { $map = [ 'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1, ]; $returnValue = ''; foreach ($map as $roman => $int) { while ($num >= $int) { $returnValue .= $roman; $num -= $int; } } return $returnValue; } } @endphp @if ($nilaiData->isNotEmpty()) @foreach ($nilaiData as $tahunAjaran => $bookHeads) @php $ganjil = $bookHeads->where('semester', 'Ganjil')->first(); $genap = $bookHeads->where('semester', 'Genap')->first(); $angka = $ganjil->nama_kelas_nomor ?? ($genap->nama_kelas_nomor ?? '-'); @endphp
{{-- Header --}}

Rekap Nilai Kelas {{ is_numeric($angka) ? toRoman((int) $angka) : '-' }} ({{ $ganjil->nama_kelas_nomor ?? ($genap->nama_kelas_nomor ?? '-') }}), Tahun Ajaran {{ $tahunAjaran }}

{{-- Tabs --}}
@if ($ganjil) @endif @if ($genap) @endif
{{-- Tab Content Ganjil --}} @if ($ganjil)
@php $rowNumber = 1; // Group details by mapel_head_id $groupedDetails = $ganjil->details->groupBy('mapel_head_id'); @endphp @forelse($groupedDetails as $mapelHeadId => $details) @php $firstDetail = $details->first(); // Get mapel head - if detail has mapel_detail_id, get from mapelDetail->mapelHead if ( $firstDetail->mapel_detail_id && $firstDetail->mapelDetail && $firstDetail->mapelDetail->mapelHead ) { $mapelHead = $firstDetail->mapelDetail->mapelHead; } else { $mapelHead = $firstDetail->mapelHead; } // Check if this mapel has sub mapel (mapel_detail_id is not null) $hasSubMapel = $details ->where('mapel_detail_id', '!=', null) ->isNotEmpty(); if ($hasSubMapel) { // Filter only sub mapels $subMapels = $details->where('mapel_detail_id', '!=', null); $rowspan = $subMapels->count() + 1; } else { $rowspan = 1; } @endphp {{-- Main Mapel Row --}} {{-- Sub Mapel Rows --}} @if ($hasSubMapel) @foreach ($subMapels as $index => $subDetail) @endforeach @endif @empty @endforelse
No Mata Pelajaran Nilai Akhir Deskripsi
{{ $rowNumber++ }}. {{ $mapelHead->nama_mapel ?? '-' }} @if (!$hasSubMapel) {{ $firstDetail->nilai_akhir ?? '-' }} @endif @if (!$hasSubMapel) {{ $firstDetail->deskripsi ?? '-' }} @endif
{{ chr(65 + $index) }}. {{ $subDetail->mapelDetail->nama_mapel_detail ?? '-' }} {{ $subDetail->nilai_akhir ?? '-' }} {{ $subDetail->deskripsi ?? '-' }}
Tidak ada data nilai
Jumlah Nilai Akhir {{ number_format($ganjil->jml_nilai_akhir) }}
@endif {{-- Tab Content Genap --}} @if ($genap) @endif
@endforeach @else

Belum ada data nilai untuk siswa ini

@endif
{{-- Tab Switching Script --}}