@extends('adminlte::page') @section('title', 'Smart Analisis Kinerja Guru') @section('plugins.Select2', true) @section('plugins.Datatables', true) @section('content_header')

Smart Analisis Kinerja

Papan pemuka interaktif analisis durasi mengajar, beban kerja, dan sebaran lembaga.

Ekspor Laporan PDF
@stop @section('content')
{{-- ========================================== KARD FILTER (PENCARIAN) ========================================== --}}
{{-- 1. Penapis Tarikh --}}
-
{{-- 2. Penapis Lembaga --}}
{{-- 3. Penapis Guru --}}
{{-- 4. Butang --}}
{{-- ========================================== MAKLUMAT KESELURUHAN (GRADIENT INFO CARDS) ========================================== --}} @php // Hitung Grand Total Jam Mengajar Global $grandTotalMenit = collect($laporanKinerja)->sum('total_menit_raw'); $gTJam = floor($grandTotalMenit / 60); $gTMenit = $grandTotalMenit % 60; $grandTotalJamTeks = ($gTJam > 0 ? $gTJam . ' Jam ' : '') . $gTMenit . ' Mnt'; @endphp
Total Pendidik

{{ count($laporanKinerja) }} Guru

Sesi Selesai

{{ collect($laporanKinerja)->sum('hadir_bulan_ini') }} Sesi

Produktivitas Waktu

{{ $grandTotalJamTeks }}

Total Alpa / Ditinggalkan

{{ collect($laporanKinerja)->sum('alpa_bulan_ini') }} Kelas

{{-- ========================================== JADUAL REKAP KINERJA (DATATABLES) ========================================== --}}

Rincian Durasi & Beban Kerja

@forelse($laporanKinerja as $index => $row) @php $guru = $row['guru']; $persen = $row['persentase']; // Logik Warna Bar & Teks Status $barColor = 'bg-success'; $textStatus = 'Disiplin Baik'; $statusIcon = 'fa-check-circle text-success'; if ($persen < 75) { $barColor = 'bg-danger'; $textStatus = 'Perlu Teguran'; $statusIcon = 'fa-exclamation-triangle text-danger'; } elseif ($persen < 90) { $barColor = 'bg-warning'; $textStatus = 'Kurang Disiplin'; $statusIcon = 'fa-exclamation-circle text-warning'; } // Logik Avatar $colors = ['primary', 'success', 'danger', 'warning', 'info', 'indigo', 'purple', 'teal']; $color = $colors[$guru->id % count($colors)]; $initial = strtoupper(substr($guru->name ?? 'X', 0, 1)); @endphp {{-- IDENTITAS --}} {{-- DURASI MENGAJAR --}} {{-- DISTRIBUSI LEMBAGA --}} {{-- CATATAN ALPA --}} {{-- STATUS KINERJA --}} @empty @endforelse
No Identitas Guru Durasi Mengajar Distribusi Lembaga / Unit Catatan Alpa Status Kinerja
{{ $index + 1 }}
{{ $initial }}
{{ $guru->name }} NIP: {{ $guru->username ?? '-' }}
Bln: {{ $row['jam_bulan_ini'] }} Mgg Ini: {{ $row['jam_minggu_ini'] }}
@if(count($row['sebaran_lembaga']) > 0)
@foreach($row['sebaran_lembaga'] as $lembaga) {{ $lembaga['lembaga'] }}: {{ $lembaga['durasi'] }} @endforeach
@else - Belum Mengajar - @endif
Bln Ini: {{ $row['alpa_bulan_ini'] }} @if($row['alpa_minggu_ini'] > 0) Mgg Ini: {{ $row['alpa_minggu_ini'] }} Alpa @endif
Hadir: {{ $persen }}% {{ $textStatus }}
Tiada Data Guru Dijumpai

Coba sesuaikan tanggal, lembaga, atau pilih guru lain.

@stop @section('css') @stop @section('js') @stop