@include('components.alert')
{{-- ====== 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 ====== --}}
| No |
NIK |
Nama |
Tgl Lembur |
Agenda |
From |
To |
Break |
Hour |
Status Pekerjaan |
Jenis |
Tipe |
Alasan |
@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)
|
|
{{ $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:
-
|
@endif
{{-- DKL Row (Realisasi) --}}
@if (!$splDetail)
|
{{ $dklDetail->nik }}
@if ($isRejectedDkl)
REJECTED
@endif
|
{{ $karyawan_map[$dklDetail->nik] ?? '-' }} |
{{ \Carbon\Carbon::parse($dklDetail->tanggal_lembur)->format('j-M-Y') }}
|
@endif
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 }}
|
@empty
| Tidak ada detail
lembur. |
@endforelse
{{-- @if ($dkl_details->count() > 0)
| Total Jam Lembur (DKL): |
0 |
|
@endif --}}
@if ($dkl_details->count() > 0)
| Total Jam Lembur (SPL
/ Rencana): |
0 |
|
| Total Jam Lembur (DKL
/ Realisasi): |
0 |
|
@endif
{{-- ====== APPROVAL INFO (if already processed) ====== --}}
@if ($dkl->status != 'pending_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']))
| 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))
Maksimal 500 karakter
@endif
@if ($dkl->status == 'pending_personalia' && ($canApprove ?? false))
Maksimal 500 karakter
@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') : '-' }}