Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function inputMesin(Request $request)
- {
- $data_terinput = 0;
- $status_final = null;
- $nama_karyawan = '-';
- $group_karyawan = '-';
- try {
- if (isset($request->message)) {
- $data = $request->message;
- $row = $data;
- $pernah_masuk = 0;
- $pernah_istirahat_mulai = 0;
- $pernah_istirahat_selesai = 0;
- $pernah_pulang = 0;
- $karyawan_terdeteksi = null;
- $karyawan_terakhir = null;
- for ($i = 0; $i < count($row); $i++) {
- // $existing_presensi = Presensi::where('tanggal_dan_waktu_tap', '=', date("Y-m-d H:i:s", strtotime($row[$i]['DateTime'][0])))->where('karyawan_id', '=', $row[$i]['PIN'][0])->first();
- $existing_presensi = Presensi::where('tanggal_dan_waktu_tap', $row[$i]['DateTime'][0])->where('karyawan_id', $row[$i]['PIN'][0])->first();
- if(!isset($existing_presensi)) {
- $id_karyawan = $row[$i]['PIN'][0];
- $tanggal_waktu_tap = $row[$i]['DateTime'][0];
- $tanggal_waktu_tap_static = $row[$i]['DateTime'][0];
- $karyawan = Karyawan::with('group')->find($id_karyawan);
- if(isset($karyawan)) {
- $jamtap = date('H:i:s', strtotime($tanggal_waktu_tap));
- $slotjam = null;
- $poin = 0;
- $setting_poin = SettingPoin::find(1);
- $adajadwal = 0;
- $jadwal = null;
- $jadwal_terpilih = null;
- $status_libur = 0;
- $status_izin = 0;
- $nama_karyawan = $karyawan->nama;
- if(isset($karyawan->group_id)) {
- $group_karyawan = $karyawan->group->nama.'-'.$karyawan->groupno;
- }
- // cek jadwal libur dan jadwal izin
- $jadwal_libur = JadwalLibur::where('karyawan_id', '=', $id_karyawan)->get();
- $jadwal_izin = JadwalIzin::where('karyawan_id', '=', $id_karyawan)->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($tanggal_waktu_tap)->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($tanggal_waktu_tap)->format('Y-m-d');
- if(($tanggal_sekarang >= $mulai_libur) && ($tanggal_sekarang <= $selesai_libur)) {
- $status_libur = 1;
- }
- }
- // dd($status_libur == 0 && $status_izin == 0);
- if($status_libur == 0 && $status_izin == 0) {
- // ambil jadwal master
- // $jadwal_id_terpilih = null;
- // if ($karyawan->jadwal_id != null && $karyawan->jadwal_group_id == null) {
- // $jadwal_id_terpilih = $karyawan->jadwal_id;
- // // dd("case 1 = jadwal_id");
- // // cek jadwal rutin dulu
- // $jadwal = JadwalHariKerja::where([
- // ['karyawan_id', '=', $id_karyawan],
- // ['source_id', '=', $jadwal_id_terpilih]
- // ])->first();
- // $hari = Carbon::parse($tanggal_waktu_tap)->format('w');
- // //Pilih jadwal harus mulai dari sini
- // if(isset($jadwal)) {
- // if(($hari == 0) && ($jadwal->checkbox_harikerja_minggu)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 1) && ($jadwal->checkbox_harikerja_senin)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 2) && ($jadwal->checkbox_harikerja_selasa)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 3) && ($jadwal->checkbox_harikerja_rabu)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 4) && ($jadwal->checkbox_harikerja_kamis)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 5) && ($jadwal->checkbox_harikerja_jumat)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 6) && ($jadwal->checkbox_harikerja_sabtu)) {
- // $adajadwal = 1;
- // }
- // // dd($jadwal->checkbox_harikerja_jumat);
- // }
- // if($adajadwal == 1) {
- // $jadwal_terpilih = $jadwal;
- // }
- // }
- // if ($karyawan->jadwal_id == null && $karyawan->jadwal_group_id != null) {
- // $jadwal_id_terpilih = $karyawan->jadwal_group_id;
- // // dd("case 2 = jadwal_group_id");
- // // cek jadwal rutin dulu
- // $jadwal = JadwalHariKerja::where([
- // ['karyawan_id', '=', $id_karyawan],
- // ['source_id', '=', $jadwal_id_terpilih]
- // ])->first();
- // $hari = Carbon::parse($tanggal_waktu_tap)->format('w');
- // //Pilih jadwal harus mulai dari sini
- // if(isset($jadwal)) {
- // if(($hari == 0) && ($jadwal->checkbox_harikerja_minggu)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 1) && ($jadwal->checkbox_harikerja_senin)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 2) && ($jadwal->checkbox_harikerja_selasa)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 3) && ($jadwal->checkbox_harikerja_rabu)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 4) && ($jadwal->checkbox_harikerja_kamis)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 5) && ($jadwal->checkbox_harikerja_jumat)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 6) && ($jadwal->checkbox_harikerja_sabtu)) {
- // $adajadwal = 1;
- // }
- // // dd($jadwal->checkbox_harikerja_jumat);
- // }
- // if($adajadwal == 1) {
- // $jadwal_terpilih = $jadwal;
- // }
- // }
- // if ($karyawan->jadwal_id != null && $karyawan->jadwal_group_id != null) {
- // $jadwal_id_terpilih = $karyawan->jadwal_id;
- // // cek jadwal rutin dulu
- // $jadwal = JadwalHariKerja::where([
- // ['karyawan_id', '=', $id_karyawan],
- // ['source_id', '=', $jadwal_id_terpilih]
- // ])->first();
- // $hari = Carbon::parse($tanggal_waktu_tap)->format('w');
- // //Pilih jadwal harus mulai dari sini
- // if(isset($jadwal)) {
- // if(($hari == 0) && ($jadwal->checkbox_harikerja_minggu == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 1) && ($jadwal->checkbox_harikerja_senin == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 2) && ($jadwal->checkbox_harikerja_selasa == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 3) && ($jadwal->checkbox_harikerja_rabu == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 4) && ($jadwal->checkbox_harikerja_kamis == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 5) && ($jadwal->checkbox_harikerja_jumat == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 6) && ($jadwal->checkbox_harikerja_sabtu == 1)) {
- // $adajadwal = 1;
- // }
- // }
- // if($adajadwal == 1) {
- // $jadwal_terpilih = $jadwal;
- // }
- // if($adajadwal == 0) {
- // $jadwal_id_terpilih = $karyawan->jadwal_group_id;
- // $jadwal = JadwalHariKerja::where([
- // ['karyawan_id', '=', $id_karyawan],
- // ['source_id', '=', $jadwal_id_terpilih]
- // ])->first();
- // if(isset($jadwal)) {
- // if(($hari == 0) && ($jadwal->checkbox_harikerja_minggu == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 1) && ($jadwal->checkbox_harikerja_senin == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 2) && ($jadwal->checkbox_harikerja_selasa == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 3) && ($jadwal->checkbox_harikerja_rabu == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 4) && ($jadwal->checkbox_harikerja_kamis == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 5) && ($jadwal->checkbox_harikerja_jumat == 1)) {
- // $adajadwal = 1;
- // }
- // if(($hari == 6) && ($jadwal->checkbox_harikerja_sabtu == 1)) {
- // $adajadwal = 1;
- // }
- // if($adajadwal == 1) {
- // $jadwal_terpilih = $jadwal;
- // }
- // }
- // }
- // }
- // $tanggal_jadwal = null;
- // if(isset($jadwal_terpilih)) {
- $get_storage = KalkulasiPoinHarian::where('karyawan_id', $row[$i]['PIN'][0])
- ->where('tanggal_hari_ini', Carbon::parse($tanggal_waktu_tap)
- ->toDateString())->first();
- if($get_storage == null) {
- // $tanggal_jadwal = $get_storage->created_at;
- // dd("masuk sini");
- $jam_masuk = $get_storage->jam_masuk;
- $jam_istirahat_mulai = $get_storage->jam_istirahat_mulai;
- $jam_istirahat_selesai = $get_storage->jam_istirahat_selesai;
- $jam_pulang = $get_storage->jam_pulang;
- $setting_presensi = SettingPresensi::find(1);
- $closing_time = ClosingTime::find(1);
- $datang_awal = DatangAwal::find(1);
- $setting_datang_awal = strtotime($datang_awal->datang_awal)-strtotime("00:00:00");
- $setting_closing_time = strtotime($closing_time->jangka_waktu)-strtotime("00:00:00");
- if(isset($setting_presensi->toleransi_keterlambatan)) {
- $toleransi = strtotime($setting_presensi->toleransi_keterlambatan)-strtotime("00:00:00");
- // dd($jadwal_terpilih);
- // $max_istirahat_mulai = strtotime($jam_istirahat_selesai)-$toleransi-strtotime("00:00:00");
- // $max_istirahat_selesai = strtotime($jam_pulang)-$toleransi-strtotime("00:00:00");
- $max_istirahat_mulai = strtotime($jam_istirahat_selesai)-$toleransi-strtotime("00:00:00");
- $max_istirahat_selesai = strtotime($jam_pulang)-$toleransi-strtotime("00:00:00");
- $before_jam_masuk = date("H:i:s",strtotime($jam_masuk)-$setting_datang_awal);
- $after_jam_masuk = date("H:i:s",strtotime($jam_masuk)+$toleransi);
- // dd(date("H:i:s",strtotime($jam_istirahat_mulai)+$max_istirahat_mulai));
- $before_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_mulai)-$toleransi);
- $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_mulai)+$max_istirahat_mulai);
- $before_jam_istirahat_selesai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi);
- $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_istirahat_selesai)+$max_istirahat_selesai);
- $before_jam_pulang = date("H:i:s",strtotime($jam_pulang)-$toleransi);
- $after_jam_pulang = date("H:i:s",strtotime($jam_pulang)+$setting_closing_time);
- // dd($after_jam_pulang);
- if(($jamtap > $before_jam_masuk) && ($jamtap < $after_jam_masuk)) {
- $slotjam = "Masuk";
- $poin = $setting_poin->jam_masuk;
- } elseif(($jamtap == $before_jam_masuk) || ($jamtap == $after_jam_masuk)) {
- $slotjam = "Masuk";
- $poin = $setting_poin->jam_masuk;
- } elseif(($jamtap > $after_jam_masuk) && ($jamtap < $before_jam_istirahat_mulai)) {
- $slotjam = "Terlambat Masuk";
- $poin = $setting_poin->jam_masuk;
- } elseif(($jamtap > $before_jam_istirahat_mulai) && ($jamtap < $before_jam_istirahat_selesai)) {
- $slotjam = "Istirahat Mulai";
- $poin = $setting_poin->jam_mulai_istirahat;
- } elseif(($jamtap == $before_jam_istirahat_mulai)) {
- $slotjam = "Istirahat Mulai";
- $poin = $setting_poin->jam_mulai_istirahat;
- } elseif(($jamtap > $before_jam_istirahat_selesai) && ($jamtap < $before_jam_pulang)) {
- // } elseif(($jamtap > $before_jam_istirahat_selesai) && ($jamtap < $after_jam_istirahat_selesai)) {
- $slotjam = "Istirahat Selesai";
- $poin = $setting_poin->jam_selesai_istirahat;
- } elseif(($jamtap == $before_jam_istirahat_selesai)) {
- $slotjam = "Istirahat Selesai";
- $poin = $setting_poin->jam_selesai_istirahat;
- // Terlambat Istirahat Selesai
- // } elseif(($jamtap > $after_jam_istirahat_selesai) && ($jamtap < $before_jam_pulang)) {
- // $slotjam = "Terlambat Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // } elseif(($jamtap == $after_jam_istirahat_selesai)) {
- // $slotjam = "Terlambat Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // pulang
- } elseif(($jamtap > $before_jam_pulang) && ($jamtap < $after_jam_pulang)) {
- $slotjam = "Pulang";
- $poin = $setting_poin->jam_keluar;
- } elseif(($jamtap == $before_jam_pulang) || ($jamtap == $after_jam_pulang)) {
- $slotjam = "Pulang";
- $poin = $setting_poin->jam_keluar;
- } else if(strtotime($before_jam_pulang) > strtotime($after_jam_pulang)) {
- if(strtotime($jamtap) >= strtotime($before_jam_pulang) && strtotime($jamtap) < strtotime("24:00:00")) {
- $slotjam = "Pulang";
- $poin = $setting_poin->jam_keluar;
- } else if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("24:00:00")) && (strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- $slotjam = "Pulang";
- $poin = $setting_poin->jam_keluar;
- }
- }
- // } elseif(($jamtap > $before_jam_pulang) && strtotime("+24 hours", strtotime($after_jam_pulang) > "24:00:00")) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } elseif(strtotime("+24 hours", strtotime($jamtap)) > $before_jam_pulang && strtotime("+24 hours", strtotime($after_jam_pulang) > "24:00:00")) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
- // $tanggal_waktu_tap->subDay();
- // }
- //-----CASE A-----
- // if(strtotime($jam_pulang) < strtotime($jam_istirahat_selesai)) {
- // // dd(strtotime("00:00:00"));
- // // Jika jam tap < jam 12 malam
- // if((strtotime($jamtap) < strtotime("24:00:00"))) {
- // //-----CASE 1-----
- // if((strtotime($jamtap) > strtotime($before_jam_istirahat_selesai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // } elseif(($jamtap == $before_jam_istirahat_selesai)) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // }
- // //-----CASE 2-----
- // if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
- // if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_pulang)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // }
- // }
- // }
- // // Jika jam tap >= jam 12 malam
- // if((strtotime($jamtap) >= strtotime("00:00:00"))) {
- // // dd(strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang)) && strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)));
- // //-----CASE 3-----
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_istirahat_selesai)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // } elseif(($jamtap == $before_jam_istirahat_selesai)) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // }
- // //-----CASE 4-----
- // if(strtotime("+24 hours", strtotime($before_jam_pulang)) >= strtotime("00:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // }
- // }
- // //-----CASE 5-----
- // if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } elseif((strtotime($jamtap) == strtotime($before_jam_pulang)) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // }
- // }
- // //-----CASE 6-----
- // if(strtotime($after_jam_pulang) == strtotime("00:00:00")) {
- // if((strtotime($jamtap) > strtotime($before_jam_pulang)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } elseif((strtotime($jamtap) == strtotime($before_jam_pulang)) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // }
- // }
- // }
- // }
- //-----CASE B-----
- // if(strtotime($jam_istirahat_selesai) < strtotime($jam_istirahat_mulai)) {
- // // dd(strtotime("00:00:00"));
- // // Jika jam tap < jam 12 malam
- // if((strtotime($jamtap) < strtotime("24:00:00"))) {
- // //-----CASE 7-----
- // if((strtotime($jamtap) > strtotime($before_jam_istirahat_mulai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // } elseif(($jamtap == $before_jam_istirahat_mulai)) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // }
- // //-----CASE 8-----
- // if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
- // if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // }
- // }
- // }
- // // Jika jam tap >= jam 12 malam
- // if((strtotime($jamtap) >= strtotime("00:00:00"))) {
- // //-----CASE 9-----
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_istirahat_mulai)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // } elseif(($jamtap == $before_jam_istirahat_mulai)) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // }
- // //-----CASE 10-----
- // if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) >= strtotime("00:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // }
- // }
- // //-----CASE 11-----
- // if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_selesai))) {
- // $slotjam = "Istirahat Selesai";
- // $poin = $setting_poin->jam_selesai_istirahat;
- // }
- // }
- // }
- // }
- //-----CASE C-----
- // if(strtotime($jam_istirahat_mulai) < strtotime($jam_masuk)) {
- // // dd(strtotime("00:00:00"));
- // // Jika jam tap < jam 12 malam
- // if((strtotime($jamtap) < strtotime("24:00:00"))) {
- // //-----CASE 12-----
- // if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } elseif(($jamtap == $before_jam_masuk)) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // //-----CASE 13-----
- // if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) < strtotime("24:00:00")) {
- // if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // }
- // }
- // //-----CASE 14-----
- // if(strtotime($after_jam_masuk) < strtotime("24:00:00")) {
- // if(strtotime($before_jam_istirahat_mulai) < strtotime("24:00:00")) {
- // if((strtotime($jamtap) > strtotime($after_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
- // $slotjam = "Terlambat Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // }
- // }
- // if(strtotime($jam_masuk) == strtotime("00:00:00")) {
- // //-----CASE 15-----
- // if(strtotime($before_jam_masuk) < strtotime("00:00:00")) {
- // if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_masuk))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_masuk)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // }
- // }
- // }
- // // Jika jam tap >= jam 12 malam
- // if((strtotime($jamtap) >= strtotime("00:00:00"))) {
- // // dd(strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang)) && strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)));
- // //-----CASE 16----
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } elseif(($jamtap == $before_jam_masuk)) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // //-----CASE 17-----
- // if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) >= strtotime("00:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // }
- // }
- // //-----CASE 18-----
- // if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) < strtotime("24:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_mulai))) {
- // $slotjam = "Istirahat Mulai";
- // $poin = $setting_poin->jam_mulai_istirahat;
- // }
- // }
- // //-----CASE 19-----
- // if(strtotime($after_jam_masuk) >= strtotime("00:00:00")) {
- // if(strtotime($before_jam_istirahat_mulai) >= strtotime("24:00:00")) {
- // if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
- // $slotjam = "Terlambat Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // }
- // }
- // //-----CASE 20-----
- // if(strtotime($before_jam_masuk) == strtotime("00:00:00")) {
- // if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } elseif((strtotime($jamtap) == strtotime($before_jam_masuk)) || (strtotime($jamtap) == strtotime($after_jam_pulang))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // }
- // if(strtotime($jam_masuk) == strtotime("00:00:00")) {
- // //-----CASE 21-----
- // if(strtotime($before_jam_masuk) < strtotime("00:00:00")) {
- // if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_mulai))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // }
- // }
- // }
- // }
- // dd(strtotime($jamtap) > strtotime("00:00:00"));
- //-----CASE D-----
- // if(strtotime($jam_masuk) == strtotime("00:00:00")) {
- // //-----CASE 22-----
- // if((strtotime($jamtap) < strtotime("00:00:00")) == false) {
- // if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_masuk))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } else if((strtotime("+24 hours",strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // } else if((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_masuk))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_masuk)))) {
- // $slotjam = "Masuk";
- // $poin = $setting_poin->jam_masuk;
- // }
- // }
- // }
- //-----CASE E-----
- // if(strtotime($jam_pulang) == strtotime("00:00:00")) {
- // //-----CASE 23-----
- // if((strtotime($jamtap) < strtotime("00:00:00")) == false) {
- // if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } else if((strtotime("+24 hours",strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // } else if((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
- // $slotjam = "Pulang";
- // $poin = $setting_poin->jam_keluar;
- // }
- // }
- // }
- // //-----CASE E----- [2nd Concept]
- // //-----DD() Section-----
- // dd(strtotime($before_jam_masuk) < strtotime("24:00:00"));
- // //-----DD() Section-----
- // if(strtotime($before_jam_masuk) < strtotime("24:00:00")) {
- // if((strtotime($jamtap) > strtotime("24:00:00"))) {
- // dd("masuk sini");
- // } else {
- // dd("masuk sana");
- // }
- // }
- }
- } else {
- $slotjam = null;
- $poin = 0;
- }
- $status_final = $slotjam;
- $presensi = array(
- 'karyawan_id' => $id_karyawan,
- 'nama_karyawan' => $nama_karyawan,
- 'group_karyawan' => $group_karyawan,
- 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
- 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
- 'setting_presensi_id' => 1,
- 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
- 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
- 'poin' => $poin,
- 'status' => 'Rutin',
- 'slotjam' => $slotjam
- );
- $presensilog = array(
- 'karyawan_id' => $id_karyawan,
- 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
- 'nama_karyawan' => $nama_karyawan,
- 'group_karyawan' => $group_karyawan,
- 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
- 'slotjam' => $slotjam,
- 'poin' => $poin,
- 'status' => 'Rutin',
- );
- $tanggal_terdeteksi = null;
- $tanggal_terakhir = null;
- $slotjamkomparasi = $slotjam;
- if($slotjamkomparasi == 'Terlambat Masuk') {
- $slotjamkomparasi = 'Masuk';
- }
- $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap', '=', date('Y-m-d', strtotime($tanggal_waktu_tap)))
- ->where('status', '=', 'Rutin')
- ->where('slotjam', 'like', '%'.$slotjamkomparasi)
- ->where('karyawan_id', '=', $id_karyawan)->first();
- // cek dulu lolos dari kriteria jadwal hari ini ada atau tidak
- // tanggal hari ini == created at jadwal + 1
- // ambil created at jadwal di atas
- // tidak perlu, sudah direct ke harian
- // $tanggal_jadwal_next = null;
- // $tanggal_tap_final = null;
- // $tap_boleh_masuk = false;
- // if($tanggal_jadwal != null) {
- // $tanggal_jadwal_next = Carbon::parse($tanggal_jadwal)->addDay()->toDateString();
- // $tanggal_tap_final = Carbon::parse($tanggal_waktu_tap)->toDateString();
- // if(Carbon::parse($tanggal_tap_final)->gte(Carbon::parse($tanggal_jadwal_next))) {
- // $tap_boleh_masuk = true;
- // }
- // }
- if(isset($oldpresensi)) {
- // $oldpresensi->update($presensi);
- $data_terinput = $data_terinput + 0;
- } else if(!isset($oldpresensi)) {
- // disini sudah final, tinggal masuk
- // jangan ditambah filter macam macam
- // dicek lg ada yg mengganjal di harian dan mingguan jam
- // cek jam masuk
- if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
- Presensi::create($presensi);
- $data_terinput = $data_terinput + 1;
- // input ke kph
- self::inputPresensiToKph($presensi, 'Rutin', null, null);
- // input ke mingguanjam rutin
- self::inputMingguanJamRutin($presensi);
- // input ke mingguan poin rutin
- self::inputMingguanPoinRutin($presensi);
- }
- // cek jam istirahat mulai
- if($slotjam == 'Istirahat Mulai') {
- Presensi::create($presensi);
- $data_terinput = $data_terinput + 1;
- // input ke kph
- self::inputPresensiToKph($presensi, 'Rutin', null, null);
- // input ke mingguanjam rutin
- self::inputMingguanJamRutin($presensi);
- // input ke mingguan poin rutin
- self::inputMingguanPoinRutin($presensi);
- }
- // cek jam istirahat selesai
- if(($slotjam == 'Istirahat Selesai') || ($slotjam == 'Terlambat Istirahat Selesai')) {
- Presensi::create($presensi);
- $data_terinput = $data_terinput + 1;
- // input ke kph
- self::inputPresensiToKph($presensi, 'Rutin', null, null);
- // input ke mingguanjam rutin
- self::inputMingguanJamRutin($presensi);
- // input ke mingguan poin rutin
- self::inputMingguanPoinRutin($presensi);
- }
- // cek jam pulang
- if($slotjam == 'Pulang') {
- Presensi::create($presensi);
- $data_terinput = $data_terinput + 1;
- // input ke kph
- self::inputPresensiToKph($presensi, 'Rutin', null, null);
- // input ke mingguanjam rutin
- self::inputMingguanJamRutin($presensi);
- // input ke mingguan poin rutin
- self::inputMingguanPoinRutin($presensi);
- }
- }
- // PresensiLog::create($presensilog);
- // $peringatan = SuratPeringatan::find($id_karyawan);
- // $peringatan->tanggal_tap_terakhir = $tanggal_waktu_tap;
- // $peringatan->tanggal_awal = $tanggal_waktu_tap;
- // $peringatan->save();
- }
- }
- }
- }
- }
- } catch (Exception $e) {
- echo $e->message;
- }
- return response()->json(['status' => 200, 'message' => 'Data Terinput:' . $data_terinput, 'status_presensi' => $status_final]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement