@extends('simaju.layouts.main') @section('title', 'Absensi Guru') @section('page-title', 'Absensi Guru') @section('page-subtitle', 'Sistem Absensi dengan Kamera & GPS') @section('content')
{{ $stats['hadir'] ?? 0 }}
Hadir
{{ $stats['terlambat'] ?? 0 }}
Terlambat
{{ $stats['izin'] ?? 0 }}
Izin
{{ $stats['sakit'] ?? 0 }}
Sakit
{{ $stats['alpha'] ?? 0 }}
Alpha
| Guru | Tanggal | Jam Masuk | Jam Pulang | Status | GPS | Foto | Aksi |
|---|---|---|---|---|---|---|---|
|
{{ strtoupper(substr($a->guru?->nama ?? 'U', 0, 1)) }}
{{ $a->guru?->nama ?? '-' }}
{{ $a->guru?->nip ?? '-' }}
|
{{ $a->tanggal?->format('d/m/Y') ?? '-' }} |
{{ $a->jam_masuk ?? '-' }}
|
{{ $a->jam_pulang ?? '-' }}
|
@php $statusLabel = '-'; $statusClass = 'bg-gray-100 text-gray-700'; // Batas masuk $batasMasuk = '07:30:00'; // Jam mulai dan batas akhir pulang $mulaiPulang = '14:00:00'; $batasPulang = '15:00:00'; $tanggalAbsen = $a->tanggal ? \Carbon\Carbon::parse($a->tanggal) : null; /* |-------------------------------------------------------------------------- | 1. TIDAK ADA JAM MASUK |-------------------------------------------------------------------------- */ if (!$a->jam_masuk) { $statusLabel = 'Tidak Absen Masuk'; $statusClass = 'bg-red-100 text-red-700'; /* |-------------------------------------------------------------------------- | 2. SUDAH ABSEN PULANG |-------------------------------------------------------------------------- */ } elseif ($a->jam_pulang) { // Jika masuk lewat 07:30 if ($a->jam_masuk > $batasMasuk) { $statusLabel = 'Terlambat'; $statusClass = 'bg-yellow-100 text-yellow-700'; } else { $statusLabel = 'Hadir'; $statusClass = 'bg-green-100 text-green-700'; } /* |-------------------------------------------------------------------------- | 3. BELUM ABSEN PULANG |-------------------------------------------------------------------------- */ } else { // Jika data hari sebelumnya dan tidak ada absen pulang if ($tanggalAbsen && !$tanggalAbsen->isToday()) { $statusLabel = 'Bolos'; $statusClass = 'bg-red-100 text-red-700'; } // Jika hari ini elseif ($tanggalAbsen && $tanggalAbsen->isToday()) { $batasPulangHariIni = \Carbon\Carbon::createFromFormat( 'Y-m-d H:i:s', $tanggalAbsen->format('Y-m-d') . ' ' . $batasPulang ); /* | Sudah lewat jam 15:00 dan tidak absen pulang | = BOLOS */ if (now()->gt($batasPulangHariIni)) { $statusLabel = 'Bolos'; $statusClass = 'bg-red-100 text-red-700'; } else { /* | Belum lewat jam 15:00 | Status mengikuti jam masuk */ if ($a->jam_masuk > $batasMasuk) { $statusLabel = 'Terlambat'; $statusClass = 'bg-yellow-100 text-yellow-700'; } else { $statusLabel = 'Hadir'; $statusClass = 'bg-green-100 text-green-700'; } } } } @endphp {{ $statusLabel }} |
@if($a->lat_masuk && $a->lng_masuk)
Valid
@else
Tidak ada
@endif
|
@if($a->foto_masuk)
@php
$fotoMasukUrl = asset('storage/' . ltrim($a->foto_masuk, '/'));
@endphp
@else
Masuk
No Photo
@endif
@if($a->foto_pulang)
@php
$fotoPulangUrl = asset('storage/' . ltrim($a->foto_pulang, '/'));
@endphp
@else
Pulang
Belum
@endif
|
@php
$jamSekarang = now()->format('H:i:s');
$bolehPulang =
$a->tanggal &&
\Carbon\Carbon::parse($a->tanggal)->isToday() &&
$jamSekarang >= '14:00:00' &&
$jamSekarang <= '15:00:00';
@endphp
@if(!$a->jam_pulang && $bolehPulang)
@endif
|
|
Tidak ada data absensi |
|||||||