Filter Laporan
Laporan Absensi Pegawai PNS Bulan = $month ?>, Tahun = $year ?>
load->model('model');
$first_day = date('l', strtotime($year . '-' . $month . '-01'));
// get the number of days in the month
$days_in_month = date('t', strtotime($year . '-' . $month . '-01'));
// print_r($days_in_month);
// loop the days in the month start from day monday to friday, if day is saturday or sunday, skip it, if day start not from monday, add empty cell
// $week_array = [];
$day_array = [];
for ($i = 1; $i <= $days_in_month; $i++) {
$tanggal = strlen($i) == 1 ? "0" . $i : $i;
$date = $year . '-' . $month . '-' . $tanggal;
$day = date('l', strtotime($date));
if ($day == 'Saturday' || $day == 'Sunday') {
continue;
}
// if the day is not monday, add the previous to monday but null
// if reach day friday, add the week array to week array
$day_array[] = ['date' => $date, 'day' => $day];
// echo '
"; } ?>
';
// echo $i;
// echo '
';
}
// print_r($day_array[0]['day']);
// if $day_array[0]['day'] is tuesday, add monday to array, if $day_array[0]['day'] is wednesday, add monday and tuesday to array, if $day_array[0]['day'] is thursday, add monday, tuesday, and wednesday to array, if $day_array[0]['day'] is friday, add monday, tuesday, wednesday, and thursday to array
if ($day_array[0]['day'] == 'Tuesday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday']], $day_array);
} else if ($day_array[0]['day'] == 'Wednesday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday']], $day_array);
} else if ($day_array[0]['day'] == 'Thursday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday']], $day_array);
} else if ($day_array[0]['day'] == 'Friday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday']], $day_array);
}
// if $day_array[count($day_array) - 1]['day'] is monday, add tuesday , wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is tuesday, add wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is wednesday, add thursday and friday to array, if $day_array[count($day_array) - 1]['day'] is thursday, add friday to array
if ($day_array[count($day_array) - 1]['day'] == 'Monday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
} else if ($day_array[count($day_array) - 1]['day'] == 'Tuesday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
} else if ($day_array[count($day_array) - 1]['day'] == 'Wednesday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
} else if ($day_array[count($day_array) - 1]['day'] == 'Thursday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Friday']]);
}
// print_r($day_array);
$week_array = [];
for ($i = 0; $i < count($day_array); $i++) {
if ($i % 5 == 0) {
$week_array[] = [$day_array[$i], $day_array[$i + 1], $day_array[$i + 2], $day_array[$i + 3], $day_array[$i + 4]];
}
}
// print_r($week_array);
foreach ($week_array as $week) {
?>
| NO | NAMA | JAM/PARAF | model->hari($week[0]['day']) . ', ' . $date; ?> | model->hari($week[1]['day']) . ', ' . $date; ?> | model->hari($week[2]['day']) . ', ' . $date; ?> | model->hari($week[3]['day']) . ', ' . $date; ?> | model->hari($week[4]['day']) . ', ' . $date; ?> | Ket | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pagi | Siang | Pagi | Siang | Pagi | Siang | Pagi | Siang | Pagi | Siang | ||||||||||||||
| M | P | M | P | M | P | M | P | M | P | M | P | M | P | M | P | M | P | M | P | ||||
| = $no++; ?> | = $value->nama; ?> | Jam | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_senin) > 0) { $cek_data_senin = $cek_data_senin[0]; } else { $cek_data_senin = null; } } echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? "  " . $cek_data_senin->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_senin->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_senin->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_senin->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_selasa) > 0) { $cek_data_selasa = $cek_data_selasa[0]; } else { $cek_data_selasa = null; } } echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? "  " . $cek_data_selasa->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_selasa->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_selasa->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_selasa->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_rabu) > 0) { $cek_data_rabu = $cek_data_rabu[0]; } else { $cek_data_rabu = null; } } echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? "  " . $cek_data_rabu->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_rabu->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_rabu->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_rabu->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_kamis) > 0) { $cek_data_kamis = $cek_data_kamis[0]; } else { $cek_data_kamis = null; } } echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? "  " . $cek_data_kamis->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_kamis->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_kamis->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_kamis->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_jumat) > 0) { $cek_data_jumat = $cek_data_jumat[0]; } else { $cek_data_jumat = null; } } echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? "  " . $cek_data_jumat->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_jumat->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_jumat->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_jumat->jam_pulang . "    " : '-'; ?> | |
| = $value->nik; ?> | |||||||||||||||||||||||
| = $value->pangkat; ?> | Paraf | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_senin) > 0) { $cek_data_senin = $cek_data_senin[0]; } else { $cek_data_senin = null; } } echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_selasa) > 0) { $cek_data_selasa = $cek_data_selasa[0]; } else { $cek_data_selasa = null; } } echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_rabu) > 0) { $cek_data_rabu = $cek_data_rabu[0]; } else { $cek_data_rabu = null; } } echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_kamis) > 0) { $cek_data_kamis = $cek_data_kamis[0]; } else { $cek_data_kamis = null; } } echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_jumat) > 0) { $cek_data_jumat = $cek_data_jumat[0]; } else { $cek_data_jumat = null; } } echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | ||
| = $value->jabatan; ?> | |||||||||||||||||||||||
"; } ?>
Laporan Absensi Pegawai Kontrak Bulan = $month ?>, Tahun = $year ?>
load->model('model');
$first_day = date('l', strtotime($year . '-' . $month . '-01'));
// get the number of days in the month
$days_in_month = date('t', strtotime($year . '-' . $month . '-01'));
// print_r($days_in_month);
// loop the days in the month start from day monday to friday, if day is saturday or sunday, skip it, if day start not from monday, add empty cell
// $week_array = [];
$day_array = [];
for ($i = 1; $i <= $days_in_month; $i++) {
$tanggal = strlen($i) == 1 ? "0" . $i : $i;
$date = $year . '-' . $month . '-' . $tanggal;
$day = date('l', strtotime($date));
if ($day == 'Saturday' || $day == 'Sunday') {
continue;
}
// if the day is not monday, add the previous to monday but null
// if reach day friday, add the week array to week array
$day_array[] = ['date' => $date, 'day' => $day];
// echo '
"; } ?>
';
// echo $i;
// echo '
';
}
// print_r($day_array[0]['day']);
// if $day_array[0]['day'] is tuesday, add monday to array, if $day_array[0]['day'] is wednesday, add monday and tuesday to array, if $day_array[0]['day'] is thursday, add monday, tuesday, and wednesday to array, if $day_array[0]['day'] is friday, add monday, tuesday, wednesday, and thursday to array
if ($day_array[0]['day'] == 'Tuesday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday']], $day_array);
} else if ($day_array[0]['day'] == 'Wednesday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday']], $day_array);
} else if ($day_array[0]['day'] == 'Thursday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday']], $day_array);
} else if ($day_array[0]['day'] == 'Friday') {
$day_array = array_merge([['date' => '', 'day' => 'Monday'], ['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday']], $day_array);
}
// if $day_array[count($day_array) - 1]['day'] is monday, add tuesday , wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is tuesday, add wednesday, thursday, and friday to array, if $day_array[count($day_array) - 1]['day'] is wednesday, add thursday and friday to array, if $day_array[count($day_array) - 1]['day'] is thursday, add friday to array
if ($day_array[count($day_array) - 1]['day'] == 'Monday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Tuesday'], ['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
} else if ($day_array[count($day_array) - 1]['day'] == 'Tuesday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Wednesday'], ['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
} else if ($day_array[count($day_array) - 1]['day'] == 'Wednesday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Thursday'], ['date' => '', 'day' => 'Friday']]);
} else if ($day_array[count($day_array) - 1]['day'] == 'Thursday') {
$day_array = array_merge($day_array, [['date' => '', 'day' => 'Friday']]);
}
// print_r($day_array);
$week_array = [];
for ($i = 0; $i < count($day_array); $i++) {
if ($i % 5 == 0) {
$week_array[] = [$day_array[$i], $day_array[$i + 1], $day_array[$i + 2], $day_array[$i + 3], $day_array[$i + 4]];
}
}
// print_r($week_array);
foreach ($week_array as $week) {
?>
| NO | NAMA | JAM/PARAF | model->hari($week[0]['day']) . ', ' . $date; ?> | model->hari($week[1]['day']) . ', ' . $date; ?> | model->hari($week[2]['day']) . ', ' . $date; ?> | model->hari($week[3]['day']) . ', ' . $date; ?> | model->hari($week[4]['day']) . ', ' . $date; ?> | Ket | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pagi | Siang | Pagi | Siang | Pagi | Siang | Pagi | Siang | Pagi | Siang | ||||||||||||||
| M | P | M | P | M | P | M | P | M | P | M | P | M | P | M | P | M | P | M | P | ||||
| = $no++; ?> | = $value->nama; ?> | Jam | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_senin) > 0) { $cek_data_senin = $cek_data_senin[0]; } else { $cek_data_senin = null; } } echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? "  " . $cek_data_senin->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_senin->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_senin->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_senin->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_selasa) > 0) { $cek_data_selasa = $cek_data_selasa[0]; } else { $cek_data_selasa = null; } } echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? "  " . $cek_data_selasa->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_selasa->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_selasa->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_selasa->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_rabu) > 0) { $cek_data_rabu = $cek_data_rabu[0]; } else { $cek_data_rabu = null; } } echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? "  " . $cek_data_rabu->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_rabu->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_rabu->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_rabu->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_kamis) > 0) { $cek_data_kamis = $cek_data_kamis[0]; } else { $cek_data_kamis = null; } } echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? "  " . $cek_data_kamis->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_kamis->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_kamis->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_kamis->jam_pulang . "    " : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_jumat) > 0) { $cek_data_jumat = $cek_data_jumat[0]; } else { $cek_data_jumat = null; } } echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? "  " . $cek_data_jumat->jam_masuk . "    " : '-'; ?> | jam_istirehat != '') ? "  " . $cek_data_jumat->jam_istirehat . "    " : '-'; ?> | jam_masuk_kembali != '') ? "  " . $cek_data_jumat->jam_masuk_kembali . "    " : '-'; ?> | jam_pulang != '') ? "  " . $cek_data_jumat->jam_pulang . "    " : '-'; ?> | |
| = $value->nik; ?> | |||||||||||||||||||||||
| = $value->pangkat; ?> | Paraf | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[0]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_senin) > 0) { $cek_data_senin = $cek_data_senin[0]; } else { $cek_data_senin = null; } } echo ($cek_data_senin != null && $cek_data_senin->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[1]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_selasa) > 0) { $cek_data_selasa = $cek_data_selasa[0]; } else { $cek_data_selasa = null; } } echo ($cek_data_selasa != null && $cek_data_selasa->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[2]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_rabu) > 0) { $cek_data_rabu = $cek_data_rabu[0]; } else { $cek_data_rabu = null; } } echo ($cek_data_rabu != null && $cek_data_rabu->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[3]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_kamis) > 0) { $cek_data_kamis = $cek_data_kamis[0]; } else { $cek_data_kamis = null; } } echo ($cek_data_kamis != null && $cek_data_kamis->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | model->tampil_data_where('tb_absensi_karyawan', ['nik' => $value->nik, 'tanggal' => $week[4]['date'], 'id_dinas' => $id_dinas])->result(); if (count($cek_data_jumat) > 0) { $cek_data_jumat = $cek_data_jumat[0]; } else { $cek_data_jumat = null; } } echo ($cek_data_jumat != null && $cek_data_jumat->jam_masuk != '') ? ' ' : '-'; ?> | jam_istirehat != '') ? ' ' : '-'; ?> | jam_masuk_kembali != '') ? ' ' : '-'; ?> | jam_pulang != '') ? ' ' : '-'; ?> | ||
| = $value->jabatan; ?> | |||||||||||||||||||||||
"; } ?>