Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function subInputMesinNgeplus($tap, $tap_pin, $trial) {
- $slotjam = null;
- $poin = 0;
- $tap = Carbon::parse($tap)->toDateTimeString();
- $tap_dimundurkan = Carbon::parse($tap)->subDay()->toDateTimeString();
- $karyawan = Karyawan::find($tap_pin);
- if($karyawan != null) {
- $kph = HarianNgeplus::where('karyawan_id', $karyawan->id)
- ->whereDate('tanggal', Carbon::parse($tap)->toDateString())
- ->first();
- $status_izin = $this->statusJadwalIzin($karyawan->id, $tap);
- if($kph != null && $status_izin == 0) {
- $setting_poin = SettingPoin::find(2);
- $setting_presensi = SettingPresensi::find(1);
- $datang_awal = DatangAwal::find(1);
- $closing_time = ClosingTime::find(1);
- $jam_masuk = Carbon::parse($kph->jam_masuk)->toDateTimeString();
- $jam_istirahat_mulai = Carbon::parse($kph->jam_istirahat_mulai)->toDateTimeString();
- $jam_istirahat_selesai = Carbon::parse($kph->jam_istirahat_selesai)->toDateTimeString();
- $jam_pulang = Carbon::parse($kph->jam_pulang)->toDateTimeString();
- $toleransi = $setting_presensi->toleransi_keterlambatan;
- $toleransi_awal_istirahat_mulai = $setting_presensi->toleransi_awal_istirahat_mulai;
- $toleransi_awal_istirahat_selesai = $setting_presensi->toleransi_awal_istirahat_selesai;
- $toleransi_awal_pulang = $setting_presensi->toleransi_awal_pulang;
- $setting_datang_awal = $datang_awal->datang_awal;
- $setting_closing_time = $closing_time->jangka_waktu;
- // dd($setting_closing_time);
- $max_istirahat_mulai = Carbon::parse($toleransi_awal_istirahat_selesai)->minute;
- $max_istirahat_selesai = Carbon::parse($toleransi_awal_pulang)->minute;
- $before_jam_masuk = Carbon::parse($jam_masuk)->subHours(Carbon::parse($setting_datang_awal)->hour)->toDateTimeString();
- $after_jam_masuk = Carbon::parse($jam_masuk)->addMinutes(Carbon::parse($toleransi)->minute)->toDateTimeString();
- $before_jam_istirahat_mulai = Carbon::parse(Carbon::parse($jam_istirahat_mulai)->subMinutes(Carbon::parse($toleransi_awal_istirahat_mulai)->minute))->toDateTimeString();
- $after_jam_istirahat_mulai = Carbon::parse(Carbon::parse($jam_istirahat_mulai)->addMinutes($max_istirahat_mulai))->toDateTimeString();
- $before_jam_istirahat_selesai = Carbon::parse(Carbon::parse($jam_istirahat_selesai)->subMinutes(Carbon::parse($toleransi_awal_istirahat_selesai)->minute))->toDateTimeString();
- $after_jam_istirahat_selesai = Carbon::parse(Carbon::parse($jam_istirahat_selesai)->addMinutes($max_istirahat_selesai))->toDateTimeString();
- $before_jam_pulang = Carbon::parse(Carbon::parse($jam_pulang)->subMinutes(Carbon::parse($toleransi_awal_pulang)->minute))->toDateTimeString();
- $after_jam_pulang = Carbon::parse(Carbon::parse($jam_pulang)->addHours(Carbon::parse($setting_closing_time)->hour))->toDateTimeString();
- // normal
- if(Carbon::parse($before_jam_masuk)->lt(Carbon::parse($after_jam_masuk)) && Carbon::parse($tap)->between($before_jam_masuk, $after_jam_masuk) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_masuk)->endOfDay()) && $kph->slotjam_masuk == null) {
- $slotjam = 'Masuk';
- } else if(Carbon::parse($after_jam_masuk)->lt(Carbon::parse($before_jam_istirahat_mulai)) && Carbon::parse($tap)->between($after_jam_masuk, $before_jam_istirahat_mulai) && Carbon::parse($tap)->lte(Carbon::parse($before_jam_istirahat_mulai)->endOfDay()) && $kph->slotjam_masuk == null) {
- $slotjam = 'Terlambat Masuk';
- } else if(Carbon::parse($before_jam_istirahat_mulai)->lt(Carbon::parse($after_jam_istirahat_selesai)) && Carbon::parse($tap)->between($before_jam_istirahat_mulai, $after_jam_istirahat_selesai) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_istirahat_selesai)->endOfDay()) && $kph->slotjam_istirahat_mulai == null) {
- $slotjam = 'Istirahat Mulai';
- } else if(Carbon::parse($before_jam_istirahat_mulai)->lt(Carbon::parse($after_jam_istirahat_selesai)) && Carbon::parse($tap)->between($before_jam_istirahat_mulai, $after_jam_istirahat_selesai) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_istirahat_selesai)->endOfDay()) && $kph->slotjam_istirahat_mulai != null) {
- $slotjam = 'Istirahat Selesai';
- } else if(Carbon::parse($before_jam_pulang)->lt(Carbon::parse($after_jam_pulang)) && Carbon::parse($tap)->between($before_jam_pulang, $after_jam_pulang) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_pulang)->endOfDay()) && $kph->slotjam_pulang == null) {
- $slotjam = 'Pulang';
- // berpotongan dinihari
- } else if(Carbon::parse($before_jam_masuk)->gt(Carbon::parse($after_jam_masuk)) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_masuk)->endOfDay()) && $kph->slotjam_masuk == null) {
- $slotjam = 'Masuk';
- } else if(Carbon::parse($after_jam_masuk)->gt(Carbon::parse($before_jam_istirahat_mulai)) && Carbon::parse($tap)->lte(Carbon::parse($before_jam_istirahat_mulai)->endOfDay()) && $kph->slotjam_masuk == null) {
- $slotjam = 'Terlambat Masuk';
- } else if(Carbon::parse($before_jam_istirahat_mulai)->gt(Carbon::parse($after_jam_istirahat_selesai)) && Carbon::parse($tap)->between($before_jam_istirahat_mulai, $after_jam_istirahat_selesai) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_istirahat_selesai)->endOfDay()) && $kph->slotjam_istirahat_mulai == null) {
- $slotjam = 'Istirahat Mulai';
- } else if(Carbon::parse($before_jam_istirahat_mulai)->gt(Carbon::parse($after_jam_istirahat_selesai)) && Carbon::parse($tap)->between($before_jam_istirahat_mulai, $after_jam_istirahat_selesai) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_istirahat_selesai)->endOfDay()) && $kph->slotjam_istirahat_mulai != null) {
- $slotjam = 'Istirahat Selesai';
- } else if(Carbon::parse($before_jam_pulang)->gt(Carbon::parse($after_jam_pulang)) && Carbon::parse($tap)->between($before_jam_pulang, $after_jam_pulang) && Carbon::parse($tap)->lte(Carbon::parse($after_jam_pulang)->endOfDay()) && $kph->slotjam_pulang == null) {
- $slotjam = 'Pulang';
- } else if($slotjam == null && $trial < 1) {
- $this->subInputMesinNgeplus($tap_dimundurkan, $tap_pin, 1);
- }
- if($slotjam == 'Masuk' || $slotjam == 'Terlambat Masuk') {
- $kph->poin = $kph->poin + (float)$poin;
- $kph->slotjam_masuk = $tap;
- $kph->slotjam_masuk_status = $slotjam;
- $kph->save();
- } else if($slotjam == 'Istirahat Mulai') {
- $kph->poin = $kph->poin + (float)$poin;
- $kph->slotjam_istirahat_mulai = $tap;
- $kph->save();
- } else if($slotjam == 'Istirahat Selesai' || $slotjam == 'Terlambat Istirahat Selesai') {
- $kph->poin = $kph->poin + (float)$poin;
- $kph->slotjam_istirahat_selesai = $tap;
- $kph->save();
- } else if($slotjam == 'Pulang') {
- $kph->poin = $kph->poin + (float)$poin;
- $kph->slotjam_pulang = $tap;
- $kph->save();
- }
- } else if($kph == null) {
- $this->subInputMesinNgeplus($tap_dimundurkan, $tap_pin, 1);
- }
- }
- return $slotjam;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement