@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => ''])
Detail DKL (Daftar Kerja Lembur)
Kembali
{{-- ====== HEADER DKL ====== --}}
Header DKL

{{ $dkl->no_dkl }}

{{ $dkl->no_spl }}

{{ \Carbon\Carbon::parse($dkl->tanggal_dkl)->format('j-M-Y') }}

@php $statusBadge = [ 'draft' => 'bg-secondary', 'pending_atasan' => 'bg-warning text-white', 'approved_atasan' => 'bg-success', 'rejected_atasan' => 'bg-danger', ]; @endphp {{ strtoupper(str_replace('_', ' ', $dkl->status)) }}

{{ $dkl->nik }}

{{ $pemohon->nama ?? '-' }}

{{ $departemen->nama ?? '-' }}

{{ $atasan_name ?? '-' }}

{{ $dkl->keterangan ?: '-' }}

{{-- ====== APPROVAL INFO ====== --}} @if (!in_array($dkl->status, ['draft', 'pending_atasan']))
Informasi Approval Atasan
Status : @if ($dkl->status == 'approved_atasan') Approved @elseif ($dkl->status == 'rejected_atasan') Rejected @endif
Diproses Oleh : {{ $dkl->approved_atasan_by && $dkl->approved_atasan_by !== '-' ? (($u = \DB::table('users')->where('username', $dkl->approved_atasan_by)->first()) ? trim(($u->firstname ?? '') . ' ' . ($u->lastname ?? '')) . ' - ' . $dkl->approved_atasan_by : $dkl->approved_atasan_by) : '-' }}
Tanggal : {{ $dkl->approved_atasan_at ? \Carbon\Carbon::parse($dkl->approved_atasan_at)->format('j-M-Y H:i') : '-' }}
Catatan Atasan : {{ $dkl->catatan_atasan ?: '-' }}
@endif {{-- ====== DETAIL DKL ====== --}}
Detail Realisasi Lembur ({{ $dkl_details->count() }} record)
@forelse ($dkl_details as $idx => $detail) @empty @endforelse @if ($dkl_details->count() > 0) @endif
No NIK Karyawan Nama Agenda Mulai Pengerjaan Selesai Pengerjaan Istirahat (Menit) Jam Jenis Tipe Status Pekerjaan
{{ $idx + 1 }} {{ $detail->nik }} {{ $karyawan_map[$detail->nik] ?? '-' }} {{ $detail->agenda }} {{ $detail->jam_mulai ? \Carbon\Carbon::parse($detail->jam_mulai)->format('j-M-Y H:i') : '' }} {{ $detail->jam_selesai ? \Carbon\Carbon::parse($detail->jam_selesai)->format('j-M-Y H:i') : '' }} {{ intval(($detail->break_jam ?? 0) * 60) }} {{ $detail->jam_lembur }} {{ isset($jenis_lembur[$detail->id_jenis_lembur]) ? $jenis_lembur[$detail->id_jenis_lembur]->nama : '-' }} {{ isset($tipe_lembur[$detail->id_tipe_lembur]) ? $tipe_lembur[$detail->id_tipe_lembur]->nama : '-' }} @if(strtolower($detail->pekerjaan_selesai ?? 'belum') === 'sudah') Selesai @elseif(strtolower($detail->pekerjaan_selesai ?? 'belum') === 'tidak') Tidak @else Belum @endif
Tidak ada detail lembur.
Total Jam Lembur: {{ $dkl_details->sum('jam_lembur') }}
{{-- ====== BUTTONS & KETERANGAN ====== --}}
Belum = Pekerjaan masih berjalan & akan dilanjutkan nanti.
Selesai = Pekerjaan telah tuntas dikerjakan seluruhnya.
Tidak = Pekerjaan terhenti/gagal karena kendala alat atau teknis.
{{-- Audit Info --}}
Dibuat oleh: {{ $dkl->user_create ?? '-' }} | {{ $dkl->created_at ? \Carbon\Carbon::parse($dkl->created_at)->format('j-M-Y H:i') : '-' }}
Diupdate oleh: {{ $dkl->user_update ?? '-' }} | {{ $dkl->updated_at ? \Carbon\Carbon::parse($dkl->updated_at)->format('j-M-Y H:i') : '-' }}
@if ($dkl->status == 'draft') @php $grouped = []; foreach ($dkl_details as $detail) { $nik = $detail->nik; $name = $karyawan_map[$nik] ?? '-'; if (!isset($grouped[$nik])) { $grouped[$nik] = [ 'nama' => $name, 'total_jam' => 0, 'status' => $detail->pekerjaan_selesai ?? 'belum' ]; } $grouped[$nik]['total_jam'] += $detail->jam_lembur; } $dklHtmlTable = '
'; $dklHtmlTable .= ''; foreach ($grouped as $g) { $statusText = 'BELUM'; $statusStyle = 'background-color: #f59e0b; color: #fff;'; if (strtolower($g['status']) === 'sudah') { $statusText = 'SUDAH SELESAI'; $statusStyle = 'background-color: #10b981; color: #fff;'; } elseif (strtolower($g['status']) === 'tidak') { $statusText = 'TIDAK'; $statusStyle = 'background-color: #ef4444; color: #fff;'; } $dklHtmlTable .= ''; $dklHtmlTable .= ''; $dklHtmlTable .= ''; $dklHtmlTable .= ''; $dklHtmlTable .= ''; } $dklHtmlTable .= '
NAMATOTAL DKLSTATUS
' . e($g['nama']) . '' . number_format($g['total_jam'], 2) . ' jam' . $statusText . '
'; @endphp
Edit Realisasi
@endif
@endsection