Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Fungsi Harian
- public function generateKPHRutin($date) {
- $jadwal_generate = null;
- $jadwal_generate_group = null;
- $tanggal_saat_ini = Carbon::parse($date);
- $new_day_date = Carbon::parse($date)->format("Y-m-d 00:00:00");
- $karyawan = Karyawan::where('status_karyawan', '!=', 'nonaktif')->get();
- $day = Carbon::parse($new_day_date)->format('l');
- // tambah hari
- $hari = null;
- switch($day) {
- case 'Monday':
- $hari = 'Senin';
- break;
- case 'Tuesday':
- $hari = 'Selasa';
- break;
- case 'Wednesday':
- $hari = 'Rabu';
- break;
- case 'Thursday':
- $hari = 'Kamis';
- break;
- case 'Friday':
- $hari = 'Jum at';
- break;
- case 'Saturday':
- $hari = 'Sabtu';
- break;
- case 'Sunday':
- $hari = 'Minggu';
- break;
- default:
- break;
- }
- for($i = 0, $sizeKaryawan = count($karyawan); $i < $sizeKaryawan; $i++) {
- if($karyawan[$i]->status_karyawan != 'nonaktif') {
- $get_storage = KalkulasiPoinHarian::where('karyawan_id', $karyawan[$i]->id)->where('tanggal_hari_ini', $new_day_date)->first();
- if($get_storage == null) {
- // set init status izin dan libur
- $status_izin = 0;
- $status_libur = 0;
- // cek jadwal libur dan jadwal izin
- $jadwal_libur = JadwalLibur::where('karyawan_id', '=', $karyawan[$i]->id)->get();
- $jadwal_izin = JadwalIzin::where('karyawan_id', '=', $karyawan[$i]->id)->get();
- for($l = 0; $l < count($jadwal_izin); $l++) {
- $mulai_izin = Carbon::parse($jadwal_izin[$l]->tanggal_mulai)->format('Y-m-d');
- $selesai_izin = Carbon::parse($jadwal_izin[$l]->tanggal_selesai)->format('Y-m-d');
- $tanggal_sekarang = Carbon::parse($date)->format('Y-m-d');
- if(($tanggal_sekarang >= $mulai_izin) && ($tanggal_sekarang <= $selesai_izin)) {
- $status_izin = 1;
- }
- }
- for($l = 0; $l < count($jadwal_libur); $l++) {
- $mulai_libur = Carbon::parse($jadwal_libur[$l]->tanggal_mulai)->format('Y-m-d');
- $selesai_libur = Carbon::parse($jadwal_libur[$l]->tanggal_selesai)->format('Y-m-d');
- $tanggal_sekarang = Carbon::parse($date)->format('Y-m-d');
- if(($tanggal_sekarang >= $mulai_libur) && ($tanggal_sekarang <= $selesai_libur)) {
- $status_libur = 1;
- }
- }
- /**
- * Mengambil jadwal hari kerja non-group
- */
- $jadwal_rutin = JadwalHariKerja::where('karyawan_id', $karyawan[$i]->id)->where('status', 'rutin')->where(function ($query) use ($day) {
- switch($day) {
- case 'Monday':
- $query->where('checkbox_harikerja_senin', 1);
- break;
- case 'Tuesday':
- $query->where('checkbox_harikerja_selasa', 1);
- break;
- case 'Wednesday':
- $query->where('checkbox_harikerja_rabu', 1);
- break;
- case 'Thursday':
- $query->where('checkbox_harikerja_kamis', 1);
- break;
- case 'Friday':
- $query->where('checkbox_harikerja_jumat', 1);
- break;
- case 'Saturday':
- $query->where('checkbox_harikerja_sabtu', 1);
- break;
- case 'Sunday':
- $query->where('checkbox_harikerja_minggu', 1);
- break;
- default:
- break;
- }
- })->first();
- /**
- * Mengambil jadwal hari kerja group
- */
- $jadwal_rutin_group = JadwalHariKerja::where('karyawan_id', $karyawan[$i]->id)->where('status', 'rutin-group')->where(function ($query) use ($day) {
- switch($day) {
- case 'Monday':
- $query->where('checkbox_harikerja_senin', 1);
- break;
- case 'Tuesday':
- $query->where('checkbox_harikerja_selasa', 1);
- break;
- case 'Wednesday':
- $query->where('checkbox_harikerja_rabu', 1);
- break;
- case 'Thursday':
- $query->where('checkbox_harikerja_kamis', 1);
- break;
- case 'Friday':
- $query->where('checkbox_harikerja_jumat', 1);
- break;
- case 'Saturday':
- $query->where('checkbox_harikerja_sabtu', 1);
- break;
- case 'Sunday':
- $query->where('checkbox_harikerja_minggu', 1);
- break;
- default:
- break;
- }
- })->first();
- $generate_storage = new KalkulasiPoinHarian();
- $generate_storage->karyawan_id = $karyawan[$i]->id;
- $generate_storage->nama = $karyawan[$i]->nama;
- $generate_storage->group_id = $karyawan[$i]->group_id;
- $generate_storage->nama_group = $karyawan[$i]->nik;
- $generate_storage->tanggal_hari_ini = $new_day_date;
- $generate_storage->kalkulasi_poin_rutin = 0;
- $generate_storage->kalkulasi_poin_ngeplus = 0;
- $generate_storage->kalkulasi_poin_shift1_extuder = 0;
- $generate_storage->kalkulasi_poin_shift2_extuder = 0;
- $generate_storage->kalkulasi_poin_shift3_extuder = 0;
- $generate_storage->kalkulasi_poin_total_extuder = 0;
- $generate_storage->hari = $hari;
- $generate_storage->status_hadir = 0;
- $generate_storage->status_hadir_extuder_shift1 = 0;
- $generate_storage->status_hadir_extuder_shift2 = 0;
- $generate_storage->status_hadir_extuder_shift3 = 0;
- // jika ada libur dan izin
- if($status_izin == 0 && $status_libur == 0) {
- /**
- * Setiap kondisi IF akan mengecek:
- * 1. Ketika jadwal untuk karyawan ADA dan jadwal untuk grup TIDAK ADA
- * 2. Ketika jadwal untuk karyawan TIDAK ADA dan jadwal untuk grup ADA
- * 3. Ketika jadwal untuk karyawan TIDAK ADA dan jadwal untuk grup TIDAK ADA
- */
- if($jadwal_rutin != null && $jadwal_rutin_group == null) {
- $jadwal_master = Jadwal::find($jadwal_rutin->source_id);
- $created_at_rutin = Carbon::parse($jadwal_master->created_at);
- $tanggal_saat_ini = Carbon::parse($date);
- if($tanggal_saat_ini->gte($created_at_rutin)) {
- $jadwal_generate = $jadwal_rutin;
- $generate_storage->ada_jadwal_rutin = $jadwal_rutin->status;
- $generate_storage->tidak_hadir = 1;
- $generate_storage->ada_izin = false;
- $generate_storage->ada_libur = false;
- $generate_storage->source_rutin = $jadwal_rutin->source;
- $generate_storage->source_id_rutin = $jadwal_rutin->source_id;
- // ini ambil dr jadwal child
- if(Carbon::parse($date)->toDateString() <= Carbon::parse($jadwal_rutin->tanggal_jadwal_rutin_diedit_baru)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu;
- // ini ambil dr jadwal child
- } else if(Carbon::parse($date)->toDateString() > Carbon::parse($jadwal_rutin->tanggal_jadwal_rutin_diedit_baru)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk_baru;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai_baru;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai_baru;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang_baru;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin_baru;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa_baru;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu_baru;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis_baru;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat_baru;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu_baru;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu_baru;
- }
- $generate_storage->save();
- }
- } else if($jadwal_rutin == null && $jadwal_rutin_group != null) {
- $jadwal_master = Jadwal::find($jadwal_rutin_group->source_id);
- $created_at_rutin = Carbon::parse($jadwal_master->created_at);
- $tanggal_saat_ini = Carbon::parse($date);
- if($tanggal_saat_ini->gte($created_at_rutin)) {
- $jadwal_generate_group = $jadwal_rutin_group;
- $generate_storage->ada_jadwal_rutin = $jadwal_rutin_group->status;
- $generate_storage->source_group_rutin = $jadwal_rutin_group->source;
- $generate_storage->source_id_group_rutin = $jadwal_rutin_group->source_id;
- // ini ambil dr jadwal child
- if(Carbon::parse($date)->toDateString() <= Carbon::parse($jadwal_rutin_group->tanggal_jadwal_rutin_diedit_baru)->toDateString()) {
- $generate_storage->jam_masuk_group = $jadwal_rutin_group->jam_masuk;
- $generate_storage->jam_istirahat_mulai_group = $jadwal_rutin_group->jam_istirahat_mulai;
- $generate_storage->jam_istirahat_selesai_group = $jadwal_rutin_group->jam_istirahat_selesai;
- $generate_storage->jam_pulang_group = $jadwal_rutin_group->jam_pulang;
- $generate_storage->checkbox_harikerja_senin_group = $jadwal_rutin_group->checkbox_harikerja_senin;
- $generate_storage->checkbox_harikerja_selasa_group = $jadwal_rutin_group->checkbox_harikerja_selasa;
- $generate_storage->checkbox_harikerja_rabu_group = $jadwal_rutin_group->checkbox_harikerja_rabu;
- $generate_storage->checkbox_harikerja_kamis_group = $jadwal_rutin_group->checkbox_harikerja_kamis;
- $generate_storage->checkbox_harikerja_jumat_group = $jadwal_rutin_group->checkbox_harikerja_jumat;
- $generate_storage->checkbox_harikerja_sabtu_group = $jadwal_rutin_group->checkbox_harikerja_sabtu;
- $generate_storage->checkbox_harikerja_minggu_group = $jadwal_rutin_group->checkbox_harikerja_minggu;
- // ini ambil dr jadwal child
- } else if(Carbon::parse($date)->toDateString() > Carbon::parse($jadwal_rutin_group->tanggal_jadwal_rutin_diedit_baru)->toDateString()) {
- $generate_storage->jam_masuk_group = $jadwal_rutin_group->jam_masuk_baru;
- $generate_storage->jam_istirahat_mulai_group = $jadwal_rutin_group->jam_istirahat_mulai_baru;
- $generate_storage->jam_istirahat_selesai_group = $jadwal_rutin_group->jam_istirahat_selesai_baru;
- $generate_storage->jam_pulang_group = $jadwal_rutin_group->jam_pulang_baru;
- $generate_storage->checkbox_harikerja_senin_group = $jadwal_rutin_group->checkbox_harikerja_senin_baru;
- $generate_storage->checkbox_harikerja_selasa_group = $jadwal_rutin_group->checkbox_harikerja_selasa_baru;
- $generate_storage->checkbox_harikerja_rabu_group = $jadwal_rutin_group->checkbox_harikerja_rabu_baru;
- $generate_storage->checkbox_harikerja_kamis_group = $jadwal_rutin_group->checkbox_harikerja_kamis_baru;
- $generate_storage->checkbox_harikerja_jumat_group = $jadwal_rutin_group->checkbox_harikerja_jumat_baru;
- $generate_storage->checkbox_harikerja_sabtu_group = $jadwal_rutin_group->checkbox_harikerja_sabtu_baru;
- $generate_storage->checkbox_harikerja_minggu_group = $jadwal_rutin_group->checkbox_harikerja_minggu_baru;
- }
- $generate_storage->tidak_hadir = 1;
- $generate_storage->ada_izin = false;
- $generate_storage->ada_libur = false;
- $generate_storage->save();
- }
- } else if($jadwal_rutin != null && $jadwal_rutin_group != null) {
- $created_at_rutin = Carbon::parse($jadwal_rutin->created_at);
- $tanggal_saat_ini = Carbon::parse($date);
- if($tanggal_saat_ini->gte($created_at_rutin)) {
- $jadwal_generate = $jadwal_rutin;
- $generate_storage->ada_jadwal_rutin = $jadwal_rutin->status;
- $generate_storage->tidak_hadir = 1;
- $generate_storage->ada_izin = false;
- $generate_storage->ada_libur = false;
- $generate_storage->source_rutin = $jadwal_rutin->source;
- $generate_storage->source_id_rutin = $jadwal_rutin->source_id;
- // ini ambil dr jadwal child
- if(Carbon::parse($date)->toDateString() <= Carbon::parse($jadwal_rutin->tanggal_jadwal_rutin_diedit_baru)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu;
- // ini ambil dr jadwal child
- } else if(Carbon::parse($date)->toDateString() > Carbon::parse($jadwal_rutin->tanggal_jadwal_rutin_diedit_baru)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk_baru;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai_baru;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai_baru;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang_baru;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin_baru;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa_baru;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu_baru;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis_baru;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat_baru;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu_baru;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu_baru;
- }
- $generate_storage->save();
- }
- }
- // jika ada jadwal izin dan libur
- } else {
- $generate_storage->ada_jadwal_rutin = null;
- $generate_storage->tidak_hadir = 0;
- /**
- * Cek status izin
- */
- if($status_izin == 1) {
- $generate_storage->ada_izin = true;
- } else {
- $generate_storage->ada_izin = false;
- }
- /**
- * Cek status libur
- */
- if($status_libur == 1) {
- $generate_storage->ada_libur = true;
- } else {
- $generate_storage->ada_libur = false;
- }
- $generate_storage->status_extuder_shift1 = null;
- $generate_storage->status_extuder_shift2 = null;
- $generate_storage->status_extuder_shift3 = null;
- $generate_storage->tidak_hadir_extuder_shift1 = 0;
- $generate_storage->tidak_hadir_extuder_shift2 = 0;
- $generate_storage->tidak_hadir_extuder_shift3 = 0;
- $generate_storage->save();
- }
- } else if($get_storage != null) {
- // set init status izin dan libur
- $status_izin = 0;
- $status_libur = 0;
- // cek jadwal libur dan jadwal izin
- $jadwal_libur = JadwalLibur::where('karyawan_id', '=', $karyawan[$i]->id)->get();
- $jadwal_izin = JadwalIzin::where('karyawan_id', '=', $karyawan[$i]->id)->get();
- for($l = 0; $l < count($jadwal_izin); $l++) {
- $mulai_izin = Carbon::parse($jadwal_izin[$l]->tanggal_mulai)->format('Y-m-d');
- $selesai_izin = Carbon::parse($jadwal_izin[$l]->tanggal_selesai)->format('Y-m-d');
- $tanggal_sekarang = Carbon::parse($date)->format('Y-m-d');
- if(($tanggal_sekarang >= $mulai_izin) && ($tanggal_sekarang <= $selesai_izin)) {
- $status_izin = 1;
- }
- }
- for($l = 0; $l < count($jadwal_libur); $l++) {
- $mulai_libur = Carbon::parse($jadwal_libur[$l]->tanggal_mulai)->format('Y-m-d');
- $selesai_libur = Carbon::parse($jadwal_libur[$l]->tanggal_selesai)->format('Y-m-d');
- $tanggal_sekarang = Carbon::parse($date)->format('Y-m-d');
- if(($tanggal_sekarang >= $mulai_libur) && ($tanggal_sekarang <= $selesai_libur)) {
- $status_libur = 1;
- }
- }
- // ambil jadwal rutin
- $jadwal_rutin = JadwalHariKerja::where('karyawan_id', $karyawan[$i]->id)->where('status', 'rutin')->where(function ($query) use ($day) {
- switch($day) {
- case 'Monday':
- $query->where('checkbox_harikerja_senin', 1);
- break;
- case 'Tuesday':
- $query->where('checkbox_harikerja_selasa', 1);
- break;
- case 'Wednesday':
- $query->where('checkbox_harikerja_rabu', 1);
- break;
- case 'Thursday':
- $query->where('checkbox_harikerja_kamis', 1);
- break;
- case 'Friday':
- $query->where('checkbox_harikerja_jumat', 1);
- break;
- case 'Saturday':
- $query->where('checkbox_harikerja_sabtu', 1);
- break;
- case 'Sunday':
- $query->where('checkbox_harikerja_minggu', 1);
- break;
- default:
- break;
- }
- })->first();
- // ambil jadwal group
- $jadwal_rutin_group = JadwalHariKerja::where('karyawan_id', $karyawan[$i]->id)->where('status', 'rutin-group')->where(function ($query) use ($day) {
- switch($day) {
- case 'Monday':
- $query->where('checkbox_harikerja_senin', 1);
- break;
- case 'Tuesday':
- $query->where('checkbox_harikerja_selasa', 1);
- break;
- case 'Wednesday':
- $query->where('checkbox_harikerja_rabu', 1);
- break;
- case 'Thursday':
- $query->where('checkbox_harikerja_kamis', 1);
- break;
- case 'Friday':
- $query->where('checkbox_harikerja_jumat', 1);
- break;
- case 'Saturday':
- $query->where('checkbox_harikerja_sabtu', 1);
- break;
- case 'Sunday':
- $query->where('checkbox_harikerja_minggu', 1);
- break;
- default:
- break;
- }
- })->first();
- $generate_storage = KalkulasiPoinHarian::where('karyawan_id', $karyawan[$i]->id)->where('tanggal_hari_ini', $new_day_date)->first();
- $generate_storage->karyawan_id = $karyawan[$i]->id;
- $generate_storage->nama = $karyawan[$i]->nama;
- $generate_storage->group_id = $karyawan[$i]->group_id;
- $generate_storage->nama_group = $karyawan[$i]->nik;
- $generate_storage->tanggal_hari_ini = $new_day_date;
- // $generate_storage->kalkulasi_poin_rutin = 0;
- // $generate_storage->kalkulasi_poin_ngeplus = 0;
- // $generate_storage->kalkulasi_poin_shift1_extuder = 0;
- // $generate_storage->kalkulasi_poin_shift2_extuder = 0;
- // $generate_storage->kalkulasi_poin_shift3_extuder = 0;
- // $generate_storage->kalkulasi_poin_total_extuder = 0;
- $generate_storage->hari = $hari;
- // $generate_storage->status_hadir = 0;
- // $generate_storage->status_hadir_extuder_shift1 = 0;
- // $generate_storage->status_hadir_extuder_shift2 = 0;
- // $generate_storage->status_hadir_extuder_shift3 = 0;
- if($status_izin == 0 && $status_libur == 0) {
- /**
- * Setiap kondisi IF akan mengecek:
- * 1. Ketika jadwal untuk karyawan ADA dan jadwal untuk grup TIDAK ADA
- * 2. Ketika jadwal untuk karyawan TIDAK ADA dan jadwal untuk grup ADA
- * 3. Ketika jadwal untuk karyawan TIDAK ADA dan jadwal untuk grup TIDAK ADA
- */
- if($jadwal_rutin != null && $jadwal_rutin_group == null) {
- $created_at_rutin = Carbon::parse($jadwal_rutin->created_at);
- $tanggal_saat_ini = Carbon::parse($date);
- if($tanggal_saat_ini->gte($created_at_rutin)) {
- $jadwal_generate = $jadwal_rutin;
- $generate_storage->ada_jadwal_rutin = $jadwal_rutin->status;
- $generate_storage->tidak_hadir = 1;
- $generate_storage->ada_izin = false;
- $generate_storage->ada_libur = false;
- if($karyawan[$i]->tanggal_jadwal_rutin_diedit == null || Carbon::parse($date)->toDateString() <= Carbon::parse($karyawan[$i]->tanggal_jadwal_rutin_diedit)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu;
- } else if(Carbon::parse($date)->toDateString() > Carbon::parse($karyawan[$i]->tanggal_jadwal_diedit)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk_baru;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai_baru;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai_baru;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang_baru;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin_baru;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa_baru;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu_baru;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis_baru;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat_baru;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu_baru;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu_baru;
- }
- $generate_storage->save();
- }
- } else if($jadwal_rutin == null && $jadwal_rutin_group != null) {
- $created_at_rutin = Carbon::parse($jadwal_rutin_group->created_at);
- $tanggal_saat_ini = Carbon::parse($date);
- if($tanggal_saat_ini->gte($created_at_rutin)) {
- $jadwal_generate_group = $jadwal_rutin_group;
- $generate_storage->ada_jadwal_rutin = $jadwal_rutin_group->status;
- if($karyawan[$i]->tanggal_jadwal_rutin_diedit == null || Carbon::parse($date)->toDateString() <= Carbon::parse($karyawan[$i]->tanggal_jadwal_rutin_diedit)->toDateString()) {
- $generate_storage->jam_masuk_group = $jadwal_rutin_group->jam_masuk;
- $generate_storage->jam_istirahat_mulai_group = $jadwal_rutin_group->jam_istirahat_mulai;
- $generate_storage->jam_istirahat_selesai_group = $jadwal_rutin_group->jam_istirahat_selesai;
- $generate_storage->jam_pulang_group = $jadwal_rutin_group->jam_pulang;
- $generate_storage->checkbox_harikerja_senin_group = $jadwal_rutin_group->checkbox_harikerja_senin;
- $generate_storage->checkbox_harikerja_selasa_group = $jadwal_rutin_group->checkbox_harikerja_selasa;
- $generate_storage->checkbox_harikerja_rabu_group = $jadwal_rutin_group->checkbox_harikerja_rabu;
- $generate_storage->checkbox_harikerja_kamis_group = $jadwal_rutin_group->checkbox_harikerja_kamis;
- $generate_storage->checkbox_harikerja_jumat_group = $jadwal_rutin_group->checkbox_harikerja_jumat;
- $generate_storage->checkbox_harikerja_sabtu_group = $jadwal_rutin_group->checkbox_harikerja_sabtu;
- $generate_storage->checkbox_harikerja_minggu_group = $jadwal_rutin_group->checkbox_harikerja_minggu;
- } else if(Carbon::parse($date)->toDateString() > Carbon::parse($karyawan[$i]->tanggal_jadwal_diedit)->toDateString()) {
- $generate_storage->jam_masuk_group = $jadwal_rutin_group->jam_masuk_baru;
- $generate_storage->jam_istirahat_mulai_group = $jadwal_rutin_group->jam_istirahat_mulai_baru;
- $generate_storage->jam_istirahat_selesai_group = $jadwal_rutin_group->jam_istirahat_selesai_baru;
- $generate_storage->jam_pulang_group = $jadwal_rutin_group->jam_pulang_baru;
- $generate_storage->checkbox_harikerja_senin_group = $jadwal_rutin_group->checkbox_harikerja_senin_baru;
- $generate_storage->checkbox_harikerja_selasa_group = $jadwal_rutin_group->checkbox_harikerja_selasa_baru;
- $generate_storage->checkbox_harikerja_rabu_group = $jadwal_rutin_group->checkbox_harikerja_rabu_baru;
- $generate_storage->checkbox_harikerja_kamis_group = $jadwal_rutin_group->checkbox_harikerja_kamis_baru;
- $generate_storage->checkbox_harikerja_jumat_group = $jadwal_rutin_group->checkbox_harikerja_jumat_baru;
- $generate_storage->checkbox_harikerja_sabtu_group = $jadwal_rutin_group->checkbox_harikerja_sabtu_baru;
- $generate_storage->checkbox_harikerja_minggu_group = $jadwal_rutin_group->checkbox_harikerja_minggu_baru;
- }
- $generate_storage->tidak_hadir = 1;
- $generate_storage->ada_izin = false;
- $generate_storage->ada_libur = false;
- $generate_storage->save();
- }
- } else if($jadwal_rutin != null && $jadwal_rutin_group != null) {
- $created_at_rutin = Carbon::parse($jadwal_rutin->created_at);
- $tanggal_saat_ini = Carbon::parse($date);
- if($tanggal_saat_ini->gte($created_at_rutin)) {
- $jadwal_generate = $jadwal_rutin;
- $generate_storage->ada_jadwal_rutin = $jadwal_rutin->status;
- $generate_storage->tidak_hadir = 1;
- $generate_storage->ada_izin = false;
- $generate_storage->ada_libur = false;
- if($karyawan[$i]->tanggal_jadwal_rutin_diedit == null || Carbon::parse($date)->toDateString() <= Carbon::parse($karyawan[$i]->tanggal_jadwal_rutin_diedit)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu;
- } else if(Carbon::parse($date)->toDateString() > Carbon::parse($karyawan[$i]->tanggal_jadwal_diedit)->toDateString()) {
- $generate_storage->jam_masuk = $jadwal_rutin->jam_masuk_baru;
- $generate_storage->jam_istirahat_mulai = $jadwal_rutin->jam_istirahat_mulai_baru;
- $generate_storage->jam_istirahat_selesai = $jadwal_rutin->jam_istirahat_selesai_baru;
- $generate_storage->jam_pulang = $jadwal_rutin->jam_pulang_baru;
- $generate_storage->checkbox_harikerja_senin = $jadwal_rutin->checkbox_harikerja_senin_baru;
- $generate_storage->checkbox_harikerja_selasa = $jadwal_rutin->checkbox_harikerja_selasa_baru;
- $generate_storage->checkbox_harikerja_rabu = $jadwal_rutin->checkbox_harikerja_rabu_baru;
- $generate_storage->checkbox_harikerja_kamis = $jadwal_rutin->checkbox_harikerja_kamis_baru;
- $generate_storage->checkbox_harikerja_jumat = $jadwal_rutin->checkbox_harikerja_jumat_baru;
- $generate_storage->checkbox_harikerja_sabtu = $jadwal_rutin->checkbox_harikerja_sabtu_baru;
- $generate_storage->checkbox_harikerja_minggu = $jadwal_rutin->checkbox_harikerja_minggu_baru;
- }
- $generate_storage->save();
- }
- }
- // jika ada jadwal izin dan libur
- } else {
- $generate_storage->ada_jadwal_rutin = null;
- $generate_storage->tidak_hadir = 0;
- if($status_izin == 1) {
- $generate_storage->ada_izin = true;
- } else if($status_libur == 1) {
- $generate_storage->ada_libur = true;
- }
- $generate_storage->status_extuder_shift1 = null;
- $generate_storage->status_extuder_shift2 = null;
- $generate_storage->status_extuder_shift3 = null;
- $generate_storage->tidak_hadir_extuder_shift1 = 0;
- $generate_storage->tidak_hadir_extuder_shift2 = 0;
- $generate_storage->tidak_hadir_extuder_shift3 = 0;
- $generate_storage->save();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement