@extends('layouts.app') @section('content')

Rekap Absensi Bulan Berjalan

Data dihitung dari awal bulan sampai tanggal yang dipilih. AI Performance Insight tidak memasukkan karyawan Auto Absen / Jam Flexible ke ranking.

Kembali ke Absensi

Periode: {{ ($startDate ?? $selectedDate->copy()->startOfMonth())->format('d/m/Y') }} - {{ $selectedDate->format('d/m/Y') }}

Total Hadir

{{ $summary['total_present'] }}

Record absen masuk dalam periode

Total Telat

{{ $summary['total_late'] }}

{{ $summary['late_minutes'] }} menit

Pulang Cepat

{{ $summary['total_early_leave'] }}

{{ $summary['early_leave_minutes'] }} menit

Belum Absen Pulang

{{ $summary['total_incomplete'] }}

Record belum lengkap

AI Performance Insight

Ringkasan performa absensi manual periode {{ $performanceInsight['period_label'] ?? ($periodLabel ?? '-') }}. Auto Absen / Jam Flexible tidak masuk ranking.

{{ $performanceInsight['headline'] ?? 'Belum ada data insight.' }}

Manual Dinilai

{{ $performanceInsight['total_manual'] ?? 0 }}

karyawan

Disiplin

{{ $performanceInsight['total_disciplined'] ?? 0 }}

karyawan

Perlu Perhatian

{{ $performanceInsight['total_attention'] ?? 0 }}

karyawan

Auto Dikeluarkan

{{ $performanceInsight['auto_excluded'] ?? 0 }}

record

Top Karyawan Disiplin Bulan Ini

Top 5
@forelse(($performanceInsight['top_disciplined'] ?? collect()) as $index => $employeePerformance)
{{ $index + 1 }}

{{ $employeePerformance['employee_name'] ?? '-' }}

{{ $employeePerformance['disciplined_days'] ?? 0 }} hari disiplin • {{ $employeePerformance['complete_days'] ?? 0 }} hari lengkap

Skor 0
@empty
Belum ada karyawan manual yang masuk kategori disiplin sempurna pada periode ini.
@endforelse

Karyawan Perlu Perhatian

Top 5
@forelse(($performanceInsight['needs_attention'] ?? collect()) as $index => $employeePerformance) @php $reasonParts = []; if (($employeePerformance['missing_check_in_count'] ?? 0) > 0) { $reasonParts[] = ($employeePerformance['missing_check_in_count'] ?? 0) . 'x belum masuk'; } if (($employeePerformance['incomplete_count'] ?? 0) > 0) { $reasonParts[] = ($employeePerformance['incomplete_count'] ?? 0) . 'x belum pulang'; } if (($employeePerformance['late_count'] ?? 0) > 0) { $reasonParts[] = ($employeePerformance['late_count'] ?? 0) . 'x telat (' . ($employeePerformance['total_late_minutes'] ?? 0) . ' menit)'; } if (($employeePerformance['early_leave_count'] ?? 0) > 0) { $reasonParts[] = ($employeePerformance['early_leave_count'] ?? 0) . 'x pulang cepat (' . ($employeePerformance['total_early_leave_minutes'] ?? 0) . ' menit)'; } $reasonText = !empty($reasonParts) ? implode(', ', $reasonParts) : 'perlu dicek'; @endphp
{{ $index + 1 }}

{{ $employeePerformance['employee_name'] ?? '-' }}

{{ $employeePerformance['total_days'] ?? 0 }} record • {{ $employeePerformance['issue_days'] ?? 0 }} hari bermasalah

{{ $reasonText }}
@empty
Tidak ada karyawan manual yang perlu perhatian pada periode ini.
@endforelse
Total Telat Manual

{{ $performanceInsight['total_late_minutes'] ?? 0 }} menit

Total Pulang Cepat

{{ $performanceInsight['total_early_leave_minutes'] ?? 0 }} menit

Belum Pulang

{{ $performanceInsight['total_incomplete'] ?? 0 }} record

Belum Masuk

{{ $performanceInsight['total_missing_check_in'] ?? 0 }} record

Detail Rekap {{ $periodLabel ?? (($startDate ?? $selectedDate->copy()->startOfMonth())->format('d/m/Y') . ' - ' . $selectedDate->format('d/m/Y')) }}

Data berdasarkan absen masuk dan absen pulang yang tersimpan dari awal bulan sampai tanggal yang dipilih.

@forelse($attendances as $attendance) @empty @endforelse
Tanggal ID Nama Masuk Pulang Telat Pulang Cepat Status
{{ $attendance->attendance_date->format('d/m/Y') }} {{ $attendance->employee->employee_id ?? '-' }} {{ $attendance->employee->name ?? '-' }} {{ $attendance->check_in_at?->format('H:i') ?? '-' }} {{ $attendance->check_out_at?->format('H:i') ?? '-' }} @if(($attendance->late_minutes ?? 0) > 0) {{ $attendance->late_minutes }} menit @else - @endif @if(($attendance->early_leave_minutes ?? 0) > 0) {{ $attendance->early_leave_minutes }} menit @else - @endif @if($attendance->check_in_at && $attendance->check_out_at) Lengkap @elseif($attendance->check_in_at) Belum Pulang @else - @endif
Tidak ada data absensi pada periode ini.
@endsection