Advertisement
vitareinforce

inputmesin extuder

Oct 21st, 2021
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 99.60 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. //---------- WIP Cek jadwal tanpa batasan shift ----------//
  113. //---------- Shift 1 ----------//
  114. $jam_masuk_shift1 = $jadwalExtuder->jam_masuk_shift1;
  115. $jam_istirahat_mulai_shift1 = $jadwalExtuder->jam_istirahat_mulai_shift1;
  116. $jam_istirahat_selesai_shift1 = $jadwalExtuder->jam_istirahat_selesai_shift1;
  117. $jam_pulang_shift1 = $jadwalExtuder->jam_pulang_shift1;
  118. //---------- Shift 1 ----------//
  119.  
  120. //---------- Shift 2 ----------//
  121. $jam_masuk_shift2 = $jadwalExtuder->jam_masuk_shift2;
  122. $jam_istirahat_mulai_shift2 = $jadwalExtuder->jam_istirahat_mulai_shift2;
  123. $jam_istirahat_selesai_shift2 = $jadwalExtuder->jam_istirahat_selesai_shift2;
  124. $jam_pulang_shift2 = $jadwalExtuder->jam_pulang_shift2;
  125. //---------- Shift 2 ----------//
  126.  
  127. //---------- Shift 3 ----------//
  128. $jam_masuk_shift3 = $jadwalExtuder->jam_masuk_shift3;
  129. $jam_istirahat_mulai_shift3 = $jadwalExtuder->jam_istirahat_mulai_shift3;
  130. $jam_istirahat_selesai_shift3 = $jadwalExtuder->jam_istirahat_selesai_shift3;
  131. $jam_pulang_shift3 = $jadwalExtuder->jam_pulang_shift3;
  132. //---------- Shift 3 ----------//
  133.  
  134. $setting_presensi = SettingPresensi::find(1);
  135. $datang_awal = DatangAwalExtuder::find(1);
  136. $setting_poin = SettingPoinExtuder::find(1);
  137. $setting_datang_awal = strtotime($datang_awal->datang_awal)-strtotime("00:00:00");
  138.  
  139. if(isset($setting_presensi->toleransi_keterlambatan)) {
  140. $toleransi = strtotime($setting_presensi->toleransi_keterlambatan)-strtotime("00:00:00");
  141.  
  142. //---------- Shift 1 ----------//
  143. $before_jam_masuk_shift1 = null;
  144. $after_jam_masuk_shift1 = null;
  145. $before_jam_istirahat_mulai_shift1 = null;
  146. $before_jam_istirahat_selesai_shift1 = null;
  147. $before_jam_pulang_shift1 = null;
  148. $after_jam_pulang_shift1 = null;
  149.  
  150. if($jam_masuk_shift1 != null && $jam_istirahat_mulai_shift1 != null && $jam_istirahat_selesai_shift1 != null && $jam_pulang_shift1 != null) {
  151. $before_jam_masuk_shift1 = date("H:i:s",strtotime($jam_masuk_shift1)-$setting_datang_awal);
  152. $after_jam_masuk_shift1 = date("H:i:s",strtotime($jam_masuk_shift1)+$toleransi);
  153.  
  154. $before_jam_istirahat_mulai_shift1 = date("H:i:s",strtotime($jam_istirahat_mulai_shift1)-$toleransi);
  155. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  156.  
  157. $before_jam_istirahat_selesai_shift1 = date("H:i:s",strtotime($jam_istirahat_selesai_shift1)-$toleransi);
  158. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  159.  
  160. $before_jam_pulang_shift1 = date("H:i:s",strtotime($jam_pulang_shift1)-$toleransi);
  161. $after_jam_pulang_shift1 = null;
  162.  
  163. // ini bwt ngecek after jam pulang shift 1, cek dulu shift 2 nya ada atau tidak
  164. if($jadwalExtuder->jam_masuk_shift2 != null) {
  165. $jarak_pulang_shift1 = abs(strtotime($jadwalExtuder->jam_pulang_shift1) - strtotime($jadwalExtuder->jam_masuk_shift2)) / 60;
  166. // dd($jarak_pulang_shift1);
  167. if($jarak_pulang_shift1 >= 150) {
  168. $after_jam_pulang_shift1 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift2)-$setting_datang_awal);
  169. } else if($jarak_pulang_shift1 < 150) {
  170. $after_jam_pulang_shift1 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift2)-$toleransi);
  171. }
  172. } else {
  173. $after_jam_pulang_shift1 = date("H:i:s",strtotime("+2 hours", strtotime($jam_pulang_shift1)));
  174. }
  175.  
  176. // ini untuk cek antara jam_pulang_shift1 dan jam_masuk_shift2 bersebrangan beda hari
  177. // if($jadwalExtuder->jam_pulang_shift1 > $jadwalExtuder->jam_masuk_shift2) {
  178. // if(strtotime($jadwalExtuder->jam_pulang_shift1) < strtotime("24:00:00")) {
  179.  
  180. // } else {
  181.  
  182. // }
  183. // }
  184. }
  185. //---------- Shift 1 ----------//
  186.  
  187. //---------- Shift 2 ----------//
  188. $before_jam_masuk_shift2 = null;
  189. $after_jam_masuk_shift2 = null;
  190. $before_jam_istirahat_mulai_shift2 = null;
  191. $before_jam_istirahat_selesai_shift2 = null;
  192. $before_jam_pulang_shift2 = null;
  193. $after_jam_pulang_shift2 = null;
  194.  
  195. if($jam_masuk_shift2 != null && $jam_istirahat_mulai_shift2 != null && $jam_istirahat_selesai_shift2 != null && $jam_pulang_shift2 != null) {
  196.  
  197. // ini bwt ngecek before jam masuk dr shift 2 ke shift 1
  198. if($jadwalExtuder->jam_pulang_shift1 != null) {
  199. $jarak_masuk_shift2 = abs(strtotime($jadwalExtuder->jam_pulang_shift1) - strtotime($jadwalExtuder->jam_masuk_shift2)) / 60;
  200. if($jarak_masuk_shift2 >= 150) {
  201. $before_jam_masuk_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. } else {
  204. $before_jam_masuk1_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)-$toleransi);
  205. $before_jam_masuk_shift2 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift2)));
  206. }
  207. } else {
  208. $before_jam_masuk1_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)-$setting_datang_awal);
  209. $before_jam_masuk_shift2 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift2)));
  210. }
  211. $after_jam_masuk_shift2 = date("H:i:s",strtotime($jam_masuk_shift2)+$toleransi);
  212.  
  213. $before_jam_istirahat_mulai_shift2 = date("H:i:s",strtotime($jam_istirahat_mulai_shift2)-$toleransi);
  214. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  215.  
  216. $before_jam_istirahat_selesai_shift2 = date("H:i:s",strtotime($jam_istirahat_selesai_shift2)-$toleransi);
  217. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  218.  
  219. $before_jam_pulang_shift2 = date("H:i:s",strtotime($jam_pulang_shift2)-$toleransi);
  220.  
  221. // bwt ngecek after jam pulang shift 2, hrs ngecek dulu shift 3 nya ada atau ga
  222. if($jadwalExtuder->jam_masuk_shift3 != null) {
  223. $jarak_pulang_shift2 = abs(strtotime($jadwalExtuder->jam_pulang_shift2) - strtotime($jadwalExtuder->jam_masuk_shift3)) / 60;
  224. // dd($jarak_pulang);
  225. if($jarak_pulang_shift2 >= 150) {
  226. $after_jam_pulang_shift2 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift3)-$setting_datang_awal);
  227. } else {
  228. $after_jam_pulang_shift2 = date("H:i:s",strtotime($jadwalExtuder->jam_masuk_shift3)-$toleransi);
  229. }
  230. } else {
  231. $after_jam_pulang_shift2 = date("H:i:s",strtotime("+2 hours", strtotime($jam_pulang_shift2)));
  232. }
  233.  
  234. // ini untuk cek antara jam_pulang_shift1 dan jam_masuk_shift2 bersebrangan beda hari
  235. // if($jadwalExtuder->jam_pulang_shift2 > $jadwalExtuder->jam_masuk_shift3) {
  236. // if(strtotime($jadwalExtuder->jam_pulang_shift2) < strtotime("24:00:00")) {
  237.  
  238. // } else {
  239.  
  240. // }
  241. // }
  242. }
  243. //---------- Shift 2 ----------//
  244.  
  245. //---------- Shift 3 ----------//
  246. $before_jam_masuk_shift3 = null;
  247. $after_jam_masuk_shift3 = null;
  248. $before_jam_istirahat_mulai_shift3 = null;
  249. $before_jam_istirahat_selesai_shift3 = null;
  250. $before_jam_pulang_shift3 = null;
  251. $after_jam_pulang_shift3 = null;
  252.  
  253. if($jam_masuk_shift3 != null && $jam_istirahat_mulai_shift3 != null && $jam_istirahat_selesai_shift3 != null && $jam_pulang_shift3 != null) {
  254.  
  255. // bwt ngecek before jam masuk shift 3, hrs ngecek shift 2 nya dulu
  256. if($jadwalExtuder->jam_pulang_shift2 != null) {
  257. $jarak_masuk_shift3 = abs(strtotime($jadwalExtuder->jam_pulang_shift2) - strtotime($jadwalExtuder->jam_masuk_shift3)) / 60;
  258. if($jarak_masuk_shift3 >= 150) {
  259. $before_jam_masuk_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)-$setting_datang_awal);
  260. // $before_jam_masuk_shift3 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift3)));
  261. } else {
  262. $before_jam_masuk1_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)-$toleransi);
  263. $before_jam_masuk_shift3 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift3)));
  264. }
  265. } else {
  266. $before_jam_masuk1_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)-$setting_datang_awal);
  267. $before_jam_masuk_shift3 = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk1_shift3)));
  268. }
  269. $after_jam_masuk_shift3 = date("H:i:s",strtotime($jam_masuk_shift3)+$toleransi);
  270.  
  271. $before_jam_istirahat_mulai_shift3 = date("H:i:s",strtotime($jam_istirahat_mulai_shift3)-$toleransi);
  272. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  273.  
  274. $before_jam_istirahat_selesai_shift3 = date("H:i:s",strtotime($jam_istirahat_selesai_shift3)-$toleransi);
  275. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  276.  
  277. $before_jam_pulang_shift3 = date("H:i:s",strtotime($jam_pulang_shift3)-$toleransi);
  278.  
  279. $after_jam_pulang_shift3 = date("H:i:s",strtotime("+2 hours", strtotime($jam_pulang_shift3)));
  280. }
  281. //---------- Shift 3 ----------//
  282.  
  283. /**
  284. * Buat debugging
  285. */
  286. // dd($jadwalExtuder);
  287. // 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);
  288. // 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);
  289. // 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);
  290.  
  291. //------------- Bagi dua bagian normal dan dinihari-------------//
  292. if($status_boleh_ngetap == 1) {
  293. // case normal disini
  294.  
  295. // variable untuk nampung slotjam, status dan poin presensi
  296. $slotjam = null;
  297. $status = null;
  298. $poin = null;
  299.  
  300. //========= SHIFT 1 =========//
  301. if(isset($jam_masuk_shift1) && ($jamtap > $before_jam_masuk_shift1) && ($jamtap < $after_jam_masuk_shift1)) {
  302. $slotjam = "Masuk";
  303. $poin = $setting_poin->jam_masuk;
  304. $status = 'extuder-rutin-shift1';
  305. } elseif(isset($jam_masuk_shift1) && ($jamtap == $before_jam_masuk_shift1) || ($jamtap == $after_jam_masuk_shift1)) {
  306. $slotjam = "Masuk";
  307. $poin = $setting_poin->jam_masuk;
  308. $status = 'extuder-rutin-shift1';
  309. } elseif(isset($jam_masuk_shift1) && ($jamtap > $after_jam_masuk_shift1) && ($jamtap < $before_jam_istirahat_mulai_shift1)) {
  310. $slotjam = "Terlambat Masuk";
  311. $poin = $setting_poin->jam_masuk;
  312. $status = 'extuder-rutin-shift1';
  313. } elseif(isset($jam_istirahat_mulai_shift1) && ($jamtap > $before_jam_istirahat_mulai_shift1) && ($jamtap < $before_jam_istirahat_selesai_shift1)) {
  314. $slotjam = "Istirahat Mulai";
  315. $poin = $setting_poin->jam_mulai_istirahat;
  316. $status = 'extuder-rutin-shift1';
  317. } elseif(isset($jam_istirahat_mulai_shift1) && ($jamtap == $before_jam_istirahat_mulai_shift1)) {
  318. $slotjam = "Istirahat Mulai";
  319. $poin = $setting_poin->jam_mulai_istirahat;
  320. $status = 'extuder-rutin-shift1';
  321. } elseif(isset($jam_istirahat_selesai_shift1) && ($jamtap > $before_jam_istirahat_selesai_shift1) && ($jamtap < $before_jam_pulang_shift1)) {
  322. $slotjam = "Istirahat Selesai";
  323. $poin = $setting_poin->jam_selesai_istirahat;
  324. $status = 'extuder-rutin-shift1';
  325. } elseif(isset($jam_istirahat_selesai_shift1) && ($jamtap == $before_jam_istirahat_selesai_shift1)) {
  326. $slotjam = "Istirahat Selesai";
  327. $poin = $setting_poin->jam_selesai_istirahat;
  328. $status = 'extuder-rutin-shift1';
  329. } elseif(isset($jam_pulang_shift1) && ($jamtap > $before_jam_pulang_shift1) && ($jamtap < $after_jam_pulang_shift1)) {
  330. $slotjam = "Pulang";
  331. $poin = $setting_poin->jam_keluar;
  332. $status = 'extuder-rutin-shift1';
  333. } elseif(isset($jam_pulang_shift1) && ($jamtap == $before_jam_pulang_shift1) || ($jamtap == $after_jam_pulang_shift1)) {
  334. $slotjam = "Pulang";
  335. $poin = $setting_poin->jam_keluar;
  336. $status = 'extuder-rutin-shift1';
  337. }
  338. // borderline dinihari, sebelum 24:00
  339. else if(isset($jam_masuk_shift1) && strtotime($before_jam_masuk_shift1) > strtotime($after_jam_masuk_shift1)) {
  340. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  341. $slotjam = "Masuk";
  342. $poin = $setting_poin->jam_masuk;
  343. $status = 'extuder-rutin-shift1';
  344. }
  345. } else if(isset($jam_masuk_shift1) && strtotime($after_jam_masuk_shift1) > strtotime($before_jam_istirahat_mulai_shift1)) {
  346. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  347. $slotjam = "Terlambat Masuk";
  348. $poin = $setting_poin->jam_masuk;
  349. $status = 'extuder-rutin-shift1';
  350. }
  351. } else if(isset($jam_istirahat_mulai_shift1) && strtotime($before_jam_istirahat_mulai_shift1) > strtotime($before_jam_istirahat_selesai_shift1)) {
  352. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  353. $slotjam = "Istirahat Mulai";
  354. $poin = $setting_poin->jam_mulai_istirahat;
  355. $status = 'extuder-rutin-shift1';
  356. }
  357. } else if(isset($jam_istirahat_selesai_shift1) && strtotime($before_jam_istirahat_selesai_shift1) > strtotime($before_jam_pulang_shift1)) {
  358. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  359. $slotjam = "Istirahat Selesai";
  360. $poin = $setting_poin->jam_selesai_istirahat;
  361. $status = 'extuder-rutin-shift1';
  362. }
  363. } else if(isset($jam_pulang_shift1) && strtotime($before_jam_pulang_shift1) > strtotime($after_jam_pulang_shift1)) {
  364. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift1) && strtotime($jamtap) < strtotime("24:00:00")) {
  365. $slotjam = "Pulang";
  366. $poin = $setting_poin->jam_keluar;
  367. $status = 'extuder-rutin-shift1';
  368. }
  369. }
  370.  
  371. //========= SHIFT 2 =========//
  372. else if(isset($jam_masuk_shift2) && ($jamtap > $before_jam_masuk_shift2) && ($jamtap < $after_jam_masuk_shift2)) {
  373. $slotjam = "Masuk";
  374. $poin = $setting_poin->jam_masuk;
  375. $status = 'extuder-rutin-shift2';
  376. } elseif(isset($jam_masuk_shift2) && ($jamtap == $before_jam_masuk_shift2) || ($jamtap == $after_jam_masuk_shift2)) {
  377. $slotjam = "Masuk";
  378. $poin = $setting_poin->jam_masuk;
  379. $status = 'extuder-rutin-shift2';
  380. } elseif(isset($jam_masuk_shift2) && ($jamtap > $after_jam_masuk_shift2) && ($jamtap < $before_jam_istirahat_mulai_shift2)) {
  381. $slotjam = "Terlambat Masuk";
  382. $poin = $setting_poin->jam_masuk;
  383. $status = 'extuder-rutin-shift2';
  384. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap > $before_jam_istirahat_mulai_shift2) && ($jamtap < $before_jam_istirahat_selesai_shift2)) {
  385. $slotjam = "Istirahat Mulai";
  386. $poin = $setting_poin->jam_mulai_istirahat;
  387. $status = 'extuder-rutin-shift2';
  388. } elseif(isset($jam_istirahat_mulai_shift2) && ($jamtap == $before_jam_istirahat_mulai_shift2)) {
  389. $slotjam = "Istirahat Mulai";
  390. $poin = $setting_poin->jam_mulai_istirahat;
  391. $status = 'extuder-rutin-shift2';
  392. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap > $before_jam_istirahat_selesai_shift2) && ($jamtap < $before_jam_pulang_shift2)) {
  393. $slotjam = "Istirahat Selesai";
  394. $poin = $setting_poin->jam_selesai_istirahat;
  395. $status = 'extuder-rutin-shift2';
  396. } elseif(isset($jam_istirahat_selesai_shift2) && ($jamtap == $before_jam_istirahat_selesai_shift2)) {
  397. $slotjam = "Istirahat Selesai";
  398. $poin = $setting_poin->jam_selesai_istirahat;
  399. $status = 'extuder-rutin-shift2';
  400. } elseif(isset($jam_pulang_shift2) && ($jamtap > $before_jam_pulang_shift2) && ($jamtap < $after_jam_pulang_shift2)) {
  401. $slotjam = "Pulang";
  402. $poin = $setting_poin->jam_keluar;
  403. $status = 'extuder-rutin-shift2';
  404. } elseif(isset($jam_pulang_shift2) && ($jamtap == $before_jam_pulang_shift2) || ($jamtap == $after_jam_pulang_shift2)) {
  405. $slotjam = "Pulang";
  406. $poin = $setting_poin->jam_keluar;
  407. $status = 'extuder-rutin-shift2';
  408. }
  409. // borderline dinihari, sebelum 24:00
  410. else if(isset($jam_masuk_shift2) && strtotime($before_jam_masuk_shift2) > strtotime($after_jam_masuk_shift2)) {
  411. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  412. $slotjam = "Masuk";
  413. $poin = $setting_poin->jam_masuk;
  414. $status = 'extuder-rutin-shift2';
  415. }
  416. } else if(isset($jam_masuk_shift2) && strtotime($after_jam_masuk_shift2) > strtotime($before_jam_istirahat_mulai_shift2)) {
  417. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  418. $slotjam = "Terlambat Masuk";
  419. $poin = $setting_poin->jam_masuk;
  420. $status = 'extuder-rutin-shift2';
  421. }
  422. } else if(isset($jam_istirahat_mulai_shift2) && strtotime($before_jam_istirahat_mulai_shift2) > strtotime($before_jam_istirahat_selesai_shift2)) {
  423. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  424. $slotjam = "Istirahat Mulai";
  425. $poin = $setting_poin->jam_mulai_istirahat;
  426. $status = 'extuder-rutin-shift2';
  427. }
  428. } else if(isset($jam_istirahat_selesai_shift2) && strtotime($before_jam_istirahat_selesai_shift2) > strtotime($before_jam_pulang_shift2)) {
  429. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  430. $slotjam = "Istirahat Selesai";
  431. $poin = $setting_poin->jam_selesai_istirahat;
  432. $status = 'extuder-rutin-shift2';
  433. }
  434. } else if(isset($jam_pulang_shift2) && strtotime($before_jam_pulang_shift2) > strtotime($after_jam_pulang_shift2)) {
  435. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift2) && strtotime($jamtap) < strtotime("24:00:00")) {
  436. $slotjam = "Pulang";
  437. $poin = $setting_poin->jam_keluar;
  438. $status = 'extuder-rutin-shift2';
  439. }
  440. }
  441.  
  442. //========= SHIFT 3 =========//
  443. else if(isset($jam_masuk_shift3) && ($jamtap > $before_jam_masuk_shift3) && ($jamtap < $after_jam_masuk_shift3)) {
  444. $slotjam = "Masuk";
  445. $poin = $setting_poin->jam_masuk;
  446. $status = 'extuder-rutin-shift3';
  447. } elseif(isset($jam_masuk_shift3) && ($jamtap == $before_jam_masuk_shift3) || ($jamtap == $after_jam_masuk_shift3)) {
  448. $slotjam = "Masuk";
  449. $poin = $setting_poin->jam_masuk;
  450. $status = 'extuder-rutin-shift3';
  451. } elseif(isset($jam_masuk_shift3) && ($jamtap > $after_jam_masuk_shift3) && ($jamtap < $before_jam_istirahat_mulai_shift3)) {
  452. $slotjam = "Terlambat Masuk";
  453. $poin = $setting_poin->jam_masuk;
  454. $status = 'extuder-rutin-shift3';
  455. } elseif(isset($jam_istirahat_mulai_shift3) && ($jamtap > $before_jam_istirahat_mulai_shift3) && ($jamtap < $before_jam_istirahat_selesai_shift3)) {
  456. $slotjam = "Istirahat Mulai";
  457. $poin = $setting_poin->jam_mulai_istirahat;
  458. $status = 'extuder-rutin-shift3';
  459. } elseif(isset($jam_istirahat_mulai_shift3) && ($jamtap == $before_jam_istirahat_mulai_shift3)) {
  460. $slotjam = "Istirahat Mulai";
  461. $poin = $setting_poin->jam_mulai_istirahat;
  462. $status = 'extuder-rutin-shift3';
  463. } elseif(isset($jam_istirahat_selesai_shift3) && ($jamtap > $before_jam_istirahat_selesai_shift3) && ($jamtap < $before_jam_pulang_shift3)) {
  464. $slotjam = "Istirahat Selesai";
  465. $poin = $setting_poin->jam_selesai_istirahat;
  466. $status = 'extuder-rutin-shift3';
  467. } elseif(isset($jam_istirahat_selesai_shift3) && ($jamtap == $before_jam_istirahat_selesai_shift3)) {
  468. $slotjam = "Istirahat Selesai";
  469. $poin = $setting_poin->jam_selesai_istirahat;
  470. $status = 'extuder-rutin-shift3';
  471. } elseif(isset($jam_pulang_shift3) && ($jamtap > $before_jam_pulang_shift3) && ($jamtap < $after_jam_pulang_shift3)) {
  472. $slotjam = "Pulang";
  473. $poin = $setting_poin->jam_keluar;
  474. $status = 'extuder-rutin-shift3';
  475. } elseif(isset($jam_pulang_shift3) && ($jamtap == $before_jam_pulang_shift3) || ($jamtap == $after_jam_pulang_shift3)) {
  476. $slotjam = "Pulang";
  477. $poin = $setting_poin->jam_keluar;
  478. $status = 'extuder-rutin-shift3';
  479. }
  480. // borderline dinihari, sebelum 24:00
  481. else if(isset($jam_masuk_shift3) && strtotime($before_jam_masuk_shift3) > strtotime($after_jam_masuk_shift3)) {
  482. if(strtotime($jamtap) >= strtotime($before_jam_masuk_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  483. $slotjam = "Masuk";
  484. $poin = $setting_poin->jam_masuk;
  485. $status = 'extuder-rutin-shift3';
  486. }
  487. } else if(isset($jam_masuk_shift3) && strtotime($after_jam_masuk_shift3) > strtotime($before_jam_istirahat_mulai_shift3)) {
  488. if(strtotime($jamtap) > strtotime($after_jam_masuk_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  489. $slotjam = "Terlambat Masuk";
  490. $poin = $setting_poin->jam_masuk;
  491. $status = 'extuder-rutin-shift3';
  492. }
  493. } else if(isset($jam_istirahat_mulai_shift3) && strtotime($before_jam_istirahat_mulai_shift3) > strtotime($before_jam_istirahat_selesai_shift3)) {
  494. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_mulai_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  495. $slotjam = "Istirahat Mulai";
  496. $poin = $setting_poin->jam_mulai_istirahat;
  497. $status = 'extuder-rutin-shift3';
  498. }
  499. } else if(isset($jam_istirahat_pulang_shift3) && strtotime($before_jam_istirahat_selesai_shift3) > strtotime($before_jam_pulang_shift3)) {
  500. if(strtotime($jamtap) >= strtotime($before_jam_istirahat_selesai_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  501. $slotjam = "Istirahat Selesai";
  502. $poin = $setting_poin->jam_selesai_istirahat;
  503. $status = 'extuder-rutin-shift3';
  504. }
  505. } else if(isset($jam_pulang_shift3) && strtotime($before_jam_pulang_shift3) > strtotime($after_jam_pulang_shift3)) {
  506. if(strtotime($jamtap) >= strtotime($before_jam_pulang_shift3) && strtotime($jamtap) < strtotime("24:00:00")) {
  507. $slotjam = "Pulang";
  508. $poin = $setting_poin->jam_keluar;
  509. $status = 'extuder-rutin-shift3';
  510. }
  511. }
  512.  
  513. // simpan ke presensi
  514. $presensi = array(
  515. 'karyawan_id' => $id_karyawan,
  516. 'nama_karyawan' => $nama_karyawan,
  517. 'group_karyawan' => $group_karyawan,
  518. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  519. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  520. 'setting_presensi_id' => 1,
  521. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  522. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  523. 'poin' => $poin,
  524. 'status' => $status,
  525. 'slotjam' => $slotjam,
  526. 'source' => $source,
  527. 'source_id' => $source_id
  528. );
  529.  
  530. $presensilog = array(
  531. 'karyawan_id' => $id_karyawan,
  532. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  533. 'nama_karyawan' => $nama_karyawan,
  534. 'group_karyawan' => $group_karyawan,
  535. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  536. 'slotjam' => $slotjam,
  537. 'poin' => $poin,
  538. 'status' => $status,
  539. );
  540.  
  541. // dd($presensi);
  542.  
  543. $slotjamkomparasi = $slotjam;
  544. if($slotjamkomparasi == 'Terlambat Masuk') {
  545. $slotjamkomparasi = 'Masuk';
  546. }
  547.  
  548. if($status != null) {
  549. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  550. ->where('status', $status)
  551. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  552. ->where('karyawan_id', $id_karyawan)
  553. ->first();
  554.  
  555. // dd($oldpresensi);
  556.  
  557. if(isset($oldpresensi)) {
  558. // $oldpresensi->update($presensi);
  559. $data_terinput = $data_terinput + 0;
  560. } else if(!isset($oldpresensi)) {
  561. // cek jam masuk
  562. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  563. Presensi::create($presensi);
  564. $data_terinput = $data_terinput + 1;
  565.  
  566. // input ke kph
  567. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  568.  
  569. // input ke mingguanjam extuder
  570. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  571.  
  572. }
  573. // cek jam istirahat mulai
  574. if($slotjam == 'Istirahat Mulai') {
  575. Presensi::create($presensi);
  576. $data_terinput = $data_terinput + 1;
  577.  
  578. // input ke kph
  579. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  580.  
  581. // input ke mingguanjam extuder
  582. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  583. }
  584. // cek jam istirahat selesai
  585. if($slotjam == 'Istirahat Selesai') {
  586. Presensi::create($presensi);
  587. $today = Carbon::parse($tanggal_waktu_tap);
  588. $data_terinput = $data_terinput + 1;
  589.  
  590. // input ke kph
  591. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  592.  
  593. // input ke mingguanjam extuder
  594. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  595. }
  596. // cek jam pulang
  597. if($slotjam == 'Pulang') {
  598. Presensi::create($presensi);
  599. $data_terinput = $data_terinput + 1;
  600.  
  601. // input ke kph
  602. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  603.  
  604. // input ke mingguanjam extuder
  605. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  606. }
  607. }
  608. // PresensiLog::create($presensilog);
  609. }
  610.  
  611. } else if ($status_boleh_ngetap == 0) {
  612. // case dinihari disini
  613.  
  614. // variable untuk nampung slotjam, status dan poin presensi
  615. $slotjam = null;
  616. $status = null;
  617. $poin = null;
  618.  
  619. //===============SHIFT 1================//
  620. if(isset($jam_masuk_shift1) && strtotime($before_jam_masuk_shift1) > strtotime($after_jam_masuk_shift1)) {
  621. 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))) {
  622. $slotjam = "Masuk";
  623. $poin = $setting_poin->jam_masuk;
  624. $status = 'extuder-rutin-shift1';
  625. } 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))))) {
  626. $slotjam = "Terlambat Masuk";
  627. $poin = $setting_poin->jam_masuk;
  628. $status = 'extuder-rutin-shift1';
  629. } 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))))) {
  630. $slotjam = "Istirahat Mulai";
  631. $poin = $setting_poin->jam_mulai_istirahat;
  632. $status = 'extuder-rutin-shift1';
  633. } elseif(isset($jam_istirahat_mulai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)))) {
  634. $slotjam = "Istirahat Mulai";
  635. $poin = $setting_poin->jam_mulai_istirahat;
  636. $status = 'extuder-rutin-shift1';
  637. } 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)))) {
  638. $slotjam = "Istirahat Selesai";
  639. $poin = $setting_poin->jam_selesai_istirahat;
  640. $status = 'extuder-rutin-shift1';
  641. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  642. $slotjam = "Istirahat Selesai";
  643. $poin = $setting_poin->jam_selesai_istirahat;
  644. $status = 'extuder-rutin-shift1';
  645. } 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)))) {
  646. $slotjam = "Pulang";
  647. $poin = $setting_poin->jam_keluar;
  648. $status = 'extuder-rutin-shift1';
  649. } 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)))) {
  650. $slotjam = "Pulang";
  651. $poin = $setting_poin->jam_keluar;
  652. $status = 'extuder-rutin-shift1';
  653. }
  654. } else if(isset($jam_masuk_shift1) && strtotime($after_jam_masuk_shift1) > strtotime($before_jam_istirahat_mulai_shift1)) {
  655. 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)))) {
  656. $slotjam = "Terlambat Masuk";
  657. $poin = $setting_poin->jam_masuk;
  658. $status = 'extuder-rutin-shift1';
  659. } 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))))) {
  660. $slotjam = "Istirahat Mulai";
  661. $poin = $setting_poin->jam_mulai_istirahat;
  662. $status = 'extuder-rutin-shift1';
  663. } elseif(isset($jam_istirahat_mulai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift1)))) {
  664. $slotjam = "Istirahat Mulai";
  665. $poin = $setting_poin->jam_mulai_istirahat;
  666. $status = 'extuder-rutin-shift1';
  667. } 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)))) {
  668. $slotjam = "Istirahat Selesai";
  669. $poin = $setting_poin->jam_selesai_istirahat;
  670. $status = 'extuder-rutin-shift1';
  671. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  672. $slotjam = "Istirahat Selesai";
  673. $poin = $setting_poin->jam_selesai_istirahat;
  674. $status = 'extuder-rutin-shift1';
  675. } 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)))) {
  676. $slotjam = "Pulang";
  677. $poin = $setting_poin->jam_keluar;
  678. $status = 'extuder-rutin-shift1';
  679. } 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)))) {
  680. $slotjam = "Pulang";
  681. $poin = $setting_poin->jam_keluar;
  682. $status = 'extuder-rutin-shift1';
  683. }
  684. } else if(isset($jam_istirahat_mulai_shift1) && strtotime($before_jam_istirahat_mulai_shift1) > strtotime($before_jam_istirahat_selesai_shift1)) {
  685. 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)))) {
  686. $slotjam = "Istirahat Mulai";
  687. $poin = $setting_poin->jam_mulai_istirahat;
  688. $status = 'extuder-rutin-shift1';
  689. } 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)))) {
  690. $slotjam = "Istirahat Selesai";
  691. $poin = $setting_poin->jam_selesai_istirahat;
  692. $status = 'extuder-rutin-shift1';
  693. } elseif(isset($jam_istirahat_selesai_shift1) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift1)))) {
  694. $slotjam = "Istirahat Selesai";
  695. $poin = $setting_poin->jam_selesai_istirahat;
  696. $status = 'extuder-rutin-shift1';
  697. } 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)))) {
  698. $slotjam = "Pulang";
  699. $poin = $setting_poin->jam_keluar;
  700. $status = 'extuder-rutin-shift1';
  701. } 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)))) {
  702. $slotjam = "Pulang";
  703. $poin = $setting_poin->jam_keluar;
  704. $status = 'extuder-rutin-shift1';
  705. }
  706. } else if(isset($jam_istirahat_selesai_shift1) && strtotime($before_jam_istirahat_selesai_shift1) > strtotime($before_jam_pulang_shift1)) {
  707. 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)))) {
  708. $slotjam = "Istirahat Selesai";
  709. $poin = $setting_poin->jam_selesai_istirahat;
  710. $status = 'extuder-rutin-shift1';
  711. } 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)))) {
  712. $slotjam = "Pulang";
  713. $poin = $setting_poin->jam_keluar;
  714. $status = 'extuder-rutin-shift1';
  715. } 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)))) {
  716. $slotjam = "Pulang";
  717. $poin = $setting_poin->jam_keluar;
  718. $status = 'extuder-rutin-shift1';
  719. }
  720. } else if(isset($jam_pulang_shift1) && strtotime($before_jam_pulang_shift1) > strtotime($after_jam_pulang_shift1)) {
  721. 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)))) {
  722. $slotjam = "Pulang";
  723. $poin = $setting_poin->jam_keluar;
  724. $status = 'extuder-rutin-shift1';
  725. }
  726. }
  727.  
  728. //===============SHIFT 2================//
  729. if(isset($jam_masuk_shift2) && strtotime($before_jam_masuk_shift2) > strtotime($after_jam_masuk_shift2)) {
  730. 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))) {
  731. $slotjam = "Masuk";
  732. $poin = $setting_poin->jam_masuk;
  733. $status = 'extuder-rutin-shift2';
  734. } 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))))) {
  735. $slotjam = "Terlambat Masuk";
  736. $poin = $setting_poin->jam_masuk;
  737. $status = 'extuder-rutin-shift2';
  738. } 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))))) {
  739. $slotjam = "Istirahat Mulai";
  740. $poin = $setting_poin->jam_mulai_istirahat;
  741. $status = 'extuder-rutin-shift2';
  742. } elseif(isset($jam_istirahat_mulai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)))) {
  743. $slotjam = "Istirahat Mulai";
  744. $poin = $setting_poin->jam_mulai_istirahat;
  745. $status = 'extuder-rutin-shift2';
  746. } 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)))) {
  747. $slotjam = "Istirahat Selesai";
  748. $poin = $setting_poin->jam_selesai_istirahat;
  749. $status = 'extuder-rutin-shift2';
  750. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  751. $slotjam = "Istirahat Selesai";
  752. $poin = $setting_poin->jam_selesai_istirahat;
  753. $status = 'extuder-rutin-shift2';
  754. } 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)))) {
  755. $slotjam = "Pulang";
  756. $poin = $setting_poin->jam_keluar;
  757. $status = 'extuder-rutin-shift2';
  758. } 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)))) {
  759. $slotjam = "Pulang";
  760. $poin = $setting_poin->jam_keluar;
  761. $status = 'extuder-rutin-shift2';
  762. }
  763. } else if(isset($jam_masuk_shift2) && strtotime($after_jam_masuk_shift2) > strtotime($before_jam_istirahat_mulai_shift2)) {
  764. 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)))) {
  765. $slotjam = "Terlambat Masuk";
  766. $poin = $setting_poin->jam_masuk;
  767. $status = 'extuder-rutin-shift2';
  768. } 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))))) {
  769. $slotjam = "Istirahat Mulai";
  770. $poin = $setting_poin->jam_mulai_istirahat;
  771. $status = 'extuder-rutin-shift2';
  772. } elseif(isset($jam_istirahat_mulai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift2)))) {
  773. $slotjam = "Istirahat Mulai";
  774. $poin = $setting_poin->jam_mulai_istirahat;
  775. $status = 'extuder-rutin-shift2';
  776. } 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)))) {
  777. $slotjam = "Istirahat Selesai";
  778. $poin = $setting_poin->jam_selesai_istirahat;
  779. $status = 'extuder-rutin-shift2';
  780. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  781. $slotjam = "Istirahat Selesai";
  782. $poin = $setting_poin->jam_selesai_istirahat;
  783. $status = 'extuder-rutin-shift2';
  784. } 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)))) {
  785. $slotjam = "Pulang";
  786. $poin = $setting_poin->jam_keluar;
  787. $status = 'extuder-rutin-shift2';
  788. } 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)))) {
  789. $slotjam = "Pulang";
  790. $poin = $setting_poin->jam_keluar;
  791. $status = 'extuder-rutin-shift2';
  792. }
  793. } else if(isset($jam_istirahat_mulai_shift2) && strtotime($before_jam_istirahat_mulai_shift2) > strtotime($before_jam_istirahat_selesai_shift2)) {
  794. 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)))) {
  795. $slotjam = "Istirahat Mulai";
  796. $poin = $setting_poin->jam_mulai_istirahat;
  797. $status = 'extuder-rutin-shift2';
  798. } 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)))) {
  799. $slotjam = "Istirahat Selesai";
  800. $poin = $setting_poin->jam_selesai_istirahat;
  801. $status = 'extuder-rutin-shift2';
  802. } elseif(isset($jam_istirahat_selesai_shift2) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift2)))) {
  803. $slotjam = "Istirahat Selesai";
  804. $poin = $setting_poin->jam_selesai_istirahat;
  805. $status = 'extuder-rutin-shift2';
  806. } 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)))) {
  807. $slotjam = "Pulang";
  808. $poin = $setting_poin->jam_keluar;
  809. $status = 'extuder-rutin-shift2';
  810. } 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)))) {
  811. $slotjam = "Pulang";
  812. $poin = $setting_poin->jam_keluar;
  813. $status = 'extuder-rutin-shift2';
  814. }
  815. } else if(isset($jam_istirahat_selesai_shift2) && strtotime($before_jam_istirahat_selesai_shift2) > strtotime($before_jam_pulang_shift2)) {
  816. 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)))) {
  817. $slotjam = "Istirahat Selesai";
  818. $poin = $setting_poin->jam_selesai_istirahat;
  819. $status = 'extuder-rutin-shift2';
  820. } 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)))) {
  821. $slotjam = "Pulang";
  822. $poin = $setting_poin->jam_keluar;
  823. $status = 'extuder-rutin-shift2';
  824. } 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)))) {
  825. $slotjam = "Pulang";
  826. $poin = $setting_poin->jam_keluar;
  827. $status = 'extuder-rutin-shift2';
  828. }
  829. } else if(isset($jam_pulang_shift2) && strtotime($before_jam_pulang_shift2) > strtotime($after_jam_pulang_shift2)) {
  830. 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)))) {
  831. $slotjam = "Pulang";
  832. $poin = $setting_poin->jam_keluar;
  833. $status = 'extuder-rutin-shift2';
  834. }
  835. }
  836.  
  837. //===============SHIFT 3================//
  838. if(isset($jam_masuk_shift3) && strtotime($before_jam_masuk_shift3) > strtotime($after_jam_masuk_shift3)) {
  839. 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))) {
  840. $slotjam = "Masuk";
  841. $poin = $setting_poin->jam_masuk;
  842. $status = 'extuder-rutin-shift3';
  843. } 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))))) {
  844. $slotjam = "Terlambat Masuk";
  845. $poin = $setting_poin->jam_masuk;
  846. $status = 'extuder-rutin-shift3';
  847. } 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))))) {
  848. $slotjam = "Istirahat Mulai";
  849. $poin = $setting_poin->jam_mulai_istirahat;
  850. $status = 'extuder-rutin-shift3';
  851. } elseif(isset($jam_istirahat_mulai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)))) {
  852. $slotjam = "Istirahat Mulai";
  853. $poin = $setting_poin->jam_mulai_istirahat;
  854. $status = 'extuder-rutin-shift3';
  855. } 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)))) {
  856. $slotjam = "Istirahat Selesai";
  857. $poin = $setting_poin->jam_selesai_istirahat;
  858. $status = 'extuder-rutin-shift3';
  859. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  860. $slotjam = "Istirahat Selesai";
  861. $poin = $setting_poin->jam_selesai_istirahat;
  862. $status = 'extuder-rutin-shift3';
  863. } 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)))) {
  864. $slotjam = "Pulang";
  865. $poin = $setting_poin->jam_keluar;
  866. $status = 'extuder-rutin-shift3';
  867. } 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)))) {
  868. $slotjam = "Pulang";
  869. $poin = $setting_poin->jam_keluar;
  870. $status = 'extuder-rutin-shift3';
  871. }
  872. } else if(isset($jam_masuk_shift3) && strtotime($after_jam_masuk_shift3) > strtotime($before_jam_istirahat_mulai_shift3)) {
  873. 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)))) {
  874. $slotjam = "Terlambat Masuk";
  875. $poin = $setting_poin->jam_masuk;
  876. $status = 'extuder-rutin-shift3';
  877. } 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))))) {
  878. $slotjam = "Istirahat Mulai";
  879. $poin = $setting_poin->jam_mulai_istirahat;
  880. $status = 'extuder-rutin-shift3';
  881. } elseif(isset($jam_istirahat_mulai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai_shift3)))) {
  882. $slotjam = "Istirahat Mulai";
  883. $poin = $setting_poin->jam_mulai_istirahat;
  884. $status = 'extuder-rutin-shift3';
  885. } 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)))) {
  886. $slotjam = "Istirahat Selesai";
  887. $poin = $setting_poin->jam_selesai_istirahat;
  888. $status = 'extuder-rutin-shift3';
  889. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  890. $slotjam = "Istirahat Selesai";
  891. $poin = $setting_poin->jam_selesai_istirahat;
  892. $status = 'extuder-rutin-shift3';
  893. } 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)))) {
  894. $slotjam = "Pulang";
  895. $poin = $setting_poin->jam_keluar;
  896. $status = 'extuder-rutin-shift3';
  897. } 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)))) {
  898. $slotjam = "Pulang";
  899. $poin = $setting_poin->jam_keluar;
  900. $status = 'extuder-rutin-shift3';
  901. }
  902. } else if(isset($jam_istirahat_mulai_shift3) && strtotime($before_jam_istirahat_mulai_shift3) > strtotime($before_jam_istirahat_selesai_shift3)) {
  903. 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)))) {
  904. $slotjam = "Istirahat Mulai";
  905. $poin = $setting_poin->jam_mulai_istirahat;
  906. $status = 'extuder-rutin-shift3';
  907. } 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)))) {
  908. $slotjam = "Istirahat Selesai";
  909. $poin = $setting_poin->jam_selesai_istirahat;
  910. $status = 'extuder-rutin-shift3';
  911. } elseif(isset($jam_istirahat_selesai_shift3) && (strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai_shift3)))) {
  912. $slotjam = "Istirahat Selesai";
  913. $poin = $setting_poin->jam_selesai_istirahat;
  914. $status = 'extuder-rutin-shift3';
  915. } 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)))) {
  916. $slotjam = "Pulang";
  917. $poin = $setting_poin->jam_keluar;
  918. $status = 'extuder-rutin-shift3';
  919. } 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)))) {
  920. $slotjam = "Pulang";
  921. $poin = $setting_poin->jam_keluar;
  922. $status = 'extuder-rutin-shift3';
  923. }
  924. } else if(isset($jam_istirahat_selesai_shift3) && strtotime($before_jam_istirahat_selesai_shift3) > strtotime($before_jam_pulang_shift3)) {
  925. 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)))) {
  926. $slotjam = "Istirahat Selesai";
  927. $poin = $setting_poin->jam_selesai_istirahat;
  928. $status = 'extuder-rutin-shift3';
  929. } 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)))) {
  930. $slotjam = "Pulang";
  931. $poin = $setting_poin->jam_keluar;
  932. $status = 'extuder-rutin-shift3';
  933. } 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)))) {
  934. $slotjam = "Pulang";
  935. $poin = $setting_poin->jam_keluar;
  936. $status = 'extuder-rutin-shift3';
  937. }
  938. } else if(isset($jam_pulang_shift3) && strtotime($before_jam_pulang_shift3) > strtotime($after_jam_pulang_shift3)) {
  939. 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)))) {
  940. $slotjam = "Pulang";
  941. $poin = $setting_poin->jam_keluar;
  942. $status = 'extuder-rutin-shift3';
  943. }
  944. }
  945.  
  946. // simpan ke presensi
  947. $presensi = array(
  948. 'karyawan_id' => $id_karyawan,
  949. 'nama_karyawan' => $nama_karyawan,
  950. 'group_karyawan' => $group_karyawan,
  951. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  952. 'jadwal_id' => $karyawan->jadwal_id ? $karyawan->jadwal_id : null,
  953. 'setting_presensi_id' => 1,
  954. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  955. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  956. 'poin' => $poin,
  957. 'status' => $status,
  958. 'slotjam' => $slotjam,
  959. 'source' => $source,
  960. 'source_id' => $source_id
  961. );
  962.  
  963. $presensilog = array(
  964. 'karyawan_id' => $id_karyawan,
  965. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  966. 'nama_karyawan' => $nama_karyawan,
  967. 'group_karyawan' => $group_karyawan,
  968. 'tanggal_dan_waktu_tap' => $tanggal_waktu_tap,
  969. 'slotjam' => $slotjam,
  970. 'poin' => $poin,
  971. 'status' => $status,
  972. );
  973.  
  974. $slotjamkomparasi = $slotjam;
  975. if($slotjamkomparasi == 'Terlambat Masuk') {
  976. $slotjamkomparasi = 'Masuk';
  977. }
  978.  
  979. // dd($presensi);
  980.  
  981. if($status != null) {
  982. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap_static', Carbon::parse($tanggal_waktu_tap_static)->toDateString())
  983. ->where('status', $status)
  984. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  985. ->where('karyawan_id', $id_karyawan)
  986. ->first();
  987.  
  988. // mundurin tanggal untuk pengecekan
  989. $tanggal_waktu_tap_check = Carbon::parse($tanggal_waktu_tap);
  990. $tanggal_waktu_tap_check->subDay();
  991.  
  992. $oldpresensi_mundur = Presensi::whereDate('tanggal_dan_waktu_tap', Carbon::parse($tanggal_waktu_tap_check)->toDateString())
  993. ->where('status', $status)
  994. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  995. ->where('karyawan_id', $id_karyawan)
  996. ->first();
  997.  
  998. // dd($oldpresensi);
  999.  
  1000. if(isset($oldpresensi)) {
  1001. $data_terinput = $data_terinput + 0;
  1002. } else if(!isset($oldpresensi)) {
  1003. if(isset($oldpresensi_mundur)) {
  1004. $data_terinput = $data_terinput + 0;
  1005. } else if(!isset($oldpresensi_mundur)) {
  1006. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  1007. // mundurin tanggal sebenarnya
  1008. $tanggal_waktu_tap_mundur = Carbon::parse($tanggal_waktu_tap);
  1009. $tanggal_waktu_tap_mundur->subDay();
  1010.  
  1011. $presensi['tanggal_dan_waktu_tap'] = $tanggal_waktu_tap_mundur;
  1012.  
  1013. Presensi::create($presensi);
  1014. $data_terinput = $data_terinput + 1;
  1015.  
  1016. // input ke kph
  1017. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1018.  
  1019. // input ke mingguanjam extuder
  1020. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1021.  
  1022. }
  1023. // cek jam istirahat mulai
  1024. if($slotjam == 'Istirahat Mulai') {
  1025. // mundurin tanggal sebenarnya
  1026. $tanggal_waktu_tap_mundur = Carbon::parse($tanggal_waktu_tap);
  1027. $tanggal_waktu_tap_mundur->subDay();
  1028.  
  1029. $presensi['tanggal_dan_waktu_tap'] = $tanggal_waktu_tap_mundur;
  1030.  
  1031. Presensi::create($presensi);
  1032. $data_terinput = $data_terinput + 1;
  1033.  
  1034. // input ke kph
  1035. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1036.  
  1037. // input ke mingguanjam extuder
  1038. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1039. }
  1040. // cek jam istirahat selesai
  1041. if($slotjam == 'Istirahat Selesai') {
  1042. // mundurin tanggal sebenarnya
  1043. $tanggal_waktu_tap_mundur = Carbon::parse($tanggal_waktu_tap);
  1044. $tanggal_waktu_tap_mundur->subDay();
  1045.  
  1046. $presensi['tanggal_dan_waktu_tap'] = $tanggal_waktu_tap_mundur;
  1047.  
  1048. Presensi::create($presensi);
  1049. $today = Carbon::parse($tanggal_waktu_tap);
  1050. $data_terinput = $data_terinput + 1;
  1051.  
  1052. // input ke kph
  1053. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1054.  
  1055. // input ke mingguanjam extuder
  1056. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1057. }
  1058. // cek jam pulang
  1059. if($slotjam == 'Pulang') {
  1060. // mundurin tanggal sebenarnya
  1061. $tanggal_waktu_tap_mundur = Carbon::parse($tanggal_waktu_tap);
  1062. $tanggal_waktu_tap_mundur->subDay();
  1063.  
  1064. $presensi['tanggal_dan_waktu_tap'] = $tanggal_waktu_tap_mundur;
  1065.  
  1066. Presensi::create($presensi);
  1067. $data_terinput = $data_terinput + 1;
  1068.  
  1069. // input ke kph
  1070. self::inputPresensiToKph($presensi, $presensi['status'], null, null);
  1071.  
  1072. // input ke mingguanjam extuder
  1073. self::inputMingguanJamExtuder($presensi, $presensi['status']);
  1074. }
  1075. }
  1076. }
  1077. // PresensiLog::create($presensilog);
  1078. }
  1079. }
  1080. }
  1081. //---------- END WIP Cek jadwal tanpa batasan shift ----------//
  1082. }
  1083. }
  1084. }
  1085. }
  1086. }
  1087. } catch (Exception $e) {
  1088. echo $e->message;
  1089. }
  1090. return response()->json(['status' => 200, 'message' => 'Data Terinput:' . $data_terinput, 'status_presensi' => $slotjam, 'status_shift' => $status]);
  1091.  
  1092. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement