@if ($generalsetting->logo && Storage::exists('public/logo/' . $generalsetting->logo)) Logo Perusahaan @else Logo Default @endif

LAPORAN JADWAL KARYAWAN
{{ $generalsetting->nama_perusahaan }}
PERIODE {{ date('d-m-Y', strtotime($periode_dari)) }} - {{ date('d-m-Y', strtotime($periode_sampai)) }}

{{ $generalsetting->alamat }}
{{ $generalsetting->telepon }}
@php $tanggal_loop = $periode_dari; @endphp @while (strtotime($tanggal_loop) <= strtotime($periode_sampai)) @php $tanggal_loop = date('Y-m-d', strtotime('+1 day', strtotime($tanggal_loop))); @endphp @endwhile @foreach ($karyawan as $d) @php $tanggal_loop = $periode_dari; $mapJadwalByDate = $jadwal_bydate[$d->nik] ?? []; $mapJadwalGrupByDate = $jadwal_grup_bydate[$d->nik] ?? []; $mapJadwalByDay = $jadwal_byday[$d->nik] ?? []; @endphp @while (strtotime($tanggal_loop) <= strtotime($periode_sampai)) @php $search = [ 'nik' => $d->nik, 'tanggal' => $tanggal_loop, ]; $ceklibur = ceklibur($datalibur, $search); $nama_hari = getHari($tanggal_loop); $jadwal_info = null; // 1) By-Date Employee if (isset($mapJadwalByDate[$tanggal_loop])) { $jadwal_info = $mapJadwalByDate[$tanggal_loop]; } // 2) By-Date Group elseif (isset($mapJadwalGrupByDate[$tanggal_loop])) { $jadwal_info = $mapJadwalGrupByDate[$tanggal_loop]; } // 3) By-Day Employee elseif (isset($mapJadwalByDay[$nama_hari])) { $jadwal_info = $mapJadwalByDay[$nama_hari]; } // 4) By-Day Dept/Branch else { $keyDeptCabang = $d->kode_dept . '|' . $d->kode_cabang; $mapDept = $jadwal_bydept[$keyDeptCabang] ?? []; if (isset($mapDept[$nama_hari])) { $jadwal_info = $mapDept[$nama_hari]; } // 5) Global Schedule elseif (isset($jadwal_global[$nama_hari])) { $jadwal_info = $jadwal_global[$nama_hari]; } } $bgcolor = ''; $content = ''; if (!empty($ceklibur)) { $bgcolor = 'green'; $content = 'LIBUR'; } elseif ($nama_hari == 'Minggu') { $bgcolor = 'orange'; } if ($jadwal_info) { $content = $jadwal_info['nama_jam_kerja'] . '
' . date('H:i', strtotime($jadwal_info['jam_masuk'])) . '-' . date('H:i', strtotime($jadwal_info['jam_pulang'])) . ''; if (empty($bgcolor) && !empty($jadwal_info['color'])) { $bgcolor = $jadwal_info['color']; } } @endphp @php $tanggal_loop = date('Y-m-d', strtotime('+1 day', strtotime($tanggal_loop))); @endphp @endwhile @endforeach
No NIK Nama Karyawan Tanggal
{{ date('d', strtotime($tanggal_loop)) }}
{{ getHari(date('Y-m-d', strtotime($tanggal_loop))) }}
{{ $loop->iteration }} {{ $d->nik }} {{ $d->nama_karyawan }} {!! $content !!}