@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => ''])
Review DKL Personalia
@if (($canEditDkl ?? true) && in_array($dkl->status, ['draft', 'pending_atasan', 'pending_personalia'])) Edit DKL @endif Kembali
@include('components.alert') {{-- ====== 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', 'pending_personalia' => 'bg-info text-white', 'approved_personalia' => 'bg-primary', 'rejected_personalia' => 'bg-danger', 'rejected_atasan' => 'bg-danger', ]; @endphp {{ strtoupper(str_replace('_', ' ', $dkl->status)) }}

{{ $dkl->nik }}

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

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

{{ $approver_name ?? '-' }}

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

{{-- ====== COMPARISON: SPL vs DKL ====== --}}
Perbandingan: SPL (Rencana) vs DKL (Realisasi)
Merah menandakan jam DKL yang diedit atau berbeda dari SPL.
Biru = SPL (Rencana) Hijau = DKL (Aktual) Merah = DKL (Ditolak)
@if ($check_rejected) @endif
@forelse ($dkl_details as $idx => $dklDetail) @php $splDetail = isset($spl_details) ? $spl_details->get($dklDetail->id_spl_detail) : null; // 1. Cek status reject masing-masing $isRejectedDkl = in_array($dklDetail->status, [ 'rejected_atasan', 'rejected_personalia', 'rejected', ]); $isRejectedSpl = isset($spl) && !empty($spl->status) && in_array($spl->status, [ 'rejected', 'rejected_atasan', 'rejected_personalia', ]); // Flag untuk styling baris (jika DKL reject, baris DKL jadi merah) $splBgColor = $isRejectedSpl ? '#f8d7da' : '#e3f2fd'; $dklBgColor = $isRejectedDkl ? '#f5c2c7' : ($splDetail ? '#e8f5e9' : '#ffffff'); $diffFrom = $splDetail && $splDetail->jam_mulai != $dklDetail->jam_mulai; $diffTo = $splDetail && $splDetail->jam_selesai != $dklDetail->jam_selesai; $diffBreak = $splDetail && $splDetail->break_jam != $dklDetail->break_jam; $diffHour = $splDetail && $splDetail->jam_lembur != $dklDetail->jam_lembur; $diffAgenda = $splDetail && $splDetail->agenda != $dklDetail->agenda; $diffJenis = $splDetail && $splDetail->id_jenis_lembur != $dklDetail->id_jenis_lembur; $diffTipe = $splDetail && $splDetail->id_tipe_lembur != $dklDetail->id_tipe_lembur; @endphp {{-- SPL Row (Rencana) --}} @if ($splDetail) @endif {{-- DKL Row (Realisasi) --}} @if (!$splDetail) @endif @empty @endforelse {{-- @if ($dkl_details->count() > 0) @endif --}} @if ($dkl_details->count() > 0) @endif
No NIK Nama Tgl Lembur Agenda From To Break Hour Status Pekerjaan Jenis Tipe Alasan
{{ $dklDetail->nik }} @if ($isRejectedDkl)
REJECTED @endif
{{ $karyawan_map[$dklDetail->nik] ?? '-' }} {{ \Carbon\Carbon::parse($dklDetail->tanggal_lembur)->format('j-M-Y') }} SPL:
{{ $splDetail->agenda }}
SPL:
{{ $splDetail->jam_mulai }}
SPL:
{{ $splDetail->jam_selesai }}
SPL:
{{ $splDetail->break_jam }}
SPL:
{{ $splDetail->jam_lembur }}
SPL:
-
SPL:
{{ isset($jenis_lembur[$splDetail->id_jenis_lembur]) ? $jenis_lembur[$splDetail->id_jenis_lembur]->nama : '-' }}
SPL:
{{ isset($tipe_lembur[$splDetail->id_tipe_lembur]) ? $tipe_lembur[$splDetail->id_tipe_lembur]->nama : '-' }}
SPL:
-
{{ $dklDetail->nik }} @if ($isRejectedDkl)
REJECTED @endif
{{ $karyawan_map[$dklDetail->nik] ?? '-' }} {{ \Carbon\Carbon::parse($dklDetail->tanggal_lembur)->format('j-M-Y') }} DKL:
{{ $dklDetail->agenda }}
DKL:
{{ $dklDetail->jam_mulai }}
DKL:
{{ $dklDetail->jam_selesai }}
DKL:
{{ $dklDetail->break_jam }}
DKL:
{{ $dklDetail->jam_lembur }}
DKL:
@if (($dklDetail->pekerjaan_selesai ?? 'belum') == 'sudah') Sudah Selesai @elseif (($dklDetail->pekerjaan_selesai ?? 'belum') == 'tidak') Tidak Selesai @else Belum Selesai @endif
DKL:
{{ isset($jenis_lembur[$dklDetail->id_jenis_lembur]) ? $jenis_lembur[$dklDetail->id_jenis_lembur]->nama : '-' }}
DKL:
{{ isset($tipe_lembur[$dklDetail->id_tipe_lembur]) ? $tipe_lembur[$dklDetail->id_tipe_lembur]->nama : '-' }}
DKL:
@php $alasanVal = $dklDetail->catatan_atasan ?: ($dklDetail->catatan_personalia ?: ($dkl->catatan_atasan ?: '-')); @endphp {{ $alasanVal }}
Tidak ada detail lembur.
Total Jam Lembur (DKL): 0
Total Jam Lembur (SPL / Rencana): 0
Total Jam Lembur (DKL / Realisasi): 0
{{-- ====== APPROVAL INFO (if already processed) ====== --}} @if ($dkl->status != 'pending_atasan')
Informasi Approval Atasan
Status : @if (in_array($dkl->status, ['approved_atasan', 'pending_personalia', 'approved_personalia', 'rejected_personalia'])) Approved @elseif ($dkl->status == 'rejected_atasan') Rejected @else - @endif
Diproses Oleh : {{ \App\Helpers\Format_Helper::getNameAndUsername($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 @if (in_array($dkl->status, ['approved_personalia', 'rejected_personalia']))
Informasi Approval Personalia
Status : @if ($dkl->status == 'approved_personalia') Approved Personalia @elseif ($dkl->status == 'rejected_personalia') Rejected Personalia @endif
Diproses Oleh : {{ \App\Helpers\Format_Helper::getNameAndUsername($dkl->approved_personalia_by) }}
Tanggal : {{ $dkl->approved_personalia_at ? \Carbon\Carbon::parse($dkl->approved_personalia_at)->format('j-M-Y H:i') : '-' }}
Catatan Personalia : {{ $dkl->catatan_personalia ?: '-' }}
@endif @if ($dkl->status == 'pending_atasan' && ($canApprove ?? false))
Keputusan Approval DKL
Maksimal 500 karakter
@csrf
@csrf
@endif @if ($dkl->status == 'pending_personalia' && ($canApprove ?? false))
Keputusan Approval Personalia
Maksimal 500 karakter
@csrf
@csrf
@endif {{-- 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') : '-' }}
@endsection