Advertisement
vitareinforce

input mesin extuder v2

Dec 3rd, 2021
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 157.84 KB | None | 0 0
  1. public function inputMesinExtuder(Request $request) {
  2. $data_terinput = 0;
  3. $status_final = null;
  4. $nama_karyawan = '-';
  5. $group_karyawan = '-';
  6.  
  7. $tanggal_saat_ini = null;
  8. $tanggal_besok = null;
  9. $tanggal_lusa = null;
  10.  
  11. $slotjam = null;
  12. $source = null;
  13. $source_id = null;
  14. $poin = 0;
  15. $presensi = null;
  16. $presensilog = null;
  17. $status = null;
  18.  
  19. try {
  20. if (isset($request->message)) {
  21. $data = $request->message;
  22. $row = $data;
  23.  
  24. for ($i = 0; $i < count($row); $i++) {
  25.  
  26. $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])->where('status', 'like', 'extuder-%')->first();
  27.  
  28. if(!isset($existing_presensi)) {
  29.  
  30. $id_karyawan = $row[$i]['PIN'][0];
  31. // set tanggal hari ini, besok, lusa;
  32. $tanggal_waktu_tap = $row[$i]['DateTime'][0];
  33. $tanggal_waktu_tap_static = $row[$i]['DateTime'][0];
  34. $jamtap = date('H:i:s', strtotime($tanggal_waktu_tap));
  35. $tanggal_saat_ini = Carbon::parse($tanggal_waktu_tap)->format('Y-m-d');
  36. $tanggal_besok = Carbon::parse($tanggal_waktu_tap)->add(1, 'day')->format('Y-m-d');
  37. $tanggal_lusa = Carbon::parse($tanggal_waktu_tap)->add(2, 'day')->format('Y-m-d');
  38.  
  39. // ambil data karyawan
  40. $karyawan = Karyawan::find($id_karyawan);
  41.  
  42. if(isset($karyawan)) {
  43.  
  44. // get nama dan group karyawan
  45. $nama_karyawan = $karyawan->nama;
  46. if(isset($karyawan->group_id)) {
  47. $group_karyawan = $karyawan->group->nama.'-'.$karyawan->groupno;
  48. }
  49.  
  50. /**
  51. * Ambil Jadwal disini
  52. */
  53. $jadwalExtuder = JadwalHariKerjaExtuder::where('karyawan_id', $id_karyawan)->first();
  54. // dd($jadwalExtuder);
  55.  
  56. // loop jadwal extuder
  57. // for($jx = 0; $jx < count($jadwalExtuder); $jx++) {
  58. if(isset($jadwalExtuder)) {
  59. // set source dan source id untuk kehadiran
  60. $source = $jadwalExtuder->source;
  61. $source_id = $jadwalExtuder->source_id;
  62.  
  63. /**
  64. * Cek dulu tanggal boleh tap nya sudah ada?
  65. */
  66. if(!isset($jadwalExtuder->tanggal_boleh_tap)) {
  67. $jadwalExtuder->tanggal_boleh_tap = $tanggal_saat_ini;
  68. $jadwalExtuder->tanggal_boleh_tap_selanjutnya = $tanggal_lusa;
  69. $jadwalExtuder->save();
  70. }
  71.  
  72. // ambil tanggal hari ini, besok, lusa
  73. // variable mohon disesuaikan
  74. $jadwal_hari_ini = $jadwalExtuder->tanggal_boleh_tap;
  75. $jadwal_besok = Carbon::parse($jadwalExtuder->tanggal_boleh_tap)->add(1, 'day')->format('Y-m-d');
  76. $jadwal_lusa = $jadwalExtuder->tanggal_boleh_tap_selanjutnya;
  77.  
  78. $status_boleh_ngetap = 0;
  79.  
  80. // cek tanggal tap
  81. if($tanggal_saat_ini == $jadwal_hari_ini) {
  82. // boleh masuk presensi
  83. $status_boleh_ngetap = 1;
  84. } else if($tanggal_saat_ini == $jadwal_besok) {
  85. // skip / tidak dibolehkan masuk
  86. $status_boleh_ngetap = 0;
  87. } else if($tanggal_saat_ini == $jadwal_lusa) {
  88. // boleh masuk presensi dan update jadwalnya
  89. $status_boleh_ngetap = 1;
  90. // update tanggal
  91. // $jadwalExtuder->tanggal_boleh_tap = $jadwal_lusa;
  92. // $jadwalExtuder->tanggal_boleh_tap_selanjutnya = Carbon::parse($jadwal_lusa)->add(2, 'day')->format('Y-m-d');;
  93. // $jadwalExtuder->save();
  94. } else if($tanggal_saat_ini > $jadwal_lusa) {
  95. // cek berapa jarak hari dari jadwal lusa
  96. $jarak_hari = Carbon::parse($jadwal_lusa)->diffInDays(Carbon::parse($tanggal_saat_ini));
  97. // cek jarak genap dan ganjil
  98. if($jarak_hari % 2 == 0) {
  99. // genap boleh ngetap
  100. $status_boleh_ngetap= 1;
  101.  
  102. // update jadwal
  103. $jadwalExtuder->tanggal_boleh_tap = $tanggal_saat_ini;
  104. $jadwalExtuder->tanggal_boleh_tap_selanjutnya = $tanggal_lusa;
  105. $jadwalExtuder->save();
  106. } else {
  107. // ganjil tidak boleh ngetap
  108. $status_boleh_ngetap = 0;
  109. }
  110. }
  111.  
  112. //---------- Shift 1 ----------//
  113. $jam_masuk_shift1 = $jadwalExtuder->jam_masuk_shift1;
  114. $jam_istirahat_mulai_shift1 = $jadwalExtuder->jam_istirahat_mulai_shift1;
  115. $jam_istirahat_selesai_shift1 = $jadwalExtuder->jam_istirahat_selesai_shift1;
  116. $jam_pulang_shift1 = $jadwalExtuder->jam_pulang_shift1;
  117. //---------- Shift 1 ----------//
  118.  
  119. //---------- Shift 2 ----------//
  120. $jam_masuk_shift2 = $jadwalExtuder->jam_masuk_shift2;
  121. $jam_istirahat_mulai_shift2 = $jadwalExtuder->jam_istirahat_mulai_shift2;
  122. $jam_istirahat_selesai_shift2 = $jadwalExtuder->jam_istirahat_selesai_shift2;
  123. $jam_pulang_shift2 = $jadwalExtuder->jam_pulang_shift2;
  124. //---------- Shift 2 ----------//
  125.  
  126. //---------- Shift 3 ----------//
  127. $jam_masuk_shift3 = $jadwalExtuder->jam_masuk_shift3;
  128. $jam_istirahat_mulai_shift3 = $jadwalExtuder->jam_istirahat_mulai_shift3;
  129. $jam_istirahat_selesai_shift3 = $jadwalExtuder->jam_istirahat_selesai_shift3;
  130. $jam_pulang_shift3 = $jadwalExtuder->jam_pulang_shift3;
  131. //---------- Shift 3 ----------//
  132.  
  133. $setting_presensi = SettingPresensi::find(1);
  134. $datang_awal = DatangAwalExtuder::find(1);
  135. $setting_poin = SettingPoinExtuder::find(1);
  136. $setting_datang_awal = strtotime($datang_awal->datang_awal)-strtotime("00:00:00");
  137.  
  138. $punya_shift2 = false;
  139. $punya_shift3 = false;
  140.  
  141. if(isset($setting_presensi->toleransi_keterlambatan)) {
  142. $toleransi = strtotime($setting_presensi->toleransi_keterlambatan)-strtotime("00:00:00");
  143.  
  144. //---------- Shift 1 ----------//
  145. $before_jam_masuk_shift1 = null;
  146. $after_jam_masuk_shift1 = null;
  147. $before_jam_istirahat_mulai_shift1 = null;
  148. $before_jam_istirahat_selesai_shift1 = null;
  149. $before_jam_pulang_shift1 = null;
  150. $after_jam_pulang_shift1 = null;
  151.  
  152. if($jam_masuk_shift1 != null && $jam_istirahat_mulai_shift1 != null && $jam_istirahat_selesai_shift1 != null && $jam_pulang_shift1 != null) {
  153. $before_jam_masuk_shift1 = date("H:i:s",strtotime($jam_masuk_shift1)-$setting_datang_awal);
  154. $after_jam_masuk_shift1 = date("H:i:s",strtotime($jam_masuk_shift1)+$toleransi);
  155.  
  156. $before_jam_istirahat_mulai_shift1 = date("H:i:s",strtotime($jam_istirahat_mulai_shift1)-$toleransi);
  157. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  158.  
  159. $before_jam_istirahat_selesai_shift1 = date("H:i:s",strtotime($jam_istirahat_selesai_shift1)-$toleransi);
  160. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  161.  
  162. $before_jam_pulang_shift1 = date("H:i:s",strtotime($jam_pulang_shift1)-$toleransi);
  163. $after_jam_pulang_shift1 = null;
  164.  
  165. // ini bwt ngecek after jam pulang shift 1, cek dulu shift 2 nya ada atau tidak
  166. if($jadwalExtuder->jam_masuk_shift2 != null) {
  167. $punya_shift2 = true;
  168. $jarak_pulang_shift1 = abs(strtotime($jadwalExtuder->jam_pulang_shift1) - strtotime($jadwalExtuder->jam_masuk_shift2)) / 60;
  169. if($jarak_pulang_shift1 >= 150) {
  170. $after_jam_pulang_shift1 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift2)-$setting_datang_awal);
  171. } else if($jarak_pulang_shift1 < 150) {
  172. $after_jam_pulang_shift1 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift2)-$toleransi);
  173. }
  174. } else if($jadwalExtuder->jam_masuk_shift2 == null) {
  175. $punya_shift2 = false;
  176. $after_jam_pulang_shift1 = date("H:i:s",strtotime("+5 hours", strtotime($jam_pulang_shift1)));
  177. }
  178. }
  179. //---------- Shift 1 ----------//
  180.  
  181. //---------- Shift 2 ----------//
  182. $before_jam_masuk_shift2 = null;
  183. $after_jam_masuk_shift2 = null;
  184. $before_jam_istirahat_mulai_shift2 = null;
  185. $before_jam_istirahat_selesai_shift2 = null;
  186. $before_jam_pulang_shift2 = null;
  187. $after_jam_pulang_shift2 = null;
  188.  
  189. if($jam_masuk_shift2 != null && $jam_istirahat_mulai_shift2 != null && $jam_istirahat_selesai_shift2 != null && $jam_pulang_shift2 != null) {
  190. // ini bwt ngecek before jam masuk dr shift 2 ke shift 1
  191. if($jadwalExtuder->jam_pulang_shift1 != null) {
  192. $jarak_masuk_shift2 = abs(strtotime($jadwalExtuder->jam_pulang_shift1) - strtotime($jadwalExtuder->jam_masuk_shift2)) / 60;
  193. if($jarak_masuk_shift2 >= 150) {
  194. $before_jam_masuk_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)-$setting_datang_awal);
  195. // $before_jam_masuk_shift2 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift2)));
  196. } else if($jarak_masuk_shift2 < 150) {
  197. $before_jam_masuk1_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)-$toleransi);
  198. $before_jam_masuk_shift2 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift2)));
  199. }
  200. } else if ($jadwalExtuder->jam_pulang_shift1 == null){
  201. $before_jam_masuk1_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)-$setting_datang_awal);
  202. $before_jam_masuk_shift2 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift2)));
  203. }
  204. $after_jam_masuk_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)+$toleransi);
  205.  
  206. $before_jam_istirahat_mulai_shift2 = date("H:i:s",strtotime($jam_istirahat_mulai_shift2)-$toleransi);
  207. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  208.  
  209. $before_jam_istirahat_selesai_shift2 = date("H:i:s",strtotime($jam_istirahat_selesai_shift2)-$toleransi);
  210. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  211.  
  212. $before_jam_pulang_shift2 = date("H:i:s",strtotime($jam_pulang_shift2)-$toleransi);
  213.  
  214. // bwt ngecek after jam pulang shift 2, hrs ngecek dulu shift 3 nya ada atau ga
  215. if($jadwalExtuder->jam_masuk_shift3 != null) {
  216. $punya_shift3 = true;
  217. $jarak_pulang_shift2 = abs(strtotime($jadwalExtuder->jam_pulang_shift2) - strtotime($jadwalExtuder->jam_masuk_shift3)) / 60;
  218. // dd($jarak_pulang);
  219. if($jarak_pulang_shift2 >= 150) {
  220. $after_jam_pulang_shift2 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift3)-$setting_datang_awal);
  221. } else {
  222. $after_jam_pulang_shift2 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift3)-$toleransi);
  223. }
  224. } else if($jadwalExtuder->jam_masuk_shift3 == null) {
  225. $punya_shift3 = false;
  226. $after_jam_pulang_shift2 = date("H:i:s",strtotime("+5 hours", strtotime($jam_pulang_shift2)));
  227. }
  228. }
  229. //---------- Shift 2 ----------//
  230.  
  231. //---------- Shift 3 ----------//
  232. $before_jam_masuk_shift3 = null;
  233. $after_jam_masuk_shift3 = null;
  234. $before_jam_istirahat_mulai_shift3 = null;
  235. $before_jam_istirahat_selesai_shift3 = null;
  236. $before_jam_pulang_shift3 = null;
  237. $after_jam_pulang_shift3 = null;
  238.  
  239. if($jam_masuk_shift3 != null && $jam_istirahat_mulai_shift3 != null && $jam_istirahat_selesai_shift3 != null && $jam_pulang_shift3 != null) {
  240.  
  241. // bwt ngecek before jam masuk shift 3, hrs ngecek shift 2 nya dulu
  242. if($jadwalExtuder->jam_pulang_shift2 != null) {
  243. $jarak_masuk_shift3 = abs(strtotime($jadwalExtuder->jam_pulang_shift2) - strtotime($jadwalExtuder->jam_masuk_shift3)) / 60;
  244. if($jarak_masuk_shift3 >= 150) {
  245. $before_jam_masuk_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)-$setting_datang_awal);
  246. // $before_jam_masuk_shift3 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift3)));
  247. } else {
  248. $before_jam_masuk1_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)-$toleransi);
  249. $before_jam_masuk_shift3 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift3)));
  250. }
  251. } else {
  252. $before_jam_masuk1_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)-$setting_datang_awal);
  253. $before_jam_masuk_shift3 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift3)));
  254. }
  255. $after_jam_masuk_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)+$toleransi);
  256.  
  257. $before_jam_istirahat_mulai_shift3 = date("H:i:s",strtotime($jam_istirahat_mulai_shift3)-$toleransi);
  258. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  259.  
  260. $before_jam_istirahat_selesai_shift3 = date("H:i:s",strtotime($jam_istirahat_selesai_shift3)-$toleransi);
  261. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  262.  
  263. $before_jam_pulang_shift3 = date("H:i:s",strtotime($jam_pulang_shift3)-$toleransi);
  264.  
  265. $after_jam_pulang_shift3 = date("H:i:s",strtotime("+5 hours", strtotime($jam_pulang_shift3)));
  266. }
  267. //---------- Shift 3 ----------//
  268.  
  269. /**
  270. * Buat debugging
  271. */
  272. // dd($jadwalExtuder);
  273. // dd("BJM:".$before_jam_masuk_shift1." AJM:".$after_jam_masuk_shift1." BIM:".$before_jam_istirahat_mulai_shift1." BIS:".$before_jam_istirahat_selesai_shift1." BJP:".$before_jam_pulang_shift1." AJP:".$after_jam_pulang_shift1);
  274. // dd("BJM:".$before_jam_masuk_shift2." AJM:".$after_jam_masuk_shift2." BIM:".$before_jam_istirahat_mulai_shift2." BIS:".$before_jam_istirahat_selesai_shift2." BJP:".$before_jam_pulang_shift2." AJP:".$after_jam_pulang_shift2);
  275. // dd("BJM:".$before_jam_masuk_shift3." AJM:".$after_jam_masuk_shift3." BIM:".$before_jam_istirahat_mulai_shift3." BIS:".$before_jam_istirahat_selesai_shift3." BJP:".$before_jam_pulang_shift3." AJP:".$after_jam_pulang_shift3);
  276.  
  277. //------------- Bagi dua bagian normal dan dinihari-------------//
  278. if($status_boleh_ngetap == 1) {
  279. // case normal disini
  280.  
  281. // variable untuk nampung slotjam, status dan poin presensi
  282. $slotjam = null;
  283. $status = null;
  284. $poin = null;
  285.  
  286. //========= SHIFT 1 =========//
  287. if(isset($jam_masuk_shift1) && ($jamtap > $before_jam_masuk_shift1) && ($jamtap < $after_jam_masuk_shift1)) {
  288. $slotjam = "Masuk";
  289. $poin = $setting_poin->jam_masuk;
  290. $status = 'extuder-rutin-shift1';
  291. } elseif(isset($jam_masuk_shift1) && ($jamtap == $before_jam_masuk_shift1) || ($jamtap == $after_jam_masuk_shift1)) {
  292. $slotjam = "Masuk";
  293. $poin = $setting_poin->jam_masuk;
  294. $status = 'extuder-rutin-shift1';
  295. } elseif(isset($jam_masuk_shift1) && ($jamtap > $after_jam_masuk_shift1) && ($jamtap < $before_jam_istirahat_mulai_shift1)) {
  296. $slotjam = "Terlambat Masuk";
  297. $poin = $setting_poin->jam_masuk;
  298. $status = 'extuder-rutin-shift1';
  299. } elseif(isset($jam_istirahat_mulai_shift1) && ($jamtap > $before_jam_istirahat_mulai_shift1) && ($jamtap < $before_jam_istirahat_selesai_shift1)) {
  300. $slotjam = "Istirahat Mulai";
  301. $poin = $setting_poin->jam_mulai_istirahat;
  302. $status = 'extuder-rutin-shift1';
  303. } elseif(isset($jam_istirahat_mulai_shift1) && ($jamtap == $before_jam_istirahat_mulai_shift1)) {
  304. $slotjam = "Istirahat Mulai";
  305. $poin = $setting_poin->jam_mulai_istirahat;
  306. $status = 'extuder-rutin-shift1';
  307. } elseif(isset($jam_istirahat_selesai_shift1) && ($jamtap > $before_jam_istirahat_selesai_shift1) && ($jamtap < $before_jam_pulang_shift1)) {
  308. $slotjam = "Istirahat Selesai";
  309. $poin = $setting_poin->jam_selesai_istirahat;
  310. $status = 'extuder-rutin-shift1';
  311. } elseif(isset($jam_istirahat_selesai_shift1) && ($jamtap == $before_jam_istirahat_selesai_shift1)) {
  312. $slotjam = "Istirahat Selesai";
  313. $poin = $setting_poin->jam_selesai_istirahat;
  314. $status = 'extuder-rutin-shift1';
  315. } elseif(isset($jam_pulang_shift1) && ($jamtap > $before_jam_pulang_shift1) && ($jamtap < $after_jam_pulang_shift1)) {
  316. $slotjam = "Pulang";
  317. $poin = $setting_poin->jam_keluar;
  318. $status = 'extuder-rutin-shift1';
  319. } elseif(isset($jam_pulang_shift1) && ($jamtap == $before_jam_pulang_shift1) || ($jamtap == $after_jam_pulang_shift1)) {
  320. $slotjam = "Pulang";
  321. $poin = $setting_poin->jam_keluar;
  322. $status = 'extuder-rutin-shift1';
  323. }
  324. // borderline dinihari, sebelum 24:00
  325. else if(isset($jam_masuk_shift1) && strtotime($before_jam_masuk_shift1) > strtotime($after_jam_masuk_shift1)) {
  326. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  327. $slotjam = "Masuk";
  328. $poin = $setting_poin->jam_masuk;
  329. $status = 'extuder-rutin-shift1';
  330. }
  331. } else if(isset($jam_masuk_shift1) && strtotime($after_jam_masuk_shift1) > strtotime($before_jam_istirahat_mulai_shift1)) {
  332. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  333. $slotjam = "Terlambat Masuk";
  334. $poin = $setting_poin->jam_masuk;
  335. $status = 'extuder-rutin-shift1';
  336. }
  337. } else if(isset($jam_istirahat_mulai_shift1) && strtotime($before_jam_istirahat_mulai_shift1) > strtotime($before_jam_istirahat_selesai_shift1)) {
  338. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  339. $slotjam = "Istirahat Mulai";
  340. $poin = $setting_poin->jam_mulai_istirahat;
  341. $status = 'extuder-rutin-shift1';
  342. }
  343. } else if(isset($jam_istirahat_selesai_shift1) && strtotime($before_jam_istirahat_selesai_shift1) > strtotime($before_jam_pulang_shift1)) {
  344. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  345. $slotjam = "Istirahat Selesai";
  346. $poin = $setting_poin->jam_selesai_istirahat;
  347. $status = 'extuder-rutin-shift1';
  348. }
  349. } else if(isset($jam_pulang_shift1) && strtotime($before_jam_pulang_shift1) > strtotime($after_jam_pulang_shift1)) {
  350. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  351. $slotjam = "Pulang";
  352. $poin = $setting_poin->jam_keluar;
  353. $status = 'extuder-rutin-shift1';
  354. }
  355. }
  356.  
  357. if($punya_shift2 == true) {
  358.  
  359. //========= SHIFT 2 =========//
  360. if(isset($jam_masuk_shift2) && ($jamtap > $before_jam_masuk_shift2) && ($jamtap < $after_jam_masuk_shift2)) {
  361. $slotjam = "Masuk";
  362. $poin = $setting_poin->jam_masuk;
  363. $status = 'extuder-rutin-shift2';
  364. } elseif(isset($jam_masuk_shift2) && ($jamtap == $before_jam_masuk_shift2) || ($jamtap == $after_jam_masuk_shift2)) {
  365. $slotjam = "Masuk";
  366. $poin = $setting_poin->jam_masuk;
  367. $status = 'extuder-rutin-shift2';
  368. } elseif(isset($jam_masuk_shift2) && ($jamtap > $after_jam_masuk_shift2) && ($jamtap < $before_jam_istirahat_mulai_shift2)) {
  369. $slotjam = "Terlambat Masuk";
  370. $poin = $setting_poin->jam_masuk;
  371. $status = 'extuder-rutin-shift2';
  372. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap > $before_jam_istirahat_mulai_shift2) && ($jamtap < $before_jam_istirahat_selesai_shift2)) {
  373. $slotjam = "Istirahat Mulai";
  374. $poin = $setting_poin->jam_mulai_istirahat;
  375. $status = 'extuder-rutin-shift2';
  376. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap == $before_jam_istirahat_mulai_shift2)) {
  377. $slotjam = "Istirahat Mulai";
  378. $poin = $setting_poin->jam_mulai_istirahat;
  379. $status = 'extuder-rutin-shift2';
  380. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap > $before_jam_istirahat_selesai_shift2) && ($jamtap < $before_jam_pulang_shift2)) {
  381. $slotjam = "Istirahat Selesai";
  382. $poin = $setting_poin->jam_selesai_istirahat;
  383. $status = 'extuder-rutin-shift2';
  384. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap == $before_jam_istirahat_selesai_shift2)) {
  385. $slotjam = "Istirahat Selesai";
  386. $poin = $setting_poin->jam_selesai_istirahat;
  387. $status = 'extuder-rutin-shift2';
  388. } elseif(isset($jam_pulang_shift2) && ($jamtap > $before_jam_pulang_shift2) && ($jamtap < $after_jam_pulang_shift2)) {
  389. $slotjam = "Pulang";
  390. $poin = $setting_poin->jam_keluar;
  391. $status = 'extuder-rutin-shift2';
  392. } elseif(isset($jam_pulang_shift2) && ($jamtap == $before_jam_pulang_shift2) || ($jamtap == $after_jam_pulang_shift2)) {
  393. $slotjam = "Pulang";
  394. $poin = $setting_poin->jam_keluar;
  395. $status = 'extuder-rutin-shift2';
  396. }
  397. // borderline dinihari, sebelum 24:00
  398. else if(isset($jam_masuk_shift2) && strtotime($before_jam_masuk_shift2) > strtotime($after_jam_masuk_shift2)) {
  399. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  400. $slotjam = "Masuk";
  401. $poin = $setting_poin->jam_masuk;
  402. $status = 'extuder-rutin-shift2';
  403. }
  404. } else if(isset($jam_masuk_shift2) && strtotime($after_jam_masuk_shift2) > strtotime($before_jam_istirahat_mulai_shift2)) {
  405. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  406. $slotjam = "Terlambat Masuk";
  407. $poin = $setting_poin->jam_masuk;
  408. $status = 'extuder-rutin-shift2';
  409. }
  410. } else if(isset($jam_istirahat_mulai_shift2) && strtotime($before_jam_istirahat_mulai_shift2) > strtotime($before_jam_istirahat_selesai_shift2)) {
  411. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  412. $slotjam = "Istirahat Mulai";
  413. $poin = $setting_poin->jam_mulai_istirahat;
  414. $status = 'extuder-rutin-shift2';
  415. }
  416. } else if(isset($jam_istirahat_selesai_shift2) && strtotime($before_jam_istirahat_selesai_shift2) > strtotime($before_jam_pulang_shift2)) {
  417. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  418. $slotjam = "Istirahat Selesai";
  419. $poin = $setting_poin->jam_selesai_istirahat;
  420. $status = 'extuder-rutin-shift2';
  421. }
  422. } else if(isset($jam_pulang_shift2) && strtotime($before_jam_pulang_shift2) > strtotime($after_jam_pulang_shift2)) {
  423. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  424. $slotjam = "Pulang";
  425. $poin = $setting_poin->jam_keluar;
  426. $status = 'extuder-rutin-shift2';
  427. }
  428. }
  429.  
  430. if($punya_shift3 == true) {
  431. //========= SHIFT 3 =========//
  432. if(isset($jam_masuk_shift3) && ($jamtap > $before_jam_masuk_shift3) && ($jamtap < $after_jam_masuk_shift3)) {
  433. $slotjam = "Masuk";
  434. $poin = $setting_poin->jam_masuk;
  435. $status = 'extuder-rutin-shift3';
  436. } elseif(isset($jam_masuk_shift3) && ($jamtap == $before_jam_masuk_shift3) || ($jamtap == $after_jam_masuk_shift3)) {
  437. $slotjam = "Masuk";
  438. $poin = $setting_poin->jam_masuk;
  439. $status = 'extuder-rutin-shift3';
  440. } elseif(isset($jam_masuk_shift3) && ($jamtap > $after_jam_masuk_shift3) && ($jamtap < $before_jam_istirahat_mulai_shift3)) {
  441. $slotjam = "Terlambat Masuk";
  442. $poin = $setting_poin->jam_masuk;
  443. $status = 'extuder-rutin-shift3';
  444. } elseif(isset($jam_istirahat_mulai_shift3) && ($jamtap > $before_jam_istirahat_mulai_shift3) && ($jamtap < $before_jam_istirahat_selesai_shift3)) {
  445. $slotjam = "Istirahat Mulai";
  446. $poin = $setting_poin->jam_mulai_istirahat;
  447. $status = 'extuder-rutin-shift3';
  448. } elseif(isset($jam_istirahat_mulai_shift3) && ($jamtap == $before_jam_istirahat_mulai_shift3)) {
  449. $slotjam = "Istirahat Mulai";
  450. $poin = $setting_poin->jam_mulai_istirahat;
  451. $status = 'extuder-rutin-shift3';
  452. } elseif(isset($jam_istirahat_selesai_shift3) && ($jamtap > $before_jam_istirahat_selesai_shift3) && ($jamtap < $before_jam_pulang_shift3)) {
  453. $slotjam = "Istirahat Selesai";
  454. $poin = $setting_poin->jam_selesai_istirahat;
  455. $status = 'extuder-rutin-shift3';
  456. } elseif(isset($jam_istirahat_selesai_shift3) && ($jamtap == $before_jam_istirahat_selesai_shift3)) {
  457. $slotjam = "Istirahat Selesai";
  458. $poin = $setting_poin->jam_selesai_istirahat;
  459. $status = 'extuder-rutin-shift3';
  460. } elseif(isset($jam_pulang_shift3) && ($jamtap > $before_jam_pulang_shift3) && ($jamtap < $after_jam_pulang_shift3)) {
  461. $slotjam = "Pulang";
  462. $poin = $setting_poin->jam_keluar;
  463. $status = 'extuder-rutin-shift3';
  464. } elseif(isset($jam_pulang_shift3) && ($jamtap == $before_jam_pulang_shift3) || ($jamtap == $after_jam_pulang_shift3)) {
  465. $slotjam = "Pulang";
  466. $poin = $setting_poin->jam_keluar;
  467. $status = 'extuder-rutin-shift3';
  468. }
  469. // borderline dinihari, sebelum 24:00
  470. else if(isset($jam_masuk_shift3) && strtotime($before_jam_masuk_shift3) > strtotime($after_jam_masuk_shift3)) {
  471. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  472. $slotjam = "Masuk";
  473. $poin = $setting_poin->jam_masuk;
  474. $status = 'extuder-rutin-shift3';
  475. }
  476. } else if(isset($jam_masuk_shift3) && strtotime($after_jam_masuk_shift3) > strtotime($before_jam_istirahat_mulai_shift3)) {
  477. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  478. $slotjam = "Terlambat Masuk";
  479. $poin = $setting_poin->jam_masuk;
  480. $status = 'extuder-rutin-shift3';
  481. }
  482. } else if(isset($jam_istirahat_mulai_shift3) && strtotime($before_jam_istirahat_mulai_shift3) > strtotime($before_jam_istirahat_selesai_shift3)) {
  483. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  484. $slotjam = "Istirahat Mulai";
  485. $poin = $setting_poin->jam_mulai_istirahat;
  486. $status = 'extuder-rutin-shift3';
  487. }
  488. } else if(isset($jam_istirahat_pulang_shift3) && strtotime($before_jam_istirahat_selesai_shift3) > strtotime($before_jam_pulang_shift3)) {
  489. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  490. $slotjam = "Istirahat Selesai";
  491. $poin = $setting_poin->jam_selesai_istirahat;
  492. $status = 'extuder-rutin-shift3';
  493. }
  494. } else if(isset($jam_pulang_shift3) && strtotime($before_jam_pulang_shift3) > strtotime($after_jam_pulang_shift3)) {
  495. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  496. $slotjam = "Pulang";
  497. $poin = $setting_poin->jam_keluar;
  498. $status = 'extuder-rutin-shift3';
  499. }
  500. }
  501.  
  502. // simpan ke presensi
  503. $presensi = array(
  504. 'karyawan_id' => $id_karyawan,
  505. 'nama_karyawan' => $nama_karyawan,
  506. 'group_karyawan' => $group_karyawan,
  507. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  508. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  509. 'setting_presensi_id' => 1,
  510. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  511. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  512. 'poin' => $poin,
  513. 'status' => $status,
  514. 'slotjam' => $slotjam,
  515. 'source' => $source,
  516. 'source_id' => $source_id
  517. );
  518.  
  519. $presensilog = array(
  520. 'karyawan_id' => $id_karyawan,
  521. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  522. 'nama_karyawan' => $nama_karyawan,
  523. 'group_karyawan' => $group_karyawan,
  524. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  525. 'slotjam' => $slotjam,
  526. 'poin' => $poin,
  527. 'status' => $status,
  528. );
  529.  
  530. // dd($presensi);
  531.  
  532. $slotjamkomparasi = $slotjam;
  533. if($slotjamkomparasi == 'Terlambat Masuk') {
  534. $slotjamkomparasi = 'Masuk';
  535. }
  536.  
  537. if($status != null) {
  538. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  539. ->where('status', $status)
  540. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  541. ->where('karyawan_id', $id_karyawan)
  542. ->first();
  543.  
  544. // dd($oldpresensi);
  545.  
  546. if(isset($oldpresensi)) {
  547. // $oldpresensi->update($presensi);
  548. $data_terinput = $data_terinput + 0;
  549. } else if(!isset($oldpresensi)) {
  550. // cek jam masuk
  551. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  552. Presensi::create($presensi);
  553. $data_terinput = $data_terinput + 1;
  554.  
  555. // input ke kph
  556. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  557.  
  558. // input ke mingguanjam extuder
  559. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  560.  
  561. // input ke mingguanjam extuder
  562. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  563.  
  564. }
  565. // cek jam istirahat mulai
  566. if($slotjam == 'Istirahat Mulai') {
  567. Presensi::create($presensi);
  568. $data_terinput = $data_terinput + 1;
  569.  
  570. // input ke kph
  571. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  572.  
  573. // input ke mingguanjam extuder
  574. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  575.  
  576. // input ke mingguanjam extuder
  577. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  578. }
  579. // cek jam istirahat selesai
  580. if($slotjam == 'Istirahat Selesai') {
  581. Presensi::create($presensi);
  582. $today = Carbon::parse($tanggal_waktu_tap);
  583. $data_terinput = $data_terinput + 1;
  584.  
  585. // input ke kph
  586. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  587.  
  588. // input ke mingguanjam extuder
  589. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  590.  
  591. // input ke mingguanjam extuder
  592. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  593. }
  594. // cek jam pulang
  595. if($slotjam == 'Pulang') {
  596. Presensi::create($presensi);
  597. $data_terinput = $data_terinput + 1;
  598.  
  599. // input ke kph
  600. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  601.  
  602. // input ke mingguanjam extuder
  603. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  604.  
  605. // input ke mingguanjam extuder
  606. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  607. }
  608. }
  609. // PresensiLog::create($presensilog);
  610. }
  611. } else if($punya_shift3 == false) {
  612. // simpan ke presensi
  613. $presensi = array(
  614. 'karyawan_id' => $id_karyawan,
  615. 'nama_karyawan' => $nama_karyawan,
  616. 'group_karyawan' => $group_karyawan,
  617. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  618. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  619. 'setting_presensi_id' => 1,
  620. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  621. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  622. 'poin' => $poin,
  623. 'status' => $status,
  624. 'slotjam' => $slotjam,
  625. 'source' => $source,
  626. 'source_id' => $source_id
  627. );
  628.  
  629. $presensilog = array(
  630. 'karyawan_id' => $id_karyawan,
  631. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  632. 'nama_karyawan' => $nama_karyawan,
  633. 'group_karyawan' => $group_karyawan,
  634. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  635. 'slotjam' => $slotjam,
  636. 'poin' => $poin,
  637. 'status' => $status,
  638. );
  639.  
  640. // dd($presensi);
  641.  
  642. $slotjamkomparasi = $slotjam;
  643. if($slotjamkomparasi == 'Terlambat Masuk') {
  644. $slotjamkomparasi = 'Masuk';
  645. }
  646.  
  647. if($status != null) {
  648. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  649. ->where('status', $status)
  650. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  651. ->where('karyawan_id', $id_karyawan)
  652. ->first();
  653.  
  654. // dd($oldpresensi);
  655.  
  656. if(isset($oldpresensi)) {
  657. // $oldpresensi->update($presensi);
  658. $data_terinput = $data_terinput + 0;
  659. } else if(!isset($oldpresensi)) {
  660. // cek jam masuk
  661. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  662. Presensi::create($presensi);
  663. $data_terinput = $data_terinput + 1;
  664.  
  665. // input ke kph
  666. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  667.  
  668. // input ke mingguanjam extuder
  669. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  670.  
  671. // input ke mingguanjam extuder
  672. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  673.  
  674. }
  675. // cek jam istirahat mulai
  676. if($slotjam == 'Istirahat Mulai') {
  677. Presensi::create($presensi);
  678. $data_terinput = $data_terinput + 1;
  679.  
  680. // input ke kph
  681. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  682.  
  683. // input ke mingguanjam extuder
  684. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  685.  
  686. // input ke mingguanjam extuder
  687. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  688. }
  689. // cek jam istirahat selesai
  690. if($slotjam == 'Istirahat Selesai') {
  691. Presensi::create($presensi);
  692. $today = Carbon::parse($tanggal_waktu_tap);
  693. $data_terinput = $data_terinput + 1;
  694.  
  695. // input ke kph
  696. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  697.  
  698. // input ke mingguanjam extuder
  699. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  700.  
  701. // input ke mingguanjam extuder
  702. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  703. }
  704. // cek jam pulang
  705. if($slotjam == 'Pulang') {
  706. Presensi::create($presensi);
  707. $data_terinput = $data_terinput + 1;
  708.  
  709. // input ke kph
  710. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  711.  
  712. // input ke mingguanjam extuder
  713. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  714.  
  715. // input ke mingguanjam extuder
  716. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  717. }
  718. }
  719. // PresensiLog::create($presensilog);
  720. }
  721. }
  722. } else if ($punya_shift2 == false) {
  723. // simpan ke presensi
  724. $presensi = array(
  725. 'karyawan_id' => $id_karyawan,
  726. 'nama_karyawan' => $nama_karyawan,
  727. 'group_karyawan' => $group_karyawan,
  728. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  729. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  730. 'setting_presensi_id' => 1,
  731. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  732. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  733. 'poin' => $poin,
  734. 'status' => $status,
  735. 'slotjam' => $slotjam,
  736. 'source' => $source,
  737. 'source_id' => $source_id
  738. );
  739.  
  740. $presensilog = array(
  741. 'karyawan_id' => $id_karyawan,
  742. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  743. 'nama_karyawan' => $nama_karyawan,
  744. 'group_karyawan' => $group_karyawan,
  745. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  746. 'slotjam' => $slotjam,
  747. 'poin' => $poin,
  748. 'status' => $status,
  749. );
  750.  
  751. // dd($presensi);
  752.  
  753. $slotjamkomparasi = $slotjam;
  754. if($slotjamkomparasi == 'Terlambat Masuk') {
  755. $slotjamkomparasi = 'Masuk';
  756. }
  757.  
  758. if($status != null) {
  759. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  760. ->where('status', $status)
  761. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  762. ->where('karyawan_id', $id_karyawan)
  763. ->first();
  764.  
  765. // dd($oldpresensi);
  766.  
  767. if(isset($oldpresensi)) {
  768. // $oldpresensi->update($presensi);
  769. $data_terinput = $data_terinput + 0;
  770. } else if(!isset($oldpresensi)) {
  771. // cek jam masuk
  772. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  773. Presensi::create($presensi);
  774. $data_terinput = $data_terinput + 1;
  775.  
  776. // input ke kph
  777. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  778.  
  779. // input ke mingguanjam extuder
  780. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  781.  
  782. // input ke mingguanjam extuder
  783. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  784.  
  785. }
  786. // cek jam istirahat mulai
  787. if($slotjam == 'Istirahat Mulai') {
  788. Presensi::create($presensi);
  789. $data_terinput = $data_terinput + 1;
  790.  
  791. // input ke kph
  792. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  793.  
  794. // input ke mingguanjam extuder
  795. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  796.  
  797. // input ke mingguanjam extuder
  798. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  799. }
  800. // cek jam istirahat selesai
  801. if($slotjam == 'Istirahat Selesai') {
  802. Presensi::create($presensi);
  803. $today = Carbon::parse($tanggal_waktu_tap);
  804. $data_terinput = $data_terinput + 1;
  805.  
  806. // input ke kph
  807. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  808.  
  809. // input ke mingguanjam extuder
  810. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  811.  
  812. // input ke mingguanjam extuder
  813. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  814. }
  815. // cek jam pulang
  816. if($slotjam == 'Pulang') {
  817. Presensi::create($presensi);
  818. $data_terinput = $data_terinput + 1;
  819.  
  820. // input ke kph
  821. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  822.  
  823. // input ke mingguanjam extuder
  824. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  825.  
  826. // input ke mingguanjam extuder
  827. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  828. }
  829. }
  830. // PresensiLog::create($presensilog);
  831. }
  832. }
  833.  
  834. } else if ($status_boleh_ngetap == 0) {
  835. // case dinihari disini
  836.  
  837. // variable untuk nampung slotjam, status dan poin presensi
  838. $slotjam = null;
  839. $status = null;
  840. $poin = null;
  841.  
  842. //===============SHIFT 1================//
  843. if(isset($jam_masuk_shift1) && strtotime($before_jam_masuk_shift1) > strtotime($after_jam_masuk_shift1)) {
  844. if(isset($jam_masuk_shift1) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_masuk_shift1))) {
  845. $slotjam = "Masuk";
  846. $poin = $setting_poin->jam_masuk;
  847. $status = 'extuder-rutin-shift1';
  848. } elseif(isset($jam_masuk_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk_shift1)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1))))) {
  849. $slotjam = "Terlambat Masuk";
  850. $poin = $setting_poin->jam_masuk;
  851. $status = 'extuder-rutin-shift1';
  852. } elseif(isset($jam_istirahat_mulai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1))))) {
  853. $slotjam = "Istirahat Mulai";
  854. $poin = $setting_poin->jam_mulai_istirahat;
  855. $status = 'extuder-rutin-shift1';
  856. } elseif(isset($jam_istirahat_mulai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)))) {
  857. $slotjam = "Istirahat Mulai";
  858. $poin = $setting_poin->jam_mulai_istirahat;
  859. $status = 'extuder-rutin-shift1';
  860. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift1)))) {
  861. $slotjam = "Istirahat Selesai";
  862. $poin = $setting_poin->jam_selesai_istirahat;
  863. $status = 'extuder-rutin-shift1';
  864. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  865. $slotjam = "Istirahat Selesai";
  866. $poin = $setting_poin->jam_selesai_istirahat;
  867. $status = 'extuder-rutin-shift1';
  868. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  869. $slotjam = "Pulang";
  870. $poin = $setting_poin->jam_keluar;
  871. $status = 'extuder-rutin-shift1';
  872. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  873. $slotjam = "Pulang";
  874. $poin = $setting_poin->jam_keluar;
  875. $status = 'extuder-rutin-shift1';
  876. }
  877. } else if(isset($jam_masuk_shift1) && strtotime($after_jam_masuk_shift1) > strtotime($before_jam_istirahat_mulai_shift1)) {
  878. if(isset($jam_masuk_shift1) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)))) {
  879. $slotjam = "Terlambat Masuk";
  880. $poin = $setting_poin->jam_masuk;
  881. $status = 'extuder-rutin-shift1';
  882. } elseif(isset($jam_istirahat_mulai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1))))) {
  883. $slotjam = "Istirahat Mulai";
  884. $poin = $setting_poin->jam_mulai_istirahat;
  885. $status = 'extuder-rutin-shift1';
  886. } elseif(isset($jam_istirahat_mulai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)))) {
  887. $slotjam = "Istirahat Mulai";
  888. $poin = $setting_poin->jam_mulai_istirahat;
  889. $status = 'extuder-rutin-shift1';
  890. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift1)))) {
  891. $slotjam = "Istirahat Selesai";
  892. $poin = $setting_poin->jam_selesai_istirahat;
  893. $status = 'extuder-rutin-shift1';
  894. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  895. $slotjam = "Istirahat Selesai";
  896. $poin = $setting_poin->jam_selesai_istirahat;
  897. $status = 'extuder-rutin-shift1';
  898. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  899. $slotjam = "Pulang";
  900. $poin = $setting_poin->jam_keluar;
  901. $status = 'extuder-rutin-shift1';
  902. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  903. $slotjam = "Pulang";
  904. $poin = $setting_poin->jam_keluar;
  905. $status = 'extuder-rutin-shift1';
  906. }
  907. } else if(isset($jam_istirahat_mulai_shift1) && strtotime($before_jam_istirahat_mulai_shift1) > strtotime($before_jam_istirahat_selesai_shift1)) {
  908. if(isset($jam_istirahat_mulai_shift1) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  909. $slotjam = "Istirahat Mulai";
  910. $poin = $setting_poin->jam_mulai_istirahat;
  911. $status = 'extuder-rutin-shift1';
  912. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift1)))) {
  913. $slotjam = "Istirahat Selesai";
  914. $poin = $setting_poin->jam_selesai_istirahat;
  915. $status = 'extuder-rutin-shift1';
  916. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  917. $slotjam = "Istirahat Selesai";
  918. $poin = $setting_poin->jam_selesai_istirahat;
  919. $status = 'extuder-rutin-shift1';
  920. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  921. $slotjam = "Pulang";
  922. $poin = $setting_poin->jam_keluar;
  923. $status = 'extuder-rutin-shift1';
  924. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  925. $slotjam = "Pulang";
  926. $poin = $setting_poin->jam_keluar;
  927. $status = 'extuder-rutin-shift1';
  928. }
  929. } else if(isset($jam_istirahat_selesai_shift1) && strtotime($before_jam_istirahat_selesai_shift1) > strtotime($before_jam_pulang_shift1)) {
  930. if(isset($jam_istirahat_selesai_shift1) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift1)))) {
  931. $slotjam = "Istirahat Selesai";
  932. $poin = $setting_poin->jam_selesai_istirahat;
  933. $status = 'extuder-rutin-shift1';
  934. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  935. $slotjam = "Pulang";
  936. $poin = $setting_poin->jam_keluar;
  937. $status = 'extuder-rutin-shift1';
  938. } elseif(isset($jam_pulang_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift1))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  939. $slotjam = "Pulang";
  940. $poin = $setting_poin->jam_keluar;
  941. $status = 'extuder-rutin-shift1';
  942. }
  943. } else if(isset($jam_pulang_shift1) && strtotime($before_jam_pulang_shift1) > strtotime($after_jam_pulang_shift1)) {
  944. if(isset($jam_pulang_shift1) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_pulang_shift1)))) {
  945. $slotjam = "Pulang";
  946. $poin = $setting_poin->jam_keluar;
  947. $status = 'extuder-rutin-shift1';
  948. }
  949. }
  950.  
  951. if($punya_shift2 == true) {
  952. //===============SHIFT 2================//
  953. if(isset($jam_masuk_shift2) && strtotime($before_jam_masuk_shift2) > strtotime($after_jam_masuk_shift2)) {
  954. if(isset($jam_masuk_shift2) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_masuk_shift2))) {
  955. $slotjam = "Masuk";
  956. $poin = $setting_poin->jam_masuk;
  957. $status = 'extuder-rutin-shift2';
  958. } elseif(isset($jam_masuk_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk_shift2)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2))))) {
  959. $slotjam = "Terlambat Masuk";
  960. $poin = $setting_poin->jam_masuk;
  961. $status = 'extuder-rutin-shift2';
  962. } elseif(isset($jam_istirahat_mulai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2))))) {
  963. $slotjam = "Istirahat Mulai";
  964. $poin = $setting_poin->jam_mulai_istirahat;
  965. $status = 'extuder-rutin-shift2';
  966. } elseif(isset($jam_istirahat_mulai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)))) {
  967. $slotjam = "Istirahat Mulai";
  968. $poin = $setting_poin->jam_mulai_istirahat;
  969. $status = 'extuder-rutin-shift2';
  970. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift2)))) {
  971. $slotjam = "Istirahat Selesai";
  972. $poin = $setting_poin->jam_selesai_istirahat;
  973. $status = 'extuder-rutin-shift2';
  974. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  975. $slotjam = "Istirahat Selesai";
  976. $poin = $setting_poin->jam_selesai_istirahat;
  977. $status = 'extuder-rutin-shift2';
  978. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  979. $slotjam = "Pulang";
  980. $poin = $setting_poin->jam_keluar;
  981. $status = 'extuder-rutin-shift2';
  982. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  983. $slotjam = "Pulang";
  984. $poin = $setting_poin->jam_keluar;
  985. $status = 'extuder-rutin-shift2';
  986. }
  987. } else if(isset($jam_masuk_shift2) && strtotime($after_jam_masuk_shift2) > strtotime($before_jam_istirahat_mulai_shift2)) {
  988. if(isset($jam_masuk_shift2) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)))) {
  989. $slotjam = "Terlambat Masuk";
  990. $poin = $setting_poin->jam_masuk;
  991. $status = 'extuder-rutin-shift2';
  992. } elseif(isset($jam_istirahat_mulai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2))))) {
  993. $slotjam = "Istirahat Mulai";
  994. $poin = $setting_poin->jam_mulai_istirahat;
  995. $status = 'extuder-rutin-shift2';
  996. } elseif(isset($jam_istirahat_mulai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)))) {
  997. $slotjam = "Istirahat Mulai";
  998. $poin = $setting_poin->jam_mulai_istirahat;
  999. $status = 'extuder-rutin-shift2';
  1000. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift2)))) {
  1001. $slotjam = "Istirahat Selesai";
  1002. $poin = $setting_poin->jam_selesai_istirahat;
  1003. $status = 'extuder-rutin-shift2';
  1004. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  1005. $slotjam = "Istirahat Selesai";
  1006. $poin = $setting_poin->jam_selesai_istirahat;
  1007. $status = 'extuder-rutin-shift2';
  1008. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1009. $slotjam = "Pulang";
  1010. $poin = $setting_poin->jam_keluar;
  1011. $status = 'extuder-rutin-shift2';
  1012. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1013. $slotjam = "Pulang";
  1014. $poin = $setting_poin->jam_keluar;
  1015. $status = 'extuder-rutin-shift2';
  1016. }
  1017. } else if(isset($jam_istirahat_mulai_shift2) && strtotime($before_jam_istirahat_mulai_shift2) > strtotime($before_jam_istirahat_selesai_shift2)) {
  1018. if(isset($jam_istirahat_mulai_shift2) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  1019. $slotjam = "Istirahat Mulai";
  1020. $poin = $setting_poin->jam_mulai_istirahat;
  1021. $status = 'extuder-rutin-shift2';
  1022. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift2)))) {
  1023. $slotjam = "Istirahat Selesai";
  1024. $poin = $setting_poin->jam_selesai_istirahat;
  1025. $status = 'extuder-rutin-shift2';
  1026. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  1027. $slotjam = "Istirahat Selesai";
  1028. $poin = $setting_poin->jam_selesai_istirahat;
  1029. $status = 'extuder-rutin-shift2';
  1030. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1031. $slotjam = "Pulang";
  1032. $poin = $setting_poin->jam_keluar;
  1033. $status = 'extuder-rutin-shift2';
  1034. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1035. $slotjam = "Pulang";
  1036. $poin = $setting_poin->jam_keluar;
  1037. $status = 'extuder-rutin-shift2';
  1038. }
  1039. } else if(isset($jam_istirahat_selesai_shift2) && strtotime($before_jam_istirahat_selesai_shift2) > strtotime($before_jam_pulang_shift2)) {
  1040. if(isset($jam_istirahat_selesai_shift2) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift2)))) {
  1041. $slotjam = "Istirahat Selesai";
  1042. $poin = $setting_poin->jam_selesai_istirahat;
  1043. $status = 'extuder-rutin-shift2';
  1044. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1045. $slotjam = "Pulang";
  1046. $poin = $setting_poin->jam_keluar;
  1047. $status = 'extuder-rutin-shift2';
  1048. } elseif(isset($jam_pulang_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift2))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1049. $slotjam = "Pulang";
  1050. $poin = $setting_poin->jam_keluar;
  1051. $status = 'extuder-rutin-shift2';
  1052. }
  1053. } else if(isset($jam_pulang_shift2) && strtotime($before_jam_pulang_shift2) > strtotime($after_jam_pulang_shift2)) {
  1054. if(isset($jam_pulang_shift2) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_pulang_shift2)))) {
  1055. $slotjam = "Pulang";
  1056. $poin = $setting_poin->jam_keluar;
  1057. $status = 'extuder-rutin-shift2';
  1058. }
  1059. }
  1060.  
  1061. // deteksi jam normal di tanggal tidak boleh ngetap
  1062. if(!isset($jam_masuk_shift3) && strtotime($jam_pulang_shift1) > strtotime($jam_masuk_shift2)) {
  1063. if(isset($jam_masuk_shift2) && ($jamtap > $before_jam_masuk_shift2) && ($jamtap < $after_jam_masuk_shift2)) {
  1064. $slotjam = "Masuk";
  1065. $poin = $setting_poin->jam_masuk;
  1066. $status = 'extuder-rutin-shift2';
  1067. } elseif(isset($jam_masuk_shift2) && ($jamtap == $before_jam_masuk_shift2) || ($jamtap == $after_jam_masuk_shift2)) {
  1068. $slotjam = "Masuk";
  1069. $poin = $setting_poin->jam_masuk;
  1070. $status = 'extuder-rutin-shift2';
  1071. } elseif(isset($jam_masuk_shift2) && ($jamtap > $after_jam_masuk_shift2) && ($jamtap < $before_jam_istirahat_mulai_shift2)) {
  1072. $slotjam = "Terlambat Masuk";
  1073. $poin = $setting_poin->jam_masuk;
  1074. $status = 'extuder-rutin-shift2';
  1075. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap > $before_jam_istirahat_mulai_shift2) && ($jamtap < $before_jam_istirahat_selesai_shift2)) {
  1076. $slotjam = "Istirahat Mulai";
  1077. $poin = $setting_poin->jam_mulai_istirahat;
  1078. $status = 'extuder-rutin-shift2';
  1079. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap == $before_jam_istirahat_mulai_shift2)) {
  1080. $slotjam = "Istirahat Mulai";
  1081. $poin = $setting_poin->jam_mulai_istirahat;
  1082. $status = 'extuder-rutin-shift2';
  1083. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap > $before_jam_istirahat_selesai_shift2) && ($jamtap < $before_jam_pulang_shift2)) {
  1084. $slotjam = "Istirahat Selesai";
  1085. $poin = $setting_poin->jam_selesai_istirahat;
  1086. $status = 'extuder-rutin-shift2';
  1087. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap == $before_jam_istirahat_selesai_shift2)) {
  1088. $slotjam = "Istirahat Selesai";
  1089. $poin = $setting_poin->jam_selesai_istirahat;
  1090. $status = 'extuder-rutin-shift2';
  1091. } elseif(isset($jam_pulang_shift2) && ($jamtap > $before_jam_pulang_shift2) && ($jamtap < $after_jam_pulang_shift2)) {
  1092. $slotjam = "Pulang";
  1093. $poin = $setting_poin->jam_keluar;
  1094. $status = 'extuder-rutin-shift2';
  1095. } elseif(isset($jam_pulang_shift2) && ($jamtap == $before_jam_pulang_shift2) || ($jamtap == $after_jam_pulang_shift2)) {
  1096. $slotjam = "Pulang";
  1097. $poin = $setting_poin->jam_keluar;
  1098. $status = 'extuder-rutin-shift2';
  1099. }
  1100. // borderline dinihari, sebelum 24:00
  1101. else if(isset($jam_masuk_shift2) && strtotime($before_jam_masuk_shift2) > strtotime($after_jam_masuk_shift2)) {
  1102. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1103. $slotjam = "Masuk";
  1104. $poin = $setting_poin->jam_masuk;
  1105. $status = 'extuder-rutin-shift2';
  1106. }
  1107. } else if(isset($jam_masuk_shift2) && strtotime($after_jam_masuk_shift2) > strtotime($before_jam_istirahat_mulai_shift2)) {
  1108. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1109. $slotjam = "Terlambat Masuk";
  1110. $poin = $setting_poin->jam_masuk;
  1111. $status = 'extuder-rutin-shift2';
  1112. }
  1113. } else if(isset($jam_istirahat_mulai_shift2) && strtotime($before_jam_istirahat_mulai_shift2) > strtotime($before_jam_istirahat_selesai_shift2)) {
  1114. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1115. $slotjam = "Istirahat Mulai";
  1116. $poin = $setting_poin->jam_mulai_istirahat;
  1117. $status = 'extuder-rutin-shift2';
  1118. }
  1119. } else if(isset($jam_istirahat_selesai_shift2) && strtotime($before_jam_istirahat_selesai_shift2) > strtotime($before_jam_pulang_shift2)) {
  1120. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1121. $slotjam = "Istirahat Selesai";
  1122. $poin = $setting_poin->jam_selesai_istirahat;
  1123. $status = 'extuder-rutin-shift2';
  1124. }
  1125. } else if(isset($jam_pulang_shift2) && strtotime($before_jam_pulang_shift2) > strtotime($after_jam_pulang_shift2)) {
  1126. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1127. $slotjam = "Pulang";
  1128. $poin = $setting_poin->jam_keluar;
  1129. $status = 'extuder-rutin-shift2';
  1130. }
  1131. }
  1132. }
  1133.  
  1134. if($punya_shift3 == true) {
  1135. //===============SHIFT 3================//
  1136. if(isset($jam_masuk_shift3) && strtotime($before_jam_masuk_shift3) > strtotime($after_jam_masuk_shift3)) {
  1137. if(isset($jam_masuk_shift3) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_masuk_shift3))) {
  1138. $slotjam = "Masuk";
  1139. $poin = $setting_poin->jam_masuk;
  1140. $status = 'extuder-rutin-shift3';
  1141. } elseif(isset($jam_masuk_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk_shift3)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3))))) {
  1142. $slotjam = "Terlambat Masuk";
  1143. $poin = $setting_poin->jam_masuk;
  1144. $status = 'extuder-rutin-shift3';
  1145. } elseif(isset($jam_istirahat_mulai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3))))) {
  1146. $slotjam = "Istirahat Mulai";
  1147. $poin = $setting_poin->jam_mulai_istirahat;
  1148. $status = 'extuder-rutin-shift3';
  1149. } elseif(isset($jam_istirahat_mulai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)))) {
  1150. $slotjam = "Istirahat Mulai";
  1151. $poin = $setting_poin->jam_mulai_istirahat;
  1152. $status = 'extuder-rutin-shift3';
  1153. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift3)))) {
  1154. $slotjam = "Istirahat Selesai";
  1155. $poin = $setting_poin->jam_selesai_istirahat;
  1156. $status = 'extuder-rutin-shift3';
  1157. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  1158. $slotjam = "Istirahat Selesai";
  1159. $poin = $setting_poin->jam_selesai_istirahat;
  1160. $status = 'extuder-rutin-shift3';
  1161. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1162. $slotjam = "Pulang";
  1163. $poin = $setting_poin->jam_keluar;
  1164. $status = 'extuder-rutin-shift3';
  1165. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1166. $slotjam = "Pulang";
  1167. $poin = $setting_poin->jam_keluar;
  1168. $status = 'extuder-rutin-shift3';
  1169. }
  1170. } else if(isset($jam_masuk_shift3) && strtotime($after_jam_masuk_shift3) > strtotime($before_jam_istirahat_mulai_shift3)) {
  1171. if(isset($jam_masuk_shift3) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)))) {
  1172. $slotjam = "Terlambat Masuk";
  1173. $poin = $setting_poin->jam_masuk;
  1174. $status = 'extuder-rutin-shift3';
  1175. } elseif(isset($jam_istirahat_mulai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3))))) {
  1176. $slotjam = "Istirahat Mulai";
  1177. $poin = $setting_poin->jam_mulai_istirahat;
  1178. $status = 'extuder-rutin-shift3';
  1179. } elseif(isset($jam_istirahat_mulai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)))) {
  1180. $slotjam = "Istirahat Mulai";
  1181. $poin = $setting_poin->jam_mulai_istirahat;
  1182. $status = 'extuder-rutin-shift3';
  1183. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift3)))) {
  1184. $slotjam = "Istirahat Selesai";
  1185. $poin = $setting_poin->jam_selesai_istirahat;
  1186. $status = 'extuder-rutin-shift3';
  1187. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  1188. $slotjam = "Istirahat Selesai";
  1189. $poin = $setting_poin->jam_selesai_istirahat;
  1190. $status = 'extuder-rutin-shift3';
  1191. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1192. $slotjam = "Pulang";
  1193. $poin = $setting_poin->jam_keluar;
  1194. $status = 'extuder-rutin-shift3';
  1195. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1196. $slotjam = "Pulang";
  1197. $poin = $setting_poin->jam_keluar;
  1198. $status = 'extuder-rutin-shift3';
  1199. }
  1200. } else if(isset($jam_istirahat_mulai_shift3) && strtotime($before_jam_istirahat_mulai_shift3) > strtotime($before_jam_istirahat_selesai_shift3)) {
  1201. if(isset($jam_istirahat_mulai_shift3) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  1202. $slotjam = "Istirahat Mulai";
  1203. $poin = $setting_poin->jam_mulai_istirahat;
  1204. $status = 'extuder-rutin-shift3';
  1205. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift3)))) {
  1206. $slotjam = "Istirahat Selesai";
  1207. $poin = $setting_poin->jam_selesai_istirahat;
  1208. $status = 'extuder-rutin-shift3';
  1209. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  1210. $slotjam = "Istirahat Selesai";
  1211. $poin = $setting_poin->jam_selesai_istirahat;
  1212. $status = 'extuder-rutin-shift3';
  1213. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1214. $slotjam = "Pulang";
  1215. $poin = $setting_poin->jam_keluar;
  1216. $status = 'extuder-rutin-shift3';
  1217. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1218. $slotjam = "Pulang";
  1219. $poin = $setting_poin->jam_keluar;
  1220. $status = 'extuder-rutin-shift3';
  1221. }
  1222. } else if(isset($jam_istirahat_selesai_shift3) && strtotime($before_jam_istirahat_selesai_shift3) > strtotime($before_jam_pulang_shift3)) {
  1223. if(isset($jam_istirahat_selesai_shift3) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang_shift3)))) {
  1224. $slotjam = "Istirahat Selesai";
  1225. $poin = $setting_poin->jam_selesai_istirahat;
  1226. $status = 'extuder-rutin-shift3';
  1227. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1228. $slotjam = "Pulang";
  1229. $poin = $setting_poin->jam_keluar;
  1230. $status = 'extuder-rutin-shift3';
  1231. } elseif(isset($jam_pulang_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang_shift3))) || (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1232. $slotjam = "Pulang";
  1233. $poin = $setting_poin->jam_keluar;
  1234. $status = 'extuder-rutin-shift3';
  1235. }
  1236. } else if(isset($jam_pulang_shift3) && strtotime($before_jam_pulang_shift3) > strtotime($after_jam_pulang_shift3)) {
  1237. if(isset($jam_pulang_shift3) && strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && (strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_pulang_shift3)))) {
  1238. $slotjam = "Pulang";
  1239. $poin = $setting_poin->jam_keluar;
  1240. $status = 'extuder-rutin-shift3';
  1241. }
  1242. }
  1243.  
  1244. // deteksi jam normal di tanggal tidak boleh ngetap
  1245. if(isset($jam_masuk_shift3) && strtotime($jam_pulang_shift1) > strtotime($jam_masuk_shift2) && strtotime($jam_pulang_shift2) > strtotime($jam_masuk_shift3)) {
  1246. //========= SHIFT 2 =========//
  1247. if(isset($jam_masuk_shift2) && ($jamtap > $before_jam_masuk_shift2) && ($jamtap < $after_jam_masuk_shift2)) {
  1248. $slotjam = "Masuk";
  1249. $poin = $setting_poin->jam_masuk;
  1250. $status = 'extuder-rutin-shift2';
  1251. } elseif(isset($jam_masuk_shift2) && ($jamtap == $before_jam_masuk_shift2) || ($jamtap == $after_jam_masuk_shift2)) {
  1252. $slotjam = "Masuk";
  1253. $poin = $setting_poin->jam_masuk;
  1254. $status = 'extuder-rutin-shift2';
  1255. } elseif(isset($jam_masuk_shift2) && ($jamtap > $after_jam_masuk_shift2) && ($jamtap < $before_jam_istirahat_mulai_shift2)) {
  1256. $slotjam = "Terlambat Masuk";
  1257. $poin = $setting_poin->jam_masuk;
  1258. $status = 'extuder-rutin-shift2';
  1259. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap > $before_jam_istirahat_mulai_shift2) && ($jamtap < $before_jam_istirahat_selesai_shift2)) {
  1260. $slotjam = "Istirahat Mulai";
  1261. $poin = $setting_poin->jam_mulai_istirahat;
  1262. $status = 'extuder-rutin-shift2';
  1263. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap == $before_jam_istirahat_mulai_shift2)) {
  1264. $slotjam = "Istirahat Mulai";
  1265. $poin = $setting_poin->jam_mulai_istirahat;
  1266. $status = 'extuder-rutin-shift2';
  1267. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap > $before_jam_istirahat_selesai_shift2) && ($jamtap < $before_jam_pulang_shift2)) {
  1268. $slotjam = "Istirahat Selesai";
  1269. $poin = $setting_poin->jam_selesai_istirahat;
  1270. $status = 'extuder-rutin-shift2';
  1271. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap == $before_jam_istirahat_selesai_shift2)) {
  1272. $slotjam = "Istirahat Selesai";
  1273. $poin = $setting_poin->jam_selesai_istirahat;
  1274. $status = 'extuder-rutin-shift2';
  1275. } elseif(isset($jam_pulang_shift2) && ($jamtap > $before_jam_pulang_shift2) && ($jamtap < $after_jam_pulang_shift2)) {
  1276. $slotjam = "Pulang";
  1277. $poin = $setting_poin->jam_keluar;
  1278. $status = 'extuder-rutin-shift2';
  1279. } elseif(isset($jam_pulang_shift2) && ($jamtap == $before_jam_pulang_shift2) || ($jamtap == $after_jam_pulang_shift2)) {
  1280. $slotjam = "Pulang";
  1281. $poin = $setting_poin->jam_keluar;
  1282. $status = 'extuder-rutin-shift2';
  1283. }
  1284. // borderline dinihari, sebelum 24:00
  1285. else if(isset($jam_masuk_shift2) && strtotime($before_jam_masuk_shift2) > strtotime($after_jam_masuk_shift2)) {
  1286. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1287. $slotjam = "Masuk";
  1288. $poin = $setting_poin->jam_masuk;
  1289. $status = 'extuder-rutin-shift2';
  1290. }
  1291. } else if(isset($jam_masuk_shift2) && strtotime($after_jam_masuk_shift2) > strtotime($before_jam_istirahat_mulai_shift2)) {
  1292. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1293. $slotjam = "Terlambat Masuk";
  1294. $poin = $setting_poin->jam_masuk;
  1295. $status = 'extuder-rutin-shift2';
  1296. }
  1297. } else if(isset($jam_istirahat_mulai_shift2) && strtotime($before_jam_istirahat_mulai_shift2) > strtotime($before_jam_istirahat_selesai_shift2)) {
  1298. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1299. $slotjam = "Istirahat Mulai";
  1300. $poin = $setting_poin->jam_mulai_istirahat;
  1301. $status = 'extuder-rutin-shift2';
  1302. }
  1303. } else if(isset($jam_istirahat_selesai_shift2) && strtotime($before_jam_istirahat_selesai_shift2) > strtotime($before_jam_pulang_shift2)) {
  1304. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1305. $slotjam = "Istirahat Selesai";
  1306. $poin = $setting_poin->jam_selesai_istirahat;
  1307. $status = 'extuder-rutin-shift2';
  1308. }
  1309. } else if(isset($jam_pulang_shift2) && strtotime($before_jam_pulang_shift2) > strtotime($after_jam_pulang_shift2)) {
  1310. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  1311. $slotjam = "Pulang";
  1312. $poin = $setting_poin->jam_keluar;
  1313. $status = 'extuder-rutin-shift2';
  1314. }
  1315. }
  1316.  
  1317. //========= SHIFT 3 =========//
  1318. else if(isset($jam_masuk_shift3) && ($jamtap > $before_jam_masuk_shift3) && ($jamtap < $after_jam_masuk_shift3)) {
  1319. $slotjam = "Masuk";
  1320. $poin = $setting_poin->jam_masuk;
  1321. $status = 'extuder-rutin-shift3';
  1322. } elseif(isset($jam_masuk_shift3) && ($jamtap == $before_jam_masuk_shift3) || ($jamtap == $after_jam_masuk_shift3)) {
  1323. $slotjam = "Masuk";
  1324. $poin = $setting_poin->jam_masuk;
  1325. $status = 'extuder-rutin-shift3';
  1326. } elseif(isset($jam_masuk_shift3) && ($jamtap > $after_jam_masuk_shift3) && ($jamtap < $before_jam_istirahat_mulai_shift3)) {
  1327. $slotjam = "Terlambat Masuk";
  1328. $poin = $setting_poin->jam_masuk;
  1329. $status = 'extuder-rutin-shift3';
  1330. } elseif(isset($jam_istirahat_mulai_shift3) && ($jamtap > $before_jam_istirahat_mulai_shift3) && ($jamtap < $before_jam_istirahat_selesai_shift3)) {
  1331. $slotjam = "Istirahat Mulai";
  1332. $poin = $setting_poin->jam_mulai_istirahat;
  1333. $status = 'extuder-rutin-shift3';
  1334. } elseif(isset($jam_istirahat_mulai_shift3) && ($jamtap == $before_jam_istirahat_mulai_shift3)) {
  1335. $slotjam = "Istirahat Mulai";
  1336. $poin = $setting_poin->jam_mulai_istirahat;
  1337. $status = 'extuder-rutin-shift3';
  1338. } elseif(isset($jam_istirahat_selesai_shift3) && ($jamtap > $before_jam_istirahat_selesai_shift3) && ($jamtap < $before_jam_pulang_shift3)) {
  1339. $slotjam = "Istirahat Selesai";
  1340. $poin = $setting_poin->jam_selesai_istirahat;
  1341. $status = 'extuder-rutin-shift3';
  1342. } elseif(isset($jam_istirahat_selesai_shift3) && ($jamtap == $before_jam_istirahat_selesai_shift3)) {
  1343. $slotjam = "Istirahat Selesai";
  1344. $poin = $setting_poin->jam_selesai_istirahat;
  1345. $status = 'extuder-rutin-shift3';
  1346. } elseif(isset($jam_pulang_shift3) && ($jamtap > $before_jam_pulang_shift3) && ($jamtap < $after_jam_pulang_shift3)) {
  1347. $slotjam = "Pulang";
  1348. $poin = $setting_poin->jam_keluar;
  1349. $status = 'extuder-rutin-shift3';
  1350. } elseif(isset($jam_pulang_shift3) && ($jamtap == $before_jam_pulang_shift3) || ($jamtap == $after_jam_pulang_shift3)) {
  1351. $slotjam = "Pulang";
  1352. $poin = $setting_poin->jam_keluar;
  1353. $status = 'extuder-rutin-shift3';
  1354. }
  1355. // borderline dinihari, sebelum 24:00
  1356. else if(isset($jam_masuk_shift3) && strtotime($before_jam_masuk_shift3) > strtotime($after_jam_masuk_shift3)) {
  1357. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  1358. $slotjam = "Masuk";
  1359. $poin = $setting_poin->jam_masuk;
  1360. $status = 'extuder-rutin-shift3';
  1361. }
  1362. } else if(isset($jam_masuk_shift3) && strtotime($after_jam_masuk_shift3) > strtotime($before_jam_istirahat_mulai_shift3)) {
  1363. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  1364. $slotjam = "Terlambat Masuk";
  1365. $poin = $setting_poin->jam_masuk;
  1366. $status = 'extuder-rutin-shift3';
  1367. }
  1368. } else if(isset($jam_istirahat_mulai_shift3) && strtotime($before_jam_istirahat_mulai_shift3) > strtotime($before_jam_istirahat_selesai_shift3)) {
  1369. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  1370. $slotjam = "Istirahat Mulai";
  1371. $poin = $setting_poin->jam_mulai_istirahat;
  1372. $status = 'extuder-rutin-shift3';
  1373. }
  1374. } else if(isset($jam_istirahat_pulang_shift3) && strtotime($before_jam_istirahat_selesai_shift3) > strtotime($before_jam_pulang_shift3)) {
  1375. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  1376. $slotjam = "Istirahat Selesai";
  1377. $poin = $setting_poin->jam_selesai_istirahat;
  1378. $status = 'extuder-rutin-shift3';
  1379. }
  1380. } else if(isset($jam_pulang_shift3) && strtotime($before_jam_pulang_shift3) > strtotime($after_jam_pulang_shift3)) {
  1381. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  1382. $slotjam = "Pulang";
  1383. $poin = $setting_poin->jam_keluar;
  1384. $status = 'extuder-rutin-shift3';
  1385. }
  1386. }
  1387. }
  1388.  
  1389. // simpan ke presensi
  1390. $presensi = array(
  1391. 'karyawan_id' => $id_karyawan,
  1392. 'nama_karyawan' => $nama_karyawan,
  1393. 'group_karyawan' => $group_karyawan,
  1394. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1395. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  1396. 'setting_presensi_id' => 1,
  1397. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  1398. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  1399. 'poin' => $poin,
  1400. 'status' => $status,
  1401. 'slotjam' => $slotjam,
  1402. 'source' => $source,
  1403. 'source_id' => $source_id
  1404. );
  1405.  
  1406. $presensilog = array(
  1407. 'karyawan_id' => $id_karyawan,
  1408. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1409. 'nama_karyawan' => $nama_karyawan,
  1410. 'group_karyawan' => $group_karyawan,
  1411. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  1412. 'slotjam' => $slotjam,
  1413. 'poin' => $poin,
  1414. 'status' => $status,
  1415. );
  1416.  
  1417. // dd($presensi);
  1418.  
  1419. $slotjamkomparasi = $slotjam;
  1420. if($slotjamkomparasi == 'Terlambat Masuk') {
  1421. $slotjamkomparasi = 'Masuk';
  1422. }
  1423.  
  1424. if($status != null) {
  1425. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  1426. ->where('status', $status)
  1427. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  1428. ->where('karyawan_id', $id_karyawan)
  1429. ->first();
  1430.  
  1431. // dd($oldpresensi);
  1432.  
  1433. if(isset($oldpresensi)) {
  1434. // $oldpresensi->update($presensi);
  1435. $data_terinput = $data_terinput + 0;
  1436. } else if(!isset($oldpresensi)) {
  1437. // cek jam masuk
  1438. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  1439. Presensi::create($presensi);
  1440. $data_terinput = $data_terinput + 1;
  1441.  
  1442. // input ke kph
  1443. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1444.  
  1445. // input ke mingguanjam extuder
  1446. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1447.  
  1448. // input ke mingguanjam extuder
  1449. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1450.  
  1451. }
  1452. // cek jam istirahat mulai
  1453. if($slotjam == 'Istirahat Mulai') {
  1454. Presensi::create($presensi);
  1455. $data_terinput = $data_terinput + 1;
  1456.  
  1457. // input ke kph
  1458. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1459.  
  1460. // input ke mingguanjam extuder
  1461. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1462.  
  1463. // input ke mingguanjam extuder
  1464. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1465. }
  1466. // cek jam istirahat selesai
  1467. if($slotjam == 'Istirahat Selesai') {
  1468. Presensi::create($presensi);
  1469. $today = Carbon::parse($tanggal_waktu_tap);
  1470. $data_terinput = $data_terinput + 1;
  1471.  
  1472. // input ke kph
  1473. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1474.  
  1475. // input ke mingguanjam extuder
  1476. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1477.  
  1478. // input ke mingguanjam extuder
  1479. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1480. }
  1481. // cek jam pulang
  1482. if($slotjam == 'Pulang') {
  1483. Presensi::create($presensi);
  1484. $data_terinput = $data_terinput + 1;
  1485.  
  1486. // input ke kph
  1487. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1488.  
  1489. // input ke mingguanjam extuder
  1490. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1491.  
  1492. // input ke mingguanjam extuder
  1493. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1494. }
  1495. }
  1496. // PresensiLog::create($presensilog);
  1497. }
  1498.  
  1499. } else if ($punya_shift3 == false) {
  1500. // simpan ke presensi
  1501. $presensi = array(
  1502. 'karyawan_id' => $id_karyawan,
  1503. 'nama_karyawan' => $nama_karyawan,
  1504. 'group_karyawan' => $group_karyawan,
  1505. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1506. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  1507. 'setting_presensi_id' => 1,
  1508. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  1509. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  1510. 'poin' => $poin,
  1511. 'status' => $status,
  1512. 'slotjam' => $slotjam,
  1513. 'source' => $source,
  1514. 'source_id' => $source_id
  1515. );
  1516.  
  1517. $presensilog = array(
  1518. 'karyawan_id' => $id_karyawan,
  1519. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1520. 'nama_karyawan' => $nama_karyawan,
  1521. 'group_karyawan' => $group_karyawan,
  1522. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  1523. 'slotjam' => $slotjam,
  1524. 'poin' => $poin,
  1525. 'status' => $status,
  1526. );
  1527.  
  1528. // dd($presensi);
  1529.  
  1530. $slotjamkomparasi = $slotjam;
  1531. if($slotjamkomparasi == 'Terlambat Masuk') {
  1532. $slotjamkomparasi = 'Masuk';
  1533. }
  1534.  
  1535. if($status != null) {
  1536. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  1537. ->where('status', $status)
  1538. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  1539. ->where('karyawan_id', $id_karyawan)
  1540. ->first();
  1541.  
  1542. // dd($oldpresensi);
  1543.  
  1544. if(isset($oldpresensi)) {
  1545. // $oldpresensi->update($presensi);
  1546. $data_terinput = $data_terinput + 0;
  1547. } else if(!isset($oldpresensi)) {
  1548. // cek jam masuk
  1549. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  1550. Presensi::create($presensi);
  1551. $data_terinput = $data_terinput + 1;
  1552.  
  1553. // input ke kph
  1554. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1555.  
  1556. // input ke mingguanjam extuder
  1557. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1558.  
  1559. // input ke mingguanjam extuder
  1560. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1561.  
  1562. }
  1563. // cek jam istirahat mulai
  1564. if($slotjam == 'Istirahat Mulai') {
  1565. Presensi::create($presensi);
  1566. $data_terinput = $data_terinput + 1;
  1567.  
  1568. // input ke kph
  1569. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1570.  
  1571. // input ke mingguanjam extuder
  1572. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1573.  
  1574. // input ke mingguanjam extuder
  1575. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1576. }
  1577. // cek jam istirahat selesai
  1578. if($slotjam == 'Istirahat Selesai') {
  1579. Presensi::create($presensi);
  1580. $today = Carbon::parse($tanggal_waktu_tap);
  1581. $data_terinput = $data_terinput + 1;
  1582.  
  1583. // input ke kph
  1584. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1585.  
  1586. // input ke mingguanjam extuder
  1587. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1588.  
  1589. // input ke mingguanjam extuder
  1590. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1591. }
  1592. // cek jam pulang
  1593. if($slotjam == 'Pulang') {
  1594. Presensi::create($presensi);
  1595. $data_terinput = $data_terinput + 1;
  1596.  
  1597. // input ke kph
  1598. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1599.  
  1600. // input ke mingguanjam extuder
  1601. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1602.  
  1603. // input ke mingguanjam extuder
  1604. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1605. }
  1606. }
  1607. // PresensiLog::create($presensilog);
  1608. }
  1609. }
  1610.  
  1611. } else if($punya_shift2 == false) {
  1612. // simpan ke presensi
  1613. $presensi = array(
  1614. 'karyawan_id' => $id_karyawan,
  1615. 'nama_karyawan' => $nama_karyawan,
  1616. 'group_karyawan' => $group_karyawan,
  1617. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1618. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  1619. 'setting_presensi_id' => 1,
  1620. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  1621. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  1622. 'poin' => $poin,
  1623. 'status' => $status,
  1624. 'slotjam' => $slotjam,
  1625. 'source' => $source,
  1626. 'source_id' => $source_id
  1627. );
  1628.  
  1629. $presensilog = array(
  1630. 'karyawan_id' => $id_karyawan,
  1631. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1632. 'nama_karyawan' => $nama_karyawan,
  1633. 'group_karyawan' => $group_karyawan,
  1634. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  1635. 'slotjam' => $slotjam,
  1636. 'poin' => $poin,
  1637. 'status' => $status,
  1638. );
  1639.  
  1640. // dd($presensi);
  1641.  
  1642. $slotjamkomparasi = $slotjam;
  1643. if($slotjamkomparasi == 'Terlambat Masuk') {
  1644. $slotjamkomparasi = 'Masuk';
  1645. }
  1646.  
  1647. if($status != null) {
  1648. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  1649. ->where('status', $status)
  1650. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  1651. ->where('karyawan_id', $id_karyawan)
  1652. ->first();
  1653.  
  1654. // dd($oldpresensi);
  1655.  
  1656. if(isset($oldpresensi)) {
  1657. // $oldpresensi->update($presensi);
  1658. $data_terinput = $data_terinput + 0;
  1659. } else if(!isset($oldpresensi)) {
  1660. // cek jam masuk
  1661. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  1662. Presensi::create($presensi);
  1663. $data_terinput = $data_terinput + 1;
  1664.  
  1665. // input ke kph
  1666. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1667.  
  1668. // input ke mingguanjam extuder
  1669. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1670.  
  1671. // input ke mingguanjam extuder
  1672. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1673.  
  1674. }
  1675. // cek jam istirahat mulai
  1676. if($slotjam == 'Istirahat Mulai') {
  1677. Presensi::create($presensi);
  1678. $data_terinput = $data_terinput + 1;
  1679.  
  1680. // input ke kph
  1681. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1682.  
  1683. // input ke mingguanjam extuder
  1684. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1685.  
  1686. // input ke mingguanjam extuder
  1687. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1688. }
  1689. // cek jam istirahat selesai
  1690. if($slotjam == 'Istirahat Selesai') {
  1691. Presensi::create($presensi);
  1692. $today = Carbon::parse($tanggal_waktu_tap);
  1693. $data_terinput = $data_terinput + 1;
  1694.  
  1695. // input ke kph
  1696. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1697.  
  1698. // input ke mingguanjam extuder
  1699. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1700.  
  1701. // input ke mingguanjam extuder
  1702. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1703. }
  1704. // cek jam pulang
  1705. if($slotjam == 'Pulang') {
  1706. Presensi::create($presensi);
  1707. $data_terinput = $data_terinput + 1;
  1708.  
  1709. // input ke kph
  1710. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1711.  
  1712. // input ke mingguanjam extuder
  1713. self::inputHarianExtuder($presensi, $presensi['source'], $presensi['source_id']);
  1714.  
  1715. // input ke mingguanjam extuder
  1716. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1717. }
  1718. }
  1719. // PresensiLog::create($presensilog);
  1720. }
  1721. }
  1722. }
  1723. }
  1724. //---------- END WIP Cek jadwal tanpa batasan shift ----------//
  1725. }
  1726. }
  1727. }
  1728. }
  1729. }
  1730. } catch (Exception $e) {
  1731. echo $e->message;
  1732. }
  1733. return response()->json(['status' => 200, 'message' => 'Data Terinput:' . $data_terinput, 'status_presensi' => $slotjam, 'status_shift' => $status]);
  1734.  
  1735. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement