Advertisement
vitareinforce

code input ngeplus skrg

Nov 4th, 2021
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 180.46 KB | None | 0 0
  1. public function inputMesinNgePlus(Request $request)
  2. {
  3.  
  4. // dd($request->all());
  5. $data_terinput = 0;
  6. $status_final = null;
  7. $nama_karyawan = '-';
  8. $group_karyawan = '-';
  9. $source = null;
  10. $source_id = null;
  11.  
  12. try {
  13. if (isset($request->message)) {
  14. $data = $request->message;
  15. $row = $data;
  16.  
  17. for ($i = 0; $i < count($row); $i++) {
  18. // $existing_presensi = Presensi::where('tanggal_dan_waktu_tap', '=', date("Y-m-d H:i:s", strtotime($row[$i]['DateTime'][0])))->where('karyawan_id', '=', $row[$i]['PIN'][0])->first();
  19. $existing_presensi = Presensi::where('tanggal_dan_waktu_tap', $row[$i]['DateTime'][0])->where('karyawan_id', $row[$i]['PIN'][0])->first();
  20. // dd($existing_presensi);
  21. if(!isset($existing_presensi)) {
  22.  
  23. $id_karyawan = $row[$i]['PIN'][0];
  24. $tanggal_waktu_tap = $row[$i]['DateTime'][0];
  25. $tanggal_waktu_tap_static = $row[$i]['DateTime'][0];
  26.  
  27. $karyawan = Karyawan::find($id_karyawan);
  28. if(isset($karyawan)) {
  29. $jamtap = date('H:i:s', strtotime($tanggal_waktu_tap));
  30. $slotjam = null;
  31. $poin = 0;
  32. $setting_poin = SettingPoin::find(2);
  33. $adajadwal = 0;
  34. $jadwal = null;
  35. $jadwal_terpilih = null;
  36. $status_izin = 0;
  37. $nama_karyawan = $karyawan->nama;
  38. if(isset($karyawan->group_id)) {
  39. $group_karyawan = $karyawan->group->nama.'-'.$karyawan->groupno;
  40. }
  41.  
  42. //cek jadwal izin
  43. $jadwal_izin = JadwalIzin::where('karyawan_id', '=', $id_karyawan)->get();
  44.  
  45. for($l = 0; $l < count($jadwal_izin); $l++) {
  46. $mulai_izin = Carbon::parse($jadwal_izin[$l]->tanggal_mulai)->format('Y-m-d');
  47. $selesai_izin = Carbon::parse($jadwal_izin[$l]->tanggal_selesai)->format('Y-m-d');
  48. $tanggal_sekarang = Carbon::parse($tanggal_waktu_tap)->format('Y-m-d');
  49. if(($tanggal_sekarang >= $mulai_izin) && ($tanggal_sekarang <= $selesai_izin)) {
  50. $status_izin = 1;
  51. }
  52. }
  53.  
  54. if($status_izin == 0) {
  55.  
  56. // mundurin tanggal
  57. $tanggal_waktu_tap_mundur = Carbon::parse($tanggal_waktu_tap);
  58. $tanggal_waktu_tap_mundur->subDay();
  59.  
  60. $tanggal_waktu_tap_maju = Carbon::parse($tanggal_waktu_tap);
  61. $tanggal_waktu_tap_maju->addDay();
  62.  
  63. $format_tanggal = strval(date("Y-m-d", strtotime($tanggal_waktu_tap)));
  64. $format_tanggal_mundur = strval(date("Y-m-d", strtotime($tanggal_waktu_tap_mundur)));
  65. $format_tanggal_maju = strval(date("Y-m-d", strtotime($tanggal_waktu_tap_maju)));
  66.  
  67. // set tanggal
  68. $tanggal = Carbon::parse($tanggal_waktu_tap)->format('Y-m-d');
  69. $tanggal_kemarin = Carbon::parse($tanggal_waktu_tap)->subDay()->format('Y-m-d');
  70. $tanggal_besok = Carbon::parse($tanggal_waktu_tap)->addDay()->format('Y-m-d');
  71.  
  72. // dapetin semua
  73. // $jadwal_all = JadwalNgeplus::where('karyawan_id', '=', $id_karyawan)
  74. // // ->whereDate('tanggal_mulai', '<=', $format_tanggal)
  75. // // ->whereDate('tanggal_selesai', '>=', $format_tanggal)
  76. // ->orderBy('tanggal_mulai', 'asc')
  77. // // ->orderBy('jam_pulang', 'asc')
  78. // ->get();
  79.  
  80. // pseudocode fakhry ver
  81. $jadwal = array();
  82.  
  83. $jadwal_ngeplus_max_date = JadwalNgeplus::where('karyawan_id', '=', $id_karyawan)->get();
  84.  
  85. // attempt 1
  86. // dd($jadwal_ngeplus_max_date);
  87. if(count($jadwal_ngeplus_max_date) > 0) {
  88. $max_date = $jadwal_ngeplus_max_date[0]->tanggal_selesai;
  89. // loop bwt ambil tanggal selesai terjauh
  90. for($jax = 0; $jax < count($jadwal_ngeplus_max_date); $jax++) {
  91. if($jadwal_ngeplus_max_date[$jax]->tanggal_selesai > $max_date) {
  92. $max_date = $jadwal_ngeplus_max_date[$jax]->tanggal_selesai;
  93. }
  94. }
  95. $batas_awal = Carbon::parse($tanggal_waktu_tap)->toDateString();
  96. $batas_akhir = Carbon::parse($max_date)->toDateString();
  97.  
  98. // hitung range hari
  99. $range_hari = CarbonPeriod::create($batas_awal, $batas_akhir)->toArray();
  100. if(count($range_hari) == 0) {
  101. $batas_awal = Carbon::parse($tanggal_waktu_tap)->subDay()->toDateString();
  102. $batas_akhir = Carbon::parse($max_date)->toDateString();
  103. $range_hari = CarbonPeriod::create($batas_awal, $batas_akhir)->toArray();
  104. }
  105.  
  106. if(count($range_hari) <= 2) {
  107. // ambil jadwal
  108. for($rh = 0; $rh < count($range_hari); $rh++) {
  109. $get_jadwal_ngeplus = JadwalNgeplus::where('karyawan_id', '=', $id_karyawan)
  110. ->whereDate('tanggal_mulai', '<=', Carbon::parse($range_hari[$rh])->toDateString())
  111. ->whereDate('tanggal_selesai', '>=', Carbon::parse($range_hari[$rh])->toDateString())
  112. ->orderBy('tanggal_mulai', 'ASC')->get();
  113. // dd($get_jadwal_ngeplus);
  114. for($j1 = 0; $j1 < count($get_jadwal_ngeplus); $j1++) {
  115. // if(Carbon::parse($get_jadwal_ngeplus[$j1]->tanggal_mulai)->toDateString() <= Carbon::parse($range_hari[$rh])->toDateString() && Carbon::parse($get_jadwal_ngeplus[$j1]->tanggal_selesai)->addDay()->toDateString() > Carbon::parse($range_hari[$rh])->toDateString()) {
  116. $get_jadwal_ngeplus[$j1]->setAttribute('tanggal_pick', Carbon::now()->toDateString());
  117. array_push($jadwal, $get_jadwal_ngeplus[$j1]);
  118. // }
  119. }
  120. }
  121. } else if(count($range_hari) > 2) {
  122. // ambil jadwal
  123. for($rh = 0; $rh < 2; $rh++) {
  124. $get_jadwal_ngeplus = JadwalNgeplus::where('karyawan_id', '=', $id_karyawan)
  125. ->whereDate('tanggal_mulai', '<=', Carbon::parse($range_hari[$rh])->toDateString())
  126. ->whereDate('tanggal_selesai', '>=', Carbon::parse($range_hari[$rh])->toDateString())
  127. ->orderBy('tanggal_mulai', 'ASC')->get();
  128. // dd($get_jadwal_ngeplus);
  129. for($j2 = 0; $j2 < count($get_jadwal_ngeplus); $j2++) {
  130. // if(Carbon::parse($get_jadwal_ngeplus[$j2]->tanggal_mulai)->toDateString() <= Carbon::parse($range_hari[$rh])->toDateString() && Carbon::parse($get_jadwal_ngeplus[$j2]->tanggal_selesai)->addDay()->toDateString() > Carbon::parse($range_hari[$rh])->toDateString()) {
  131. $get_jadwal_ngeplus[$j2]->setAttribute('tanggal_pick', Carbon::now()->toDateString());
  132. array_push($jadwal, $get_jadwal_ngeplus[$j2]);
  133. // }
  134. }
  135. }
  136. }
  137. }
  138.  
  139. // attempt 2
  140. // dd($jadwal_ngeplus_max_date);
  141. if(count($jadwal_ngeplus_max_date) > 0) {
  142. $max_date = $jadwal_ngeplus_max_date[0]->tanggal_selesai;
  143. // loop bwt ambil tanggal selesai terjauh
  144. for($jax = 0; $jax < count($jadwal_ngeplus_max_date); $jax++) {
  145. if($jadwal_ngeplus_max_date[$jax]->tanggal_selesai > $max_date) {
  146. $max_date = $jadwal_ngeplus_max_date[$jax]->tanggal_selesai;
  147. }
  148. }
  149. $batas_awal = Carbon::parse($tanggal_waktu_tap_mundur)->toDateString();
  150. $batas_akhir = Carbon::parse($max_date)->toDateString();
  151.  
  152. // hitung range hari
  153. $range_hari = CarbonPeriod::create($batas_awal, $batas_akhir)->toArray();
  154. if(count($range_hari) == 0) {
  155. $batas_awal = Carbon::parse($tanggal_waktu_tap)->subDay()->toDateString();
  156. $batas_akhir = Carbon::parse($max_date)->toDateString();
  157. $range_hari = CarbonPeriod::create($batas_awal, $batas_akhir)->toArray();
  158. }
  159.  
  160. if(count($range_hari) <= 2) {
  161. // ambil jadwal
  162. for($rh = 0; $rh < count($range_hari); $rh++) {
  163. $get_jadwal_ngeplus = JadwalNgeplus::where('karyawan_id', '=', $id_karyawan)
  164. ->whereDate('tanggal_mulai', '<=', Carbon::parse($range_hari[$rh])->toDateString())
  165. ->whereDate('tanggal_selesai', '>=', Carbon::parse($range_hari[$rh])->toDateString())
  166. ->orderBy('tanggal_mulai', 'ASC')->get();
  167. // dd($get_jadwal_ngeplus);
  168. for($j1 = 0; $j1 < count($get_jadwal_ngeplus); $j1++) {
  169. // if(Carbon::parse($get_jadwal_ngeplus[$j1]->tanggal_mulai)->toDateString() <= Carbon::parse($range_hari[$rh])->toDateString() && Carbon::parse($get_jadwal_ngeplus[$j1]->tanggal_selesai)->addDay()->toDateString() > Carbon::parse($range_hari[$rh])->toDateString()) {
  170. $get_jadwal_ngeplus[$j1]->setAttribute('tanggal_pick', Carbon::now()->toDateString());
  171. array_push($jadwal, $get_jadwal_ngeplus[$j1]);
  172. // }
  173. }
  174. }
  175. } else if(count($range_hari) > 2) {
  176. // ambil jadwal
  177. for($rh = 0; $rh < 2; $rh++) {
  178. $get_jadwal_ngeplus = JadwalNgeplus::where('karyawan_id', '=', $id_karyawan)
  179. ->whereDate('tanggal_mulai', '<=', Carbon::parse($range_hari[$rh])->toDateString())
  180. ->whereDate('tanggal_selesai', '>=', Carbon::parse($range_hari[$rh])->toDateString())
  181. ->orderBy('tanggal_mulai', 'ASC')->get();
  182. // dd($get_jadwal_ngeplus);
  183. for($j2 = 0; $j2 < count($get_jadwal_ngeplus); $j2++) {
  184. // if(Carbon::parse($get_jadwal_ngeplus[$j2]->tanggal_mulai)->toDateString() <= Carbon::parse($range_hari[$rh])->toDateString() && Carbon::parse($get_jadwal_ngeplus[$j2]->tanggal_selesai)->addDay()->toDateString() > Carbon::parse($range_hari[$rh])->toDateString()) {
  185. $get_jadwal_ngeplus[$j2]->setAttribute('tanggal_pick', Carbon::now()->toDateString());
  186. array_push($jadwal, $get_jadwal_ngeplus[$j2]);
  187. // }
  188. }
  189. }
  190. }
  191. }
  192.  
  193. // usort($jadwal, function($a, $b) {
  194. // return strcmp($a->id, $b->id);
  195. // });
  196.  
  197. $jadwal = array_values( array_unique( $jadwal, SORT_REGULAR ) );
  198. // dd($jadwal);
  199.  
  200. // cek jadwal ada 1
  201. if(count($jadwal) == 1) {
  202.  
  203. $existing_presensi_2 = Presensi::where('tanggal_dan_waktu_tap', $row[$i]['DateTime'][0])->
  204. where('karyawan_id', $row[$i]['PIN'][0])->
  205. // where('source', $jadwal[0]->source)->
  206. // where('source_id', $jadwal[0]->source_id)->
  207. // where('jadwal_id', $jadwal[0]->jadwal_id)->
  208. first();
  209. if(!isset($existing_presensi_2)) {
  210.  
  211. $datang_awal = SettingDatangAwalKhusus::find(1);
  212. $setting_datang_awal = strtotime($datang_awal->datang_awal)-strtotime("00:00:00");
  213.  
  214. $tanggal_mulai = Carbon::parse($jadwal[0]['tanggal_mulai'])->format('Y-m-d');
  215. $tanggal_selesai = Carbon::parse($jadwal[0]['tanggal_selesai'])->format('Y-m-d');
  216. $hariini = Carbon::now()->format('Y-m-d');
  217.  
  218. $jam_masuk = $jadwal[0]['jam_masuk'];
  219. $jam_istirahat_mulai = $jadwal[0]['jam_istirahat_mulai'];
  220. $jam_istirahat_selesai = $jadwal[0]['jam_istirahat_selesai'];
  221. $jam_pulang = $jadwal[0]['jam_pulang'];
  222.  
  223. $before_jam_masuk_previous = date("H:i:s",strtotime($jadwal[0]['jam_masuk'])-$setting_datang_awal);
  224. $after_jam_pulang_next = date("H:i:s",strtotime("+5 hours", strtotime($jadwal[0]['jam_pulang'])));
  225.  
  226. $closing_time = ClosingTime::find(1);
  227. $setting_closing_time = strtotime($closing_time->jangka_waktu)-strtotime("00:00:00");
  228. $datang_awal = SettingDatangAwalKhusus::find(1);
  229. $setting_datang_awal = strtotime($datang_awal->datang_awal)-strtotime("00:00:00");
  230. $setting_presensi = SettingPresensi::find(1);
  231. if(isset($setting_presensi->toleransi_keterlambatan)) {
  232. $toleransi = strtotime($setting_presensi->toleransi_keterlambatan)-strtotime("00:00:00");
  233. // $toleransi_min = strtotime("+1 minutes",strtotime($setting_presensi->toleransi_keterlambatan))-strtotime("00:00:00");
  234.  
  235. $max_istirahat_mulai = strtotime($jam_istirahat_selesai)-$toleransi-strtotime("00:00:00");
  236. $max_istirahat_selesai = strtotime($jam_pulang)-$toleransi-strtotime("00:00:00");
  237.  
  238. // dd($max_istirahat_selesai);
  239.  
  240. // $before_jam_masuk = date("H:i:s",strtotime($jam_masuk)-$setting_datang_awal);
  241. $before_jam_masuk = $before_jam_masuk_previous;
  242. $after_jam_masuk = date("H:i:s",strtotime($jam_masuk)+$toleransi);
  243.  
  244. $before_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_mulai)-$toleransi);
  245. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  246.  
  247. $before_jam_istirahat_selesai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi);
  248. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  249.  
  250. $before_jam_pulang = date("H:i:s",strtotime($jam_pulang)-$toleransi);
  251. // $after_jam_pulang = date("H:i:s",strtotime($jam_pulang)+$setting_closing_time);
  252. $after_jam_pulang = $after_jam_pulang_next;
  253.  
  254. if(($jamtap > $before_jam_masuk) && ($jamtap < $after_jam_masuk)) {
  255. $slotjam = "Masuk";
  256. $poin = $setting_poin->jam_masuk;
  257. $source = $jadwal[0]->source;
  258. $source_id = $jadwal[0]->source_id;
  259. } elseif(($jamtap == $before_jam_masuk) || ($jamtap == $after_jam_masuk)) {
  260. $slotjam = "Masuk";
  261. $poin = $setting_poin->jam_masuk;
  262. $source = $jadwal[0]->source;
  263. $source_id = $jadwal[0]->source_id;
  264. } elseif(($jamtap > $after_jam_masuk) && ($jamtap < $before_jam_istirahat_mulai)) {
  265. $slotjam = "Terlambat Masuk";
  266. $poin = $setting_poin->jam_masuk;
  267. $source = $jadwal[0]->source;
  268. $source_id = $jadwal[0]->source_id;
  269. } elseif(($jamtap > $before_jam_istirahat_mulai) && ($jamtap < $before_jam_istirahat_selesai)) {
  270. $slotjam = "Istirahat Mulai";
  271. $poin = $setting_poin->jam_mulai_istirahat;
  272. $source = $jadwal[0]->source;
  273. $source_id = $jadwal[0]->source_id;
  274. } elseif(($jamtap == $before_jam_istirahat_mulai)) {
  275. $slotjam = "Istirahat Mulai";
  276. $poin = $setting_poin->jam_mulai_istirahat;
  277. $source = $jadwal[0]->source;
  278. $source_id = $jadwal[0]->source_id;
  279. } elseif(($jamtap > $before_jam_istirahat_selesai) && ($jamtap < $before_jam_pulang)) {
  280. $slotjam = "Istirahat Selesai";
  281. $poin = $setting_poin->jam_mulai_istirahat;
  282. $source = $jadwal[0]->source;
  283. $source_id = $jadwal[0]->source_id;
  284. } elseif($jamtap == $before_jam_istirahat_selesai) {
  285. $slotjam = "Istirahat Selesai";
  286. $poin = $setting_poin->jam_mulai_istirahat;
  287. $source = $jadwal[0]->source;
  288. $source_id = $jadwal[0]->source_id;
  289. } elseif(($jamtap > $before_jam_pulang) && ($jamtap < $after_jam_pulang)) {
  290. $slotjam = "Pulang";
  291. $poin = $setting_poin->jam_keluar;
  292. $source = $jadwal[0]->source;
  293. $source_id = $jadwal[0]->source_id;
  294. } elseif(($jamtap == $before_jam_pulang) || ($jamtap == $after_jam_pulang)) {
  295. $slotjam = "Pulang";
  296. $poin = $setting_poin->jam_keluar;
  297. $source = $jadwal[0]->source;
  298. $source_id = $jadwal[0]->source_id;
  299. } else if(strtotime($before_jam_pulang) > strtotime($after_jam_pulang)) {
  300. if(strtotime($jamtap) >= strtotime($before_jam_pulang) && strtotime($jamtap) < strtotime("24:00:00")) {
  301. $slotjam = "Pulang";
  302. $poin = $setting_poin->jam_keluar;
  303. $source = $jadwal[0]->source;
  304. $source_id = $jadwal[0]->source_id;
  305. } else if(strtotime("+24 hours", strtotime($jamtap) > strtotime("24:00:00") && strtotime("+24 hours", strtotime($jamtap) <= strtotime("+24 hours", strtotime($after_jam_pulang))))) {
  306. $slotjam = "Pulang";
  307. $poin = $setting_poin->jam_keluar;
  308. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  309. $tanggal_waktu_tap->subDay();
  310. $source = $jadwal[0]->source;
  311. $source_id = $jadwal[0]->source_id;
  312. }
  313. }
  314.  
  315. //-----CASE A-----
  316. if(strtotime($jam_pulang) < strtotime($jam_istirahat_selesai)) {
  317. // dd(strtotime("00:00:00"));
  318. // Jika jam tap < jam 12 malam
  319. if((strtotime($jamtap) < strtotime("24:00:00"))) {
  320.  
  321. //-----CASE 1-----
  322. if((strtotime($jamtap) > strtotime($before_jam_istirahat_selesai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  323. $slotjam = "Istirahat Selesai";
  324. $poin = $setting_poin->jam_selesai_istirahat;
  325. $source = $jadwal[0]->source;
  326. $source_id = $jadwal[0]->source_id;
  327. } elseif(($jamtap == $before_jam_istirahat_selesai)) {
  328. $slotjam = "Istirahat Selesai";
  329. $poin = $setting_poin->jam_selesai_istirahat;
  330. $source = $jadwal[0]->source;
  331. $source_id = $jadwal[0]->source_id;
  332. }
  333.  
  334. //-----CASE 2-----
  335. if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
  336. if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_pulang)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  337. $slotjam = "Pulang";
  338. $poin = $setting_poin->jam_keluar;
  339. $source = $jadwal[0]->source;
  340. $source_id = $jadwal[0]->source_id;
  341. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  342. $slotjam = "Pulang";
  343. $poin = $setting_poin->jam_keluar;
  344. $source = $jadwal[0]->source;
  345. $source_id = $jadwal[0]->source_id;
  346. }
  347. }
  348. }
  349.  
  350. // Jika jam tap >= jam 12 malam
  351. if((strtotime($jamtap) >= strtotime("00:00:00"))) {
  352. // dd(strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang)) && strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)));
  353.  
  354. //-----CASE 3-----
  355. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_istirahat_selesai)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  356. $slotjam = "Istirahat Selesai";
  357. $poin = $setting_poin->jam_selesai_istirahat;
  358. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  359. $tanggal_waktu_tap->subDay();
  360. $source = $jadwal[0]->source;
  361. $source_id = $jadwal[0]->source_id;
  362. } elseif(($jamtap == $before_jam_istirahat_selesai)) {
  363. $slotjam = "Istirahat Selesai";
  364. $poin = $setting_poin->jam_selesai_istirahat;
  365. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  366. $tanggal_waktu_tap->subDay();
  367. $source = $jadwal[0]->source;
  368. $source_id = $jadwal[0]->source_id;
  369. }
  370.  
  371. //-----CASE 4-----
  372. if(strtotime("+24 hours", strtotime($before_jam_pulang)) >= strtotime("00:00:00")) {
  373. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  374. $slotjam = "Pulang";
  375. $poin = $setting_poin->jam_keluar;
  376. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  377. $tanggal_waktu_tap->subDay();
  378. $source = $jadwal[0]->source;
  379. $source_id = $jadwal[0]->source_id;
  380. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  381. $slotjam = "Pulang";
  382. $poin = $setting_poin->jam_keluar;
  383. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  384. $tanggal_waktu_tap->subDay();
  385. $source = $jadwal[0]->source;
  386. $source_id = $jadwal[0]->source_id;
  387. }
  388. }
  389.  
  390. //-----CASE 5-----
  391. if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
  392. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  393. $slotjam = "Pulang";
  394. $poin = $setting_poin->jam_keluar;
  395. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  396. $tanggal_waktu_tap->subDay();
  397. $source = $jadwal[0]->source;
  398. $source_id = $jadwal[0]->source_id;
  399. } elseif((strtotime($jamtap) == strtotime($before_jam_pulang)) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  400. $slotjam = "Pulang";
  401. $poin = $setting_poin->jam_keluar;
  402. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  403. $tanggal_waktu_tap->subDay();
  404. $source = $jadwal[0]->source;
  405. $source_id = $jadwal[0]->source_id;
  406. }
  407. }
  408.  
  409. //-----CASE 6-----
  410. if(strtotime($after_jam_pulang) == strtotime("00:00:00")) {
  411. if((strtotime($jamtap) > strtotime($before_jam_pulang)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  412. $slotjam = "Pulang";
  413. $poin = $setting_poin->jam_keluar;
  414. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  415. $tanggal_waktu_tap->subDay();
  416. $source = $jadwal[0]->source;
  417. $source_id = $jadwal[0]->source_id;
  418. } elseif((strtotime($jamtap) == strtotime($before_jam_pulang)) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  419. $slotjam = "Pulang";
  420. $poin = $setting_poin->jam_keluar;
  421. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  422. $tanggal_waktu_tap->subDay();
  423. $source = $jadwal[0]->source;
  424. $source_id = $jadwal[0]->source_id;
  425. }
  426. }
  427. }
  428. }
  429.  
  430. //-----CASE B-----
  431. if(strtotime($jam_istirahat_selesai) < strtotime($jam_istirahat_mulai)) {
  432. // dd(strtotime("00:00:00"));
  433. // Jika jam tap < jam 12 malam
  434.  
  435. if((strtotime($jamtap) < strtotime("24:00:00"))) {
  436.  
  437. //-----CASE 7-----
  438. if((strtotime($jamtap) > strtotime($before_jam_istirahat_mulai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  439. $slotjam = "Istirahat Mulai";
  440. $poin = $setting_poin->jam_mulai_istirahat;
  441. $source = $jadwal[0]->source;
  442. $source_id = $jadwal[0]->source_id;
  443. } elseif(($jamtap == $before_jam_istirahat_mulai)) {
  444. $slotjam = "Istirahat Mulai";
  445. $poin = $setting_poin->jam_mulai_istirahat;
  446. $source = $jadwal[0]->source;
  447. $source_id = $jadwal[0]->source_id;
  448. }
  449.  
  450. //-----CASE 8-----
  451. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
  452. if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  453. $slotjam = "Istirahat Selesai";
  454. $poin = $setting_poin->jam_selesai_istirahat;
  455. $source = $jadwal[0]->source;
  456. $source_id = $jadwal[0]->source_id;
  457. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  458. $slotjam = "Istirahat Selesai";
  459. $poin = $setting_poin->jam_selesai_istirahat;
  460. $source = $jadwal[0]->source;
  461. $source_id = $jadwal[0]->source_id;
  462. }
  463. }
  464.  
  465. }
  466.  
  467. // Jika jam tap >= jam 12 malam
  468. if((strtotime($jamtap) >= strtotime("00:00:00"))) {
  469.  
  470. //-----CASE 9-----
  471. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_istirahat_mulai)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  472. $slotjam = "Istirahat Mulai";
  473. $poin = $setting_poin->jam_mulai_istirahat;
  474. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  475. $tanggal_waktu_tap->subDay();
  476. $source = $jadwal[0]->source;
  477. $source_id = $jadwal[0]->source_id;
  478. } elseif(($jamtap == $before_jam_istirahat_mulai)) {
  479. $slotjam = "Istirahat Mulai";
  480. $poin = $setting_poin->jam_mulai_istirahat;
  481. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  482. $tanggal_waktu_tap->subDay();
  483. $source = $jadwal[0]->source;
  484. $source_id = $jadwal[0]->source_id;
  485. }
  486.  
  487. //-----CASE 10-----
  488. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) >= strtotime("00:00:00")) {
  489. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  490. $slotjam = "Istirahat Selesai";
  491. $poin = $setting_poin->jam_selesai_istirahat;
  492. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  493. $tanggal_waktu_tap->subDay();
  494. $source = $jadwal[0]->source;
  495. $source_id = $jadwal[0]->source_id;
  496. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  497. $slotjam = "Istirahat Selesai";
  498. $poin = $setting_poin->jam_selesai_istirahat;
  499. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  500. $tanggal_waktu_tap->subDay();
  501. $source = $jadwal[0]->source;
  502. $source_id = $jadwal[0]->source_id;
  503. }
  504. }
  505.  
  506. //-----CASE 11-----
  507. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
  508. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  509. $slotjam = "Istirahat Selesai";
  510. $poin = $setting_poin->jam_selesai_istirahat;
  511. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  512. $tanggal_waktu_tap->subDay();
  513. $source = $jadwal[0]->source;
  514. $source_id = $jadwal[0]->source_id;
  515. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_selesai))) {
  516. $slotjam = "Istirahat Selesai";
  517. $poin = $setting_poin->jam_selesai_istirahat;
  518. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  519. $tanggal_waktu_tap->subDay();
  520. $source = $jadwal[0]->source;
  521. $source_id = $jadwal[0]->source_id;
  522. }
  523. }
  524. }
  525. }
  526.  
  527. //-----CASE C-----
  528. if(strtotime($jam_istirahat_mulai) < strtotime($jam_masuk)) {
  529. // dd(strtotime("00:00:00"));
  530. // Jika jam tap < jam 12 malam
  531.  
  532. if((strtotime($jamtap) < strtotime("24:00:00"))) {
  533.  
  534. //-----CASE 12-----
  535. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  536. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($after_jam_masuk))) {
  537. $slotjam = "Masuk";
  538. $poin = $setting_poin->jam_masuk;
  539. $source = $jadwal[0]->source;
  540. $source_id = $jadwal[0]->source_id;
  541. }
  542. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  543. $slotjam = "Masuk";
  544. $poin = $setting_poin->jam_masuk;
  545. $source = $jadwal[0]->source;
  546. $source_id = $jadwal[0]->source_id;
  547.  
  548. if((strtotime("+24 hours", strtotime($jamtap)) == strtotime("24:00:00"))) {
  549. $slotjam = "Masuk";
  550. $poin = $setting_poin->jam_masuk;
  551. $source = $jadwal[0]->source;
  552. $source_id = $jadwal[0]->source_id;
  553. }
  554.  
  555. if((strtotime($jamtap) < strtotime("24:00:00")) && (strtotime($jamtap) > strtotime($before_jam_masuk))) {
  556. $slotjam = "Masuk";
  557. $poin = $setting_poin->jam_masuk;
  558. $source = $jadwal[0]->source;
  559. $source_id = $jadwal[0]->source_id;
  560. }
  561.  
  562. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("24:00:00")) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  563. $slotjam = "Masuk";
  564. $poin = $setting_poin->jam_masuk;
  565. $source = $jadwal[0]->source;
  566. $source_id = $jadwal[0]->source_id;
  567. }
  568. }
  569. if((strtotime($jamtap) > strtotime($after_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  570. $slotjam = "Terlambat Masuk";
  571. $poin = $setting_poin->jam_masuk;
  572. $source = $jadwal[0]->source;
  573. $source_id = $jadwal[0]->source_id;
  574.  
  575. if((strtotime("+24 hours", strtotime($jamtap)) == strtotime("24:00:00"))) {
  576. $slotjam = "Terlambat Masuk";
  577. $poin = $setting_poin->jam_masuk;
  578. $source = $jadwal[0]->source;
  579. $source_id = $jadwal[0]->source_id;
  580. }
  581.  
  582. if((strtotime($jamtap) < strtotime("24:00:00")) && (strtotime($jamtap) > strtotime($after_jam_masuk))) {
  583. $slotjam = "Terlambat Masuk";
  584. $poin = $setting_poin->jam_masuk;
  585. $source = $jadwal[0]->source;
  586. $source_id = $jadwal[0]->source_id;
  587. }
  588.  
  589. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("24:00:00")) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  590. $slotjam = "Terlambat Masuk";
  591. $poin = $setting_poin->jam_masuk;
  592. $source = $jadwal[0]->source;
  593. $source_id = $jadwal[0]->source_id;
  594. }
  595. }
  596.  
  597. } elseif(($jamtap == $before_jam_masuk)) {
  598. $slotjam = "Masuk";
  599. $poin = $setting_poin->jam_masuk;
  600. $source = $jadwal[0]->source;
  601. $source_id = $jadwal[0]->source_id;
  602. }
  603.  
  604. //-----CASE 13-----
  605. if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) < strtotime("24:00:00")) {
  606. if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_istirahat_selesai)))) {
  607. $slotjam = "Istirahat Mulai";
  608. $poin = $setting_poin->jam_mulai_istirahat;
  609. $source = $jadwal[0]->source;
  610. $source_id = $jadwal[0]->source_id;
  611. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  612. $slotjam = "Istirahat Mulai";
  613. $poin = $setting_poin->jam_mulai_istirahat;
  614. $source = $jadwal[0]->source;
  615. $source_id = $jadwal[0]->source_id;
  616. }
  617. }
  618.  
  619. //-----CASE 14-----
  620. if(strtotime($after_jam_masuk) < strtotime("24:00:00")) {
  621. if(strtotime($before_jam_istirahat_mulai) < strtotime("24:00:00")) {
  622. if((strtotime($jamtap) > strtotime($after_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
  623. $slotjam = "Terlambat Masuk";
  624. $poin = $setting_poin->jam_masuk;
  625. $source = $jadwal[0]->source;
  626. $source_id = $jadwal[0]->source_id;
  627. }
  628. }
  629. }
  630.  
  631. if(strtotime($jam_masuk) == strtotime("00:00:00")) {
  632. //-----CASE 15-----
  633. if(strtotime($before_jam_masuk) < strtotime("00:00:00")) {
  634. if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_masuk))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  635. $slotjam = "Masuk";
  636. $poin = $setting_poin->jam_masuk;
  637. $source = $jadwal[0]->source;
  638. $source_id = $jadwal[0]->source_id;
  639. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_masuk)))) {
  640. $slotjam = "Masuk";
  641. $poin = $setting_poin->jam_masuk;
  642. $source = $jadwal[0]->source;
  643. $source_id = $jadwal[0]->source_id;
  644. }
  645. }
  646. }
  647. }
  648.  
  649. // Jika jam tap >= jam 12 malam
  650. if((strtotime($jamtap) >= strtotime("00:00:00"))) {
  651. // dd(strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang)) && strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)));
  652.  
  653. //-----CASE 16----
  654. if((strtotime("+24 hours", strtotime($jamtap)) < strtotime($after_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  655. $slotjam = "Masuk";
  656. $poin = $setting_poin->jam_masuk;
  657. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  658. $tanggal_waktu_tap->subDay();
  659. $source = $jadwal[0]->source;
  660. $source_id = $jadwal[0]->source_id;
  661. }
  662. if(($jamtap == $before_jam_masuk)) {
  663. $slotjam = "Masuk";
  664. $poin = $setting_poin->jam_masuk;
  665. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  666. $tanggal_waktu_tap->subDay();
  667. $source = $jadwal[0]->source;
  668. $source_id = $jadwal[0]->source_id;
  669. }
  670.  
  671. //-----CASE 17-----
  672. if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) >= strtotime("00:00:00")) {
  673. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  674. $slotjam = "Istirahat Mulai";
  675. $poin = $setting_poin->jam_mulai_istirahat;
  676. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  677. $tanggal_waktu_tap->subDay();
  678. $source = $jadwal[0]->source;
  679. $source_id = $jadwal[0]->source_id;
  680. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  681. $slotjam = "Istirahat Mulai";
  682. $poin = $setting_poin->jam_mulai_istirahat;
  683. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  684. $tanggal_waktu_tap->subDay();
  685. $source = $jadwal[0]->source;
  686. $source_id = $jadwal[0]->source_id;
  687. }
  688. }
  689.  
  690. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) >= strtotime("00:00:00")) {
  691. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  692. $slotjam = "Istirahat Selesai";
  693. $poin = $setting_poin->jam_selesai_istirahat;
  694. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  695. $tanggal_waktu_tap->subDay();
  696. $source = $jadwal[0]->source;
  697. $source_id = $jadwal[0]->source_id;
  698. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  699. $slotjam = "Istirahat Selesai";
  700. $poin = $setting_poin->jam_selesai_istirahat;
  701. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  702. $tanggal_waktu_tap->subDay();
  703. $source = $jadwal[0]->source;
  704. $source_id = $jadwal[0]->source_id;
  705. }
  706. }
  707.  
  708. if(strtotime("+24 hours", strtotime($before_jam_pulang)) >= strtotime("00:00:00")) {
  709. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  710. $slotjam = "Pulang";
  711. $poin = $setting_poin->jam_keluar;
  712. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  713. $tanggal_waktu_tap->subDay();
  714. $source = $jadwal[0]->source;
  715. $source_id = $jadwal[0]->source_id;
  716. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  717. $slotjam = "Pulang";
  718. $poin = $setting_poin->jam_keluar;
  719. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  720. $tanggal_waktu_tap->subDay();
  721. $source = $jadwal[0]->source;
  722. $source_id = $jadwal[0]->source_id;
  723. }
  724. }
  725.  
  726. //-----CASE 18-----
  727. if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) < strtotime("24:00:00")) {
  728. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  729. $slotjam = "Istirahat Mulai";
  730. $poin = $setting_poin->jam_mulai_istirahat;
  731. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  732. $tanggal_waktu_tap->subDay();
  733. $source = $jadwal[0]->source;
  734. $source_id = $jadwal[0]->source_id;
  735. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_mulai))) {
  736. $slotjam = "Istirahat Mulai";
  737. $poin = $setting_poin->jam_mulai_istirahat;
  738. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  739. $tanggal_waktu_tap->subDay();
  740. $source = $jadwal[0]->source;
  741. $source_id = $jadwal[0]->source_id;
  742. }
  743. }
  744.  
  745. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
  746. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  747. $slotjam = "Istirahat Selesai";
  748. $poin = $setting_poin->jam_selesai_istirahat;
  749. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  750. $tanggal_waktu_tap->subDay();
  751. $source = $jadwal[0]->source;
  752. $source_id = $jadwal[0]->source_id;
  753. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_selesai))) {
  754. $slotjam = "Istirahat Selesai";
  755. $poin = $setting_poin->jam_selesai_istirahat;
  756. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  757. $tanggal_waktu_tap->subDay();
  758. $source = $jadwal[0]->source;
  759. $source_id = $jadwal[0]->source_id;
  760. }
  761. }
  762.  
  763. if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
  764. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  765. $slotjam = "Pulang";
  766. $poin = $setting_poin->jam_keluar;
  767. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  768. $tanggal_waktu_tap->subDay();
  769. $source = $jadwal[0]->source;
  770. $source_id = $jadwal[0]->source_id;
  771. } elseif((strtotime($jamtap) == strtotime($before_jam_pulang))) {
  772. $slotjam = "Pulang";
  773. $poin = $setting_poin->jam_keluar;
  774. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  775. $tanggal_waktu_tap->subDay();
  776. $source = $jadwal[0]->source;
  777. $source_id = $jadwal[0]->source_id;
  778. }
  779. }
  780.  
  781.  
  782. //-----CASE 19-----
  783. if(strtotime($after_jam_masuk) >= strtotime("00:00:00")) {
  784. if(strtotime($before_jam_istirahat_mulai) >= strtotime("24:00:00")) {
  785. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  786. $slotjam = "Terlambat Masuk";
  787. $poin = $setting_poin->jam_masuk;
  788. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  789. $tanggal_waktu_tap->subDay();
  790. $source = $jadwal[0]->source;
  791. $source_id = $jadwal[0]->source_id;
  792. }
  793. }
  794. }
  795.  
  796. //-----CASE 19.1-----
  797. if(strtotime($after_jam_masuk) < strtotime("24:00:00")) {
  798. if(strtotime($before_jam_istirahat_mulai) >= strtotime("24:00:00")) {
  799. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  800. $slotjam = "Terlambat Masuk";
  801. $poin = $setting_poin->jam_masuk;
  802. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  803. $tanggal_waktu_tap->subDay();
  804. $source = $jadwal[0]->source;
  805. $source_id = $jadwal[0]->source_id;
  806. }
  807.  
  808. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($after_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  809. $slotjam = "Terlambat Masuk";
  810. $poin = $setting_poin->jam_masuk;
  811. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  812. $tanggal_waktu_tap->subDay();
  813. $source = $jadwal[0]->source;
  814. $source_id = $jadwal[0]->source_id;
  815. }
  816. } elseif(strtotime($before_jam_istirahat_mulai) < strtotime("24:00:00")) {
  817. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  818. $slotjam = "Terlambat Masuk";
  819. $poin = $setting_poin->jam_masuk;
  820. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  821. $tanggal_waktu_tap->subDay();
  822. $source = $jadwal[0]->source;
  823. $source_id = $jadwal[0]->source_id;
  824. }
  825.  
  826. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($after_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  827. $slotjam = "Terlambat Masuk";
  828. $poin = $setting_poin->jam_masuk;
  829. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  830. $tanggal_waktu_tap->subDay();
  831. $source = $jadwal[0]->source;
  832. $source_id = $jadwal[0]->source_id;
  833. }
  834. }
  835. }
  836.  
  837. //-----CASE 20-----
  838. if(strtotime($before_jam_masuk) == strtotime("00:00:00")) {
  839. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
  840. $slotjam = "Masuk";
  841. $poin = $setting_poin->jam_masuk;
  842. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  843. $tanggal_waktu_tap->subDay();
  844. $source = $jadwal[0]->source;
  845. $source_id = $jadwal[0]->source_id;
  846. } elseif((strtotime($jamtap) == strtotime($before_jam_masuk)) || (strtotime($jamtap) == strtotime($after_jam_pulang))) {
  847. $slotjam = "Masuk";
  848. $poin = $setting_poin->jam_masuk;
  849. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  850. $tanggal_waktu_tap->subDay();
  851. $source = $jadwal[0]->source;
  852. $source_id = $jadwal[0]->source_id;
  853. }
  854. }
  855.  
  856. if(strtotime($jam_masuk) == strtotime("00:00:00")) {
  857.  
  858. //-----CASE 21-----
  859. if(strtotime($before_jam_masuk) < strtotime("00:00:00")) {
  860. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
  861. $slotjam = "Masuk";
  862. $poin = $setting_poin->jam_masuk;
  863. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  864. $tanggal_waktu_tap->subDay();
  865. $source = $jadwal[0]->source;
  866. $source_id = $jadwal[0]->source_id;
  867. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_mulai))) {
  868. $slotjam = "Masuk";
  869. $poin = $setting_poin->jam_masuk;
  870. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  871. $tanggal_waktu_tap->subDay();
  872. $source = $jadwal[0]->source;
  873. $source_id = $jadwal[0]->source_id;
  874. }
  875. }
  876. }
  877. }
  878. }
  879.  
  880. //-----CASE D-----
  881. if(strtotime($jam_masuk) == strtotime("00:00:00")) {
  882. //-----CASE 22-----
  883. if((strtotime($jamtap) < strtotime("00:00:00")) == false) {
  884. if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_masuk))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  885. $slotjam = "Masuk";
  886. $poin = $setting_poin->jam_masuk;
  887. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  888. $tanggal_waktu_tap->subDay();
  889. $source = $jadwal[0]->source;
  890. $source_id = $jadwal[0]->source_id;
  891. } else if((strtotime("+24 hours",strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  892. $slotjam = "Masuk";
  893. $poin = $setting_poin->jam_masuk;
  894. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  895. $tanggal_waktu_tap->subDay();
  896. $source = $jadwal[0]->source;
  897. $source_id = $jadwal[0]->source_id;
  898. } else if((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_masuk))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  899. $slotjam = "Masuk";
  900. $poin = $setting_poin->jam_masuk;
  901. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  902. $tanggal_waktu_tap->subDay();
  903. $source = $jadwal[0]->source;
  904. $source_id = $jadwal[0]->source_id;
  905. }
  906. }
  907. }
  908.  
  909. //-----CASE E-----
  910. if(strtotime($jam_pulang) == strtotime("00:00:00")) {
  911. //-----CASE 23-----
  912. if((strtotime($jamtap) < strtotime("00:00:00")) == false) {
  913. if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  914. $slotjam = "Pulang";
  915. $poin = $setting_poin->jam_keluar;
  916. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  917. $tanggal_waktu_tap->subDay();
  918. $source = $jadwal[0]->source;
  919. $source_id = $jadwal[0]->source_id;
  920. } else if((strtotime("+24 hours",strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  921. $slotjam = "Pulang";
  922. $poin = $setting_poin->jam_keluar;
  923. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  924. $tanggal_waktu_tap->subDay();
  925. $source = $jadwal[0]->source;
  926. $source_id = $jadwal[0]->source_id;
  927. } else if((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap)) == strtotime("+24 hours", strtotime($after_jam_pulang))) {
  928. $slotjam = "Pulang";
  929. $poin = $setting_poin->jam_keluar;
  930. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  931. $tanggal_waktu_tap->subDay();
  932. $source = $jadwal[0]->source;
  933. $source_id = $jadwal[0]->source_id;
  934. }
  935. }
  936. }
  937.  
  938. //-----CASE F-----
  939. // if(strtotime($jam_istirahat_selesai) < strtotime($jam_pulang)) {
  940. // if(strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && strtotime($jamtap) <= strtotime($after_jam_pulang)) {
  941. // $slotjam = "Pulang";
  942. // $poin = $setting_poin->jam_keluar;
  943. // $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  944. // $tanggal_waktu_tap->subDay();
  945. // $source = $jadwal[0]->source;
  946. // $source_id = $jadwal[0]->source_id;
  947. // }
  948. // }
  949. }
  950.  
  951. $presensi = array(
  952. 'karyawan_id' => $id_karyawan,
  953. 'nama_karyawan' => $nama_karyawan,
  954. 'group_karyawan' => $group_karyawan,
  955. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  956. 'jadwal_id' => $karyawan->jadwal_ngeplus_id ? $karyawan->jadwal_ngeplus_id : null,
  957. 'setting_presensi_id' => 1,
  958. 'tanggal_dan_waktu_tap' => Carbon::parse($tanggal_waktu_tap)->toDateTimeString(),
  959. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  960. 'poin' => $poin,
  961. 'status' => isset($jadwal[0]) ? $jadwal[0]->status : null,
  962. 'slotjam' => $slotjam,
  963. 'source' => $source,
  964. 'source_id' => $source_id
  965. );
  966.  
  967. $slotjamkomparasi = $slotjam;
  968. if($slotjamkomparasi == 'Terlambat Masuk') {
  969. $slotjamkomparasi = 'Masuk';
  970. }
  971.  
  972. // dd($presensi);
  973.  
  974. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap', '=', Carbon::parse($tanggal_waktu_tap)->toDateString())
  975. ->where('status', $jadwal[0]->status)
  976. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  977. ->where('source', $jadwal[0]->source)
  978. ->where('source_id', $jadwal[0]->source_id)
  979. ->first();
  980.  
  981.  
  982. if(isset($oldpresensi)) {
  983. // $oldpresensi->update($presensi);
  984. $data_terinput = $data_terinput + 0;
  985. // } else if(Carbon::parse(Carbon::parse($tanggal_waktu_tap)->toDateString())->isBetween(strval($jadwal[0]->tanggal_mulai), strval($jadwal[0]->tanggal_selesai))) {
  986. } else if(Carbon::parse($tanggal_waktu_tap)->gte(Carbon::parse($jadwal[0]->tanggal_mulai))
  987. // if(Carbon::parse($tanggal_waktu_tap)->gte(Carbon::parse($jadwal[0]->tanggal_mulai))
  988. && Carbon::parse(Carbon::parse($tanggal_waktu_tap)->toDateString())->lt(Carbon::parse($jadwal[0]->tanggal_selesai)->addDay())) {
  989. // cek jam masuk
  990. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  991. Presensi::create($presensi);
  992. $data_terinput = $data_terinput + 1;
  993. $status_final = $presensi['slotjam'];
  994.  
  995. // input harian ngeplus
  996. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  997.  
  998. // input ke mingguanjam ngeplus
  999. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1000.  
  1001. // input ke kph
  1002. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1003.  
  1004. }
  1005. // cek jam istirahat mulai
  1006. if($slotjam == 'Istirahat Mulai') {
  1007. Presensi::create($presensi);
  1008. $data_terinput = $data_terinput + 1;
  1009. $status_final = $presensi['slotjam'];
  1010.  
  1011. // input harian ngeplus
  1012. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1013.  
  1014. // input ke mingguanjam ngeplus
  1015. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1016.  
  1017. // input ke kph
  1018. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1019. }
  1020. // cek jam istirahat selesai
  1021. if($slotjam == 'Istirahat Selesai') {
  1022. Presensi::create($presensi);
  1023. $data_terinput = $data_terinput + 1;
  1024. $status_final = $presensi['slotjam'];
  1025.  
  1026. // input harian ngeplus
  1027. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1028.  
  1029. // input ke mingguanjam ngeplus
  1030. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1031.  
  1032. // input ke kph
  1033. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1034. }
  1035. // cek jam pulang
  1036. if($slotjam == 'Pulang') {
  1037. Presensi::create($presensi);
  1038. $data_terinput = $data_terinput + 1;
  1039. $status_final = $presensi['slotjam'];
  1040.  
  1041. // input harian ngeplus
  1042. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1043.  
  1044. // input ke mingguanjam ngeplus
  1045. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1046.  
  1047. // input ke kph
  1048. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1049. }
  1050. }
  1051. // } else {
  1052. // $data_terinput = $data_terinput + 0;
  1053. // }
  1054. }
  1055. // cek jadwal lebih dari 1
  1056. } else if(count($jadwal) > 1) {
  1057. $prev_id = null;
  1058. for($iz = 0; $iz < count($jadwal); $iz++) {
  1059. $existing_presensi_2 = Presensi::where('tanggal_dan_waktu_tap', $row[$i]['DateTime'][0])->
  1060. where('karyawan_id', $row[$i]['PIN'][0])->
  1061. // where('source', $jadwal[$iz]->source)->
  1062. // where('source_id', $jadwal[$iz]->source_id)->
  1063. // where('jadwal_id', $jadwal[$iz]->jadwal_id)->
  1064. first();
  1065.  
  1066. if(!isset($existing_presensi_2)) {
  1067. $tanggal_mulai = Carbon::parse($jadwal[$iz]['tanggal_mulai'])->format('Y-m-d');
  1068. $tanggal_selesai = Carbon::parse($jadwal[$iz]['tanggal_selesai'])->format('Y-m-d');
  1069. $hariini = Carbon::now()->format('Y-m-d');
  1070.  
  1071. // if($hariini >= Carbon::parse($tanggal_mulai)->toDateString() && $hariini < Carbon::parse($tanggal_selesai)->addDay()->toDateString()) {
  1072.  
  1073. $jam_masuk = $jadwal[$iz]['jam_masuk'];
  1074. $jam_istirahat_mulai = $jadwal[$iz]['jam_istirahat_mulai'];
  1075. $jam_istirahat_selesai = $jadwal[$iz]['jam_istirahat_selesai'];
  1076. $jam_pulang = $jadwal[$iz]['jam_pulang'];
  1077.  
  1078. $closing_time = ClosingTime::find(1);
  1079. $setting_closing_time = strtotime($closing_time->jangka_waktu)-strtotime("00:00:00");
  1080. $datang_awal = SettingDatangAwalKhusus::find(1);
  1081. $setting_datang_awal = strtotime($datang_awal->datang_awal)-strtotime("00:00:00");
  1082.  
  1083.  
  1084. /**
  1085. * Cek Jadwal sebelumnya dan selanjutnya untuk menentukan jam masuk berikutnya
  1086. */
  1087. $after_jam_pulang_next = null;
  1088. $before_jam_masuk_previous = null;
  1089.  
  1090. if(count($jadwal) > 1) {
  1091. if($iz == 0) {
  1092. $setting_presensi = SettingPresensi::find(1);
  1093. if(isset($setting_presensi->toleransi_keterlambatan)) {
  1094. $toleransi = strtotime($setting_presensi->toleransi_keterlambatan)-strtotime("00:00:00");
  1095.  
  1096. //ketika jadwal di awal / jadwal pertama
  1097. $after_jam_pulang_next = date("H:i:s",strtotime($jadwal[$iz + 1]['jam_masuk'])-$toleransi);
  1098. $before_jam_masuk_previous = date("H:i:s",strtotime($jadwal[$iz]['jam_masuk'])-$setting_datang_awal);
  1099. // dd($before_jam_masuk_previous);
  1100. }
  1101.  
  1102. } else if($iz > 0) {
  1103. $jarak_pulang = 0;
  1104. $jarak_masuk = 0;
  1105. // ketika jadwal di tengah tengah / bkn jadwal pertama atw jadwal terakhir
  1106. if(isset($jadwal[$iz + 1])) {
  1107. // ambil jarak pulang
  1108. $jarak_pulang = abs(strtotime($jadwal[$iz]->jam_pulang) - strtotime($jadwal[$iz + 1]['jam_masuk'])) / 60;
  1109. // ambil jarak masuk
  1110. $jarak_masuk = abs(strtotime($jadwal[$iz]->jam_masuk) - strtotime($jadwal[$iz - 1]['jam_masuk'])) / 60;
  1111.  
  1112. if($jarak_masuk > 150) {
  1113. // jika jaraknya >= 2.5 jam maka pake datang awal
  1114. $before_jam_masuk_previous = date("H:i:s",strtotime($jadwal[$iz]['jam_masuk'])-$setting_datang_awal);
  1115. } else if($jarak_masuk <= 150) {
  1116. // jika jaraknya < 2.5 jam maka pake toleransi
  1117. $before_jam_masuk_previous1 = date("H:i:s",strtotime($jadwal[$iz]['jam_masuk'])-$toleransi);
  1118. $before_jam_masuk_previous = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk_previous1)));
  1119. }
  1120.  
  1121. if($jarak_pulang > 150) {
  1122. // jika jaraknya >= 2.5 jam maka patok + 2 jam
  1123. $after_jam_pulang_next = date("H:i:s",strtotime("+2 hours", strtotime($jadwal[$iz]['jam_pulang'])));
  1124. } else if($jarak_pulang <= 150) {
  1125. // jika jaraknya < 2.5 jam maka pake toleransi
  1126. $after_jam_pulang_next = date("H:i:s",strtotime($jadwal[$iz]['jam_pulang'])+$toleransi);
  1127. }
  1128.  
  1129. // bwt jadwal di ujung
  1130. } else if(!isset($jadwal[$iz + 1])) {
  1131. // ambil jarak pulang
  1132. // $jarak_pulang = abs(strtotime($jadwal[$iz]->jam_pulang) - strtotime($jadwal[$iz + 1]->jam_masuk)) / 60;
  1133. // ambil jarak masuk
  1134. $jarak_masuk = abs(strtotime($jadwal[$iz]['jam_masuk']) - strtotime($jadwal[$iz - 1]['jam_pulang'])) / 60;
  1135.  
  1136. $after_jam_pulang_next = date("H:i:s",strtotime("+5 hours", strtotime($jadwal[$iz]['jam_pulang'])));
  1137.  
  1138. if($jarak_masuk > 150) {
  1139. // jika jaraknya >= 2.5 jam maka pake datang awal
  1140. $before_jam_masuk_previous = date("H:i:s",strtotime($jadwal[$iz]['jam_masuk'])-$setting_datang_awal);
  1141. } else if($jarak_pulang <= 150) {
  1142. // jika jaraknya < 2.5 jam maka pake toleransi
  1143. $before_jam_masuk_previous1 = date("H:i:s",strtotime($jadwal[$iz]['jam_masuk'])-$toleransi);
  1144. $before_jam_masuk_previous = date("H:i:s",strtotime("+1 second",strtotime($before_jam_masuk_previous1)));
  1145. }
  1146. }
  1147.  
  1148.  
  1149. }
  1150. }
  1151.  
  1152. $setting_presensi = SettingPresensi::find(1);
  1153. if(isset($setting_presensi->toleransi_keterlambatan)) {
  1154. $toleransi = strtotime($setting_presensi->toleransi_keterlambatan)-strtotime("00:00:00");
  1155. // $toleransi_min = strtotime("+1 minutes",strtotime($setting_presensi->toleransi_keterlambatan))-strtotime("00:00:00");
  1156.  
  1157. $max_istirahat_mulai = strtotime($jam_istirahat_selesai)-$toleransi-strtotime("00:00:00");
  1158. $max_istirahat_selesai = strtotime($jam_pulang)-$toleransi-strtotime("00:00:00");
  1159.  
  1160. // dd($max_istirahat_selesai);
  1161.  
  1162. // $before_jam_masuk = date("H:i:s",strtotime($jam_masuk)-$setting_datang_awal);
  1163. $before_jam_masuk = $before_jam_masuk_previous;
  1164. $after_jam_masuk = date("H:i:s",strtotime($jam_masuk)+$toleransi);
  1165.  
  1166. $before_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_mulai)-$toleransi);
  1167. // $after_jam_istirahat_mulai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi_min);
  1168.  
  1169. $before_jam_istirahat_selesai = date("H:i:s",strtotime($jam_istirahat_selesai)-$toleransi);
  1170. // $after_jam_istirahat_selesai = date("H:i:s",strtotime($jam_pulang)-$toleransi_min);
  1171.  
  1172. $before_jam_pulang = date("H:i:s",strtotime($jam_pulang)-$toleransi);
  1173. // $after_jam_pulang = date("H:i:s",strtotime($jam_pulang)+$setting_closing_time);
  1174. $after_jam_pulang = $after_jam_pulang_next;
  1175.  
  1176. // if($iz == 0) {
  1177. // dd($jam_masuk);
  1178. // }
  1179.  
  1180. if(($jamtap > $before_jam_masuk) && ($jamtap < $after_jam_masuk)) {
  1181. $slotjam = "Masuk";
  1182. $poin = $setting_poin->jam_masuk;
  1183. $source = $jadwal[$iz]->source;
  1184. $source_id = $jadwal[$iz]->source_id;
  1185. } elseif(($jamtap == $before_jam_masuk) || ($jamtap == $after_jam_masuk)) {
  1186. $slotjam = "Masuk";
  1187. $poin = $setting_poin->jam_masuk;
  1188. $source = $jadwal[$iz]->source;
  1189. $source_id = $jadwal[$iz]->source_id;
  1190. } elseif(($jamtap > $after_jam_masuk) && ($jamtap < $before_jam_istirahat_mulai)) {
  1191. $slotjam = "Terlambat Masuk";
  1192. $poin = $setting_poin->jam_masuk;
  1193. $source = $jadwal[$iz]->source;
  1194. $source_id = $jadwal[$iz]->source_id;
  1195. } elseif(($jamtap > $before_jam_istirahat_mulai) && ($jamtap < $before_jam_istirahat_selesai)) {
  1196. $slotjam = "Istirahat Mulai";
  1197. $poin = $setting_poin->jam_mulai_istirahat;
  1198. $source = $jadwal[$iz]->source;
  1199. $source_id = $jadwal[$iz]->source_id;
  1200. } elseif(($jamtap == $before_jam_istirahat_mulai)) {
  1201. $slotjam = "Istirahat Mulai";
  1202. $poin = $setting_poin->jam_mulai_istirahat;
  1203. $source = $jadwal[$iz]->source;
  1204. $source_id = $jadwal[$iz]->source_id;
  1205. } elseif(($jamtap > $before_jam_istirahat_selesai) && ($jamtap < $before_jam_pulang)) {
  1206. $slotjam = "Istirahat Selesai";
  1207. $poin = $setting_poin->jam_mulai_istirahat;
  1208. $source = $jadwal[$iz]->source;
  1209. $source_id = $jadwal[$iz]->source_id;
  1210. } elseif($jamtap == $before_jam_istirahat_selesai) {
  1211. $slotjam = "Istirahat Selesai";
  1212. $poin = $setting_poin->jam_mulai_istirahat;
  1213. $source = $jadwal[$iz]->source;
  1214. $source_id = $jadwal[$iz]->source_id;
  1215. } elseif(($jamtap > $before_jam_pulang) && ($jamtap < $after_jam_pulang)) {
  1216. $slotjam = "Pulang";
  1217. $poin = $setting_poin->jam_keluar;
  1218. $source = $jadwal[$iz]->source;
  1219. $source_id = $jadwal[$iz]->source_id;
  1220. } elseif(($jamtap == $before_jam_pulang) || ($jamtap == $after_jam_pulang)) {
  1221. $slotjam = "Pulang";
  1222. $poin = $setting_poin->jam_keluar;
  1223. $source = $jadwal[$iz]->source;
  1224. $source_id = $jadwal[$iz]->source_id;
  1225. } else if(strtotime($before_jam_pulang) > strtotime($after_jam_pulang)) {
  1226. if(strtotime($jamtap) >= strtotime($before_jam_pulang) && strtotime($jamtap) < strtotime("24:00:00")) {
  1227. $slotjam = "Pulang";
  1228. $poin = $setting_poin->jam_keluar;
  1229. $source = $jadwal[$iz]->source;
  1230. $source_id = $jadwal[$iz]->source_id;
  1231. } else if(strtotime("+24 hours", strtotime($jamtap) > strtotime("24:00:00") && strtotime("+24 hours", strtotime($jamtap)) <= strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1232. $slotjam = "Pulang";
  1233. $poin = $setting_poin->jam_keluar;
  1234. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1235. $tanggal_waktu_tap->subDay();
  1236. $source = $jadwal[$iz]->source;
  1237. $source_id = $jadwal[$iz]->source_id;
  1238. }
  1239. }
  1240.  
  1241.  
  1242. //-----CASE A-----
  1243. if(strtotime($jam_pulang) < strtotime($jam_istirahat_selesai)) {
  1244. // dd(strtotime("00:00:00"));
  1245. // Jika jam tap < jam 12 malam
  1246. if((strtotime($jamtap) < strtotime("24:00:00"))) {
  1247.  
  1248. //-----CASE 1-----
  1249. if((strtotime($jamtap) > strtotime($before_jam_istirahat_selesai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1250. $slotjam = "Istirahat Selesai";
  1251. $poin = $setting_poin->jam_selesai_istirahat;
  1252. $source = $jadwal[$iz]->source;
  1253. $source_id = $jadwal[$iz]->source_id;
  1254. } elseif(($jamtap == $before_jam_istirahat_selesai)) {
  1255. $slotjam = "Istirahat Selesai";
  1256. $poin = $setting_poin->jam_selesai_istirahat;
  1257. $source = $jadwal[$iz]->source;
  1258. $source_id = $jadwal[$iz]->source_id;
  1259. }
  1260.  
  1261. //-----CASE 2-----
  1262. if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
  1263. if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_pulang)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1264. $slotjam = "Pulang";
  1265. $poin = $setting_poin->jam_keluar;
  1266. $source = $jadwal[$iz]->source;
  1267. $source_id = $jadwal[$iz]->source_id;
  1268. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1269. $slotjam = "Pulang";
  1270. $poin = $setting_poin->jam_keluar;
  1271. $source = $jadwal[$iz]->source;
  1272. $source_id = $jadwal[$iz]->source_id;
  1273. }
  1274. }
  1275. }
  1276.  
  1277. // Jika jam tap >= jam 12 malam
  1278. if((strtotime($jamtap) >= strtotime("00:00:00"))) {
  1279. // dd(strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang)) && strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)));
  1280.  
  1281. //-----CASE 3-----
  1282. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_istirahat_selesai)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1283. $slotjam = "Istirahat Selesai";
  1284. $poin = $setting_poin->jam_selesai_istirahat;
  1285. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1286. $tanggal_waktu_tap->subDay();
  1287. $source = $jadwal[$iz]->source;
  1288. $source_id = $jadwal[$iz]->source_id;
  1289. } elseif(($jamtap == $before_jam_istirahat_selesai)) {
  1290. $slotjam = "Istirahat Selesai";
  1291. $poin = $setting_poin->jam_selesai_istirahat;
  1292. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1293. $tanggal_waktu_tap->subDay();
  1294. $source = $jadwal[$iz]->source;
  1295. $source_id = $jadwal[$iz]->source_id;
  1296. }
  1297.  
  1298. //-----CASE 4-----
  1299. if(strtotime("+24 hours", strtotime($before_jam_pulang)) >= strtotime("00:00:00")) {
  1300. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1301. $slotjam = "Pulang";
  1302. $poin = $setting_poin->jam_keluar;
  1303. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1304. $tanggal_waktu_tap->subDay();
  1305. $source = $jadwal[$iz]->source;
  1306. $source_id = $jadwal[$iz]->source_id;
  1307. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1308. $slotjam = "Pulang";
  1309. $poin = $setting_poin->jam_keluar;
  1310. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1311. $tanggal_waktu_tap->subDay();
  1312. $source = $jadwal[$iz]->source;
  1313. $source_id = $jadwal[$iz]->source_id;
  1314. }
  1315. }
  1316.  
  1317. //-----CASE 5-----
  1318. if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
  1319. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1320. $slotjam = "Pulang";
  1321. $poin = $setting_poin->jam_keluar;
  1322. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1323. $tanggal_waktu_tap->subDay();
  1324. $source = $jadwal[$iz]->source;
  1325. $source_id = $jadwal[$iz]->source_id;
  1326. } elseif((strtotime($jamtap) == strtotime($before_jam_pulang)) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1327. $slotjam = "Pulang";
  1328. $poin = $setting_poin->jam_keluar;
  1329. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1330. $tanggal_waktu_tap->subDay();
  1331. $source = $jadwal[$iz]->source;
  1332. $source_id = $jadwal[$iz]->source_id;
  1333. }
  1334. }
  1335.  
  1336. //-----CASE 6-----
  1337. if(strtotime($after_jam_pulang) == strtotime("00:00:00")) {
  1338. if((strtotime($jamtap) > strtotime($before_jam_pulang)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1339. $slotjam = "Pulang";
  1340. $poin = $setting_poin->jam_keluar;
  1341. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1342. $tanggal_waktu_tap->subDay();
  1343. $source = $jadwal[$iz]->source;
  1344. $source_id = $jadwal[$iz]->source_id;
  1345. } elseif((strtotime($jamtap) == strtotime($before_jam_pulang)) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1346. $slotjam = "Pulang";
  1347. $poin = $setting_poin->jam_keluar;
  1348. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1349. $tanggal_waktu_tap->subDay();
  1350. $source = $jadwal[$iz]->source;
  1351. $source_id = $jadwal[$iz]->source_id;
  1352. }
  1353. }
  1354. }
  1355. }
  1356.  
  1357. //-----CASE B-----
  1358. if(strtotime($jam_istirahat_selesai) < strtotime($jam_istirahat_mulai)) {
  1359. // dd(strtotime("00:00:00"));
  1360. // Jika jam tap < jam 12 malam
  1361.  
  1362. if((strtotime($jamtap) < strtotime("24:00:00"))) {
  1363.  
  1364. //-----CASE 7-----
  1365. if((strtotime($jamtap) > strtotime($before_jam_istirahat_mulai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1366. $slotjam = "Istirahat Mulai";
  1367. $poin = $setting_poin->jam_mulai_istirahat;
  1368. $source = $jadwal[$iz]->source;
  1369. $source_id = $jadwal[$iz]->source_id;
  1370. } elseif(($jamtap == $before_jam_istirahat_mulai)) {
  1371. $slotjam = "Istirahat Mulai";
  1372. $poin = $setting_poin->jam_mulai_istirahat;
  1373. $source = $jadwal[$iz]->source;
  1374. $source_id = $jadwal[$iz]->source_id;
  1375. }
  1376.  
  1377. //-----CASE 8-----
  1378. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
  1379. if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1380. $slotjam = "Istirahat Selesai";
  1381. $poin = $setting_poin->jam_selesai_istirahat;
  1382. $source = $jadwal[$iz]->source;
  1383. $source_id = $jadwal[$iz]->source_id;
  1384. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1385. $slotjam = "Istirahat Selesai";
  1386. $poin = $setting_poin->jam_selesai_istirahat;
  1387. $source = $jadwal[$iz]->source;
  1388. $source_id = $jadwal[$iz]->source_id;
  1389. }
  1390. }
  1391.  
  1392. }
  1393.  
  1394. // Jika jam tap >= jam 12 malam
  1395. if((strtotime($jamtap) >= strtotime("00:00:00"))) {
  1396.  
  1397. //-----CASE 9-----
  1398. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($before_jam_istirahat_mulai)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1399. $slotjam = "Istirahat Mulai";
  1400. $poin = $setting_poin->jam_mulai_istirahat;
  1401. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1402. $tanggal_waktu_tap->subDay();
  1403. $source = $jadwal[$iz]->source;
  1404. $source_id = $jadwal[$iz]->source_id;
  1405. } elseif(($jamtap == $before_jam_istirahat_mulai)) {
  1406. $slotjam = "Istirahat Mulai";
  1407. $poin = $setting_poin->jam_mulai_istirahat;
  1408. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1409. $tanggal_waktu_tap->subDay();
  1410. $source = $jadwal[$iz]->source;
  1411. $source_id = $jadwal[$iz]->source_id;
  1412. }
  1413.  
  1414. //-----CASE 10-----
  1415. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) >= strtotime("00:00:00")) {
  1416. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1417. $slotjam = "Istirahat Selesai";
  1418. $poin = $setting_poin->jam_selesai_istirahat;
  1419. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1420. $tanggal_waktu_tap->subDay();
  1421. $source = $jadwal[$iz]->source;
  1422. $source_id = $jadwal[$iz]->source_id;
  1423. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1424. $slotjam = "Istirahat Selesai";
  1425. $poin = $setting_poin->jam_selesai_istirahat;
  1426. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1427. $tanggal_waktu_tap->subDay();
  1428. $source = $jadwal[$iz]->source;
  1429. $source_id = $jadwal[$iz]->source_id;
  1430. }
  1431. }
  1432.  
  1433. //-----CASE 11-----
  1434. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
  1435. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1436. $slotjam = "Istirahat Selesai";
  1437. $poin = $setting_poin->jam_selesai_istirahat;
  1438. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1439. $tanggal_waktu_tap->subDay();
  1440. $source = $jadwal[$iz]->source;
  1441. $source_id = $jadwal[$iz]->source_id;
  1442. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_selesai))) {
  1443. $slotjam = "Istirahat Selesai";
  1444. $poin = $setting_poin->jam_selesai_istirahat;
  1445. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1446. $tanggal_waktu_tap->subDay();
  1447. $source = $jadwal[$iz]->source;
  1448. $source_id = $jadwal[$iz]->source_id;
  1449. }
  1450. }
  1451. }
  1452. }
  1453.  
  1454. //-----CASE C-----
  1455. if(strtotime($jam_istirahat_mulai) < strtotime($jam_masuk)) {
  1456. // dd(strtotime("00:00:00"));
  1457. // Jika jam tap < jam 12 malam
  1458.  
  1459. if((strtotime($jamtap) < strtotime("24:00:00"))) {
  1460.  
  1461. //-----CASE 12-----
  1462. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1463. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($after_jam_masuk))) {
  1464. $slotjam = "Masuk";
  1465. $poin = $setting_poin->jam_masuk;
  1466. $source = $jadwal[$iz]->source;
  1467. $source_id = $jadwal[$iz]->source_id;
  1468. }
  1469. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  1470. $slotjam = "Masuk";
  1471. $poin = $setting_poin->jam_masuk;
  1472. $source = $jadwal[$iz]->source;
  1473. $source_id = $jadwal[$iz]->source_id;
  1474.  
  1475. if((strtotime("+24 hours", strtotime($jamtap)) == strtotime("24:00:00"))) {
  1476. $slotjam = "Masuk";
  1477. $poin = $setting_poin->jam_masuk;
  1478. $source = $jadwal[$iz]->source;
  1479. $source_id = $jadwal[$iz]->source_id;
  1480. }
  1481.  
  1482. if((strtotime($jamtap) < strtotime("24:00:00")) && (strtotime($jamtap) > strtotime($before_jam_masuk))) {
  1483. $slotjam = "Masuk";
  1484. $poin = $setting_poin->jam_masuk;
  1485. $source = $jadwal[$iz]->source;
  1486. $source_id = $jadwal[$iz]->source_id;
  1487. }
  1488.  
  1489. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("24:00:00")) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  1490. $slotjam = "Masuk";
  1491. $poin = $setting_poin->jam_masuk;
  1492. $source = $jadwal[$iz]->source;
  1493. $source_id = $jadwal[$iz]->source_id;
  1494. }
  1495. }
  1496. if((strtotime($jamtap) > strtotime($after_jam_masuk)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1497. $slotjam = "Terlambat Masuk";
  1498. $poin = $setting_poin->jam_masuk;
  1499. $source = $jadwal[$iz]->source;
  1500. $source_id = $jadwal[$iz]->source_id;
  1501.  
  1502. if((strtotime("+24 hours", strtotime($jamtap)) == strtotime("24:00:00"))) {
  1503. $slotjam = "Terlambat Masuk";
  1504. $poin = $setting_poin->jam_masuk;
  1505. $source = $jadwal[$iz]->source;
  1506. $source_id = $jadwal[$iz]->source_id;
  1507. }
  1508.  
  1509. if((strtotime($jamtap) < strtotime("24:00:00")) && (strtotime($jamtap) > strtotime($after_jam_masuk))) {
  1510. $slotjam = "Terlambat Masuk";
  1511. $poin = $setting_poin->jam_masuk;
  1512. $source = $jadwal[$iz]->source;
  1513. $source_id = $jadwal[$iz]->source_id;
  1514. }
  1515.  
  1516. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("24:00:00")) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1517. $slotjam = "Terlambat Masuk";
  1518. $poin = $setting_poin->jam_masuk;
  1519. $source = $jadwal[$iz]->source;
  1520. $source_id = $jadwal[$iz]->source_id;
  1521. }
  1522. }
  1523.  
  1524. } elseif(($jamtap == $before_jam_masuk)) {
  1525. $slotjam = "Masuk";
  1526. $poin = $setting_poin->jam_masuk;
  1527. $source = $jadwal[$iz]->source;
  1528. $source_id = $jadwal[$iz]->source_id;
  1529. }
  1530.  
  1531. //-----CASE 13-----
  1532. if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) < strtotime("24:00:00")) {
  1533. if(strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_istirahat_selesai)))) {
  1534. $slotjam = "Istirahat Mulai";
  1535. $poin = $setting_poin->jam_mulai_istirahat;
  1536. $source = $jadwal[$iz]->source;
  1537. $source_id = $jadwal[$iz]->source_id;
  1538. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1539. $slotjam = "Istirahat Mulai";
  1540. $poin = $setting_poin->jam_mulai_istirahat;
  1541. $source = $jadwal[$iz]->source;
  1542. $source_id = $jadwal[$iz]->source_id;
  1543. }
  1544. }
  1545.  
  1546. //-----CASE 14-----
  1547. if(strtotime($after_jam_masuk) < strtotime("24:00:00")) {
  1548. if(strtotime($before_jam_istirahat_mulai) < strtotime("24:00:00")) {
  1549. if((strtotime($jamtap) > strtotime($after_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
  1550. $slotjam = "Terlambat Masuk";
  1551. $poin = $setting_poin->jam_masuk;
  1552. $source = $jadwal[$iz]->source;
  1553. $source_id = $jadwal[$iz]->source_id;
  1554. }
  1555. }
  1556. }
  1557.  
  1558. if(strtotime($jam_masuk) == strtotime("00:00:00")) {
  1559. //-----CASE 15-----
  1560. if(strtotime($before_jam_masuk) < strtotime("00:00:00")) {
  1561. if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_masuk))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  1562. $slotjam = "Masuk";
  1563. $poin = $setting_poin->jam_masuk;
  1564. $source = $jadwal[$iz]->source;
  1565. $source_id = $jadwal[$iz]->source_id;
  1566. } elseif((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_masuk)))) {
  1567. $slotjam = "Masuk";
  1568. $poin = $setting_poin->jam_masuk;
  1569. $source = $jadwal[$iz]->source;
  1570. $source_id = $jadwal[$iz]->source_id;
  1571. }
  1572. }
  1573. }
  1574. }
  1575.  
  1576. // Jika jam tap >= jam 12 malam
  1577. if((strtotime($jamtap) >= strtotime("00:00:00"))) {
  1578. // dd(strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang)) && strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)));
  1579.  
  1580. //-----CASE 16----
  1581. if((strtotime("+24 hours", strtotime($jamtap)) < strtotime($after_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1582. $slotjam = "Masuk";
  1583. $poin = $setting_poin->jam_masuk;
  1584. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1585. $tanggal_waktu_tap->subDay();
  1586. $source = $jadwal[$iz]->source;
  1587. $source_id = $jadwal[$iz]->source_id;
  1588. }
  1589. if(($jamtap == $before_jam_masuk)) {
  1590. $slotjam = "Masuk";
  1591. $poin = $setting_poin->jam_masuk;
  1592. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1593. $tanggal_waktu_tap->subDay();
  1594. $source = $jadwal[$iz]->source;
  1595. $source_id = $jadwal[$iz]->source_id;
  1596. }
  1597.  
  1598. //-----CASE 17-----
  1599. if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) >= strtotime("00:00:00")) {
  1600. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1601. $slotjam = "Istirahat Mulai";
  1602. $poin = $setting_poin->jam_mulai_istirahat;
  1603. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1604. $tanggal_waktu_tap->subDay();
  1605. $source = $jadwal[$iz]->source;
  1606. $source_id = $jadwal[$iz]->source_id;
  1607. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1608. $slotjam = "Istirahat Mulai";
  1609. $poin = $setting_poin->jam_mulai_istirahat;
  1610. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1611. $tanggal_waktu_tap->subDay();
  1612. $source = $jadwal[$iz]->source;
  1613. $source_id = $jadwal[$iz]->source_id;
  1614. }
  1615. }
  1616.  
  1617. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) >= strtotime("00:00:00")) {
  1618. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1619. $slotjam = "Istirahat Selesai";
  1620. $poin = $setting_poin->jam_selesai_istirahat;
  1621. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1622. $tanggal_waktu_tap->subDay();
  1623. $source = $jadwal[$iz]->source;
  1624. $source_id = $jadwal[$iz]->source_id;
  1625. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1626. $slotjam = "Istirahat Selesai";
  1627. $poin = $setting_poin->jam_selesai_istirahat;
  1628. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1629. $tanggal_waktu_tap->subDay();
  1630. $source = $jadwal[$iz]->source;
  1631. $source_id = $jadwal[$iz]->source_id;
  1632. }
  1633. }
  1634.  
  1635. if(strtotime("+24 hours", strtotime($before_jam_pulang)) >= strtotime("00:00:00")) {
  1636. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1637. $slotjam = "Pulang";
  1638. $poin = $setting_poin->jam_keluar;
  1639. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1640. $tanggal_waktu_tap->subDay();
  1641. $source = $jadwal[$iz]->source;
  1642. $source_id = $jadwal[$iz]->source_id;
  1643. } elseif((strtotime("+24 hours", strtotime($jamtap)) == strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1644. $slotjam = "Pulang";
  1645. $poin = $setting_poin->jam_keluar;
  1646. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1647. $tanggal_waktu_tap->subDay();
  1648. $source = $jadwal[$iz]->source;
  1649. $source_id = $jadwal[$iz]->source_id;
  1650. }
  1651. }
  1652.  
  1653. //-----CASE 18-----
  1654. if(strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)) < strtotime("24:00:00")) {
  1655. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_mulai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)))) {
  1656. $slotjam = "Istirahat Mulai";
  1657. $poin = $setting_poin->jam_mulai_istirahat;
  1658. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1659. $tanggal_waktu_tap->subDay();
  1660. $source = $jadwal[$iz]->source;
  1661. $source_id = $jadwal[$iz]->source_id;
  1662. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_mulai))) {
  1663. $slotjam = "Istirahat Mulai";
  1664. $poin = $setting_poin->jam_mulai_istirahat;
  1665. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1666. $tanggal_waktu_tap->subDay();
  1667. $source = $jadwal[$iz]->source;
  1668. $source_id = $jadwal[$iz]->source_id;
  1669. }
  1670. }
  1671.  
  1672. if(strtotime("+24 hours", strtotime($before_jam_istirahat_selesai)) < strtotime("24:00:00")) {
  1673. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_istirahat_selesai))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_pulang)))) {
  1674. $slotjam = "Istirahat Selesai";
  1675. $poin = $setting_poin->jam_selesai_istirahat;
  1676. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1677. $tanggal_waktu_tap->subDay();
  1678. $source = $jadwal[$iz]->source;
  1679. $source_id = $jadwal[$iz]->source_id;
  1680. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_selesai))) {
  1681. $slotjam = "Istirahat Selesai";
  1682. $poin = $setting_poin->jam_selesai_istirahat;
  1683. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1684. $tanggal_waktu_tap->subDay();
  1685. $source = $jadwal[$iz]->source;
  1686. $source_id = $jadwal[$iz]->source_id;
  1687. }
  1688. }
  1689.  
  1690. if(strtotime("+24 hours", strtotime($before_jam_pulang)) < strtotime("24:00:00")) {
  1691. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1692. $slotjam = "Pulang";
  1693. $poin = $setting_poin->jam_keluar;
  1694. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1695. $tanggal_waktu_tap->subDay();
  1696. $source = $jadwal[$iz]->source;
  1697. $source_id = $jadwal[$iz]->source_id;
  1698. } elseif((strtotime($jamtap) == strtotime($before_jam_pulang))) {
  1699. $slotjam = "Pulang";
  1700. $poin = $setting_poin->jam_keluar;
  1701. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1702. $tanggal_waktu_tap->subDay();
  1703. $source = $jadwal[$iz]->source;
  1704. $source_id = $jadwal[$iz]->source_id;
  1705. }
  1706. }
  1707.  
  1708.  
  1709. //-----CASE 19-----
  1710. if(strtotime($after_jam_masuk) >= strtotime("00:00:00")) {
  1711. if(strtotime($before_jam_istirahat_mulai) >= strtotime("24:00:00")) {
  1712. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1713. $slotjam = "Terlambat Masuk";
  1714. $poin = $setting_poin->jam_masuk;
  1715. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1716. $tanggal_waktu_tap->subDay();
  1717. $source = $jadwal[$iz]->source;
  1718. $source_id = $jadwal[$iz]->source_id;
  1719. }
  1720. }
  1721. }
  1722.  
  1723. //-----CASE 19.1-----
  1724. if(strtotime($after_jam_masuk) < strtotime("24:00:00")) {
  1725. if(strtotime($before_jam_istirahat_mulai) >= strtotime("24:00:00")) {
  1726. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1727. $slotjam = "Terlambat Masuk";
  1728. $poin = $setting_poin->jam_masuk;
  1729. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1730. $tanggal_waktu_tap->subDay();
  1731. $source = $jadwal[$iz]->source;
  1732. $source_id = $jadwal[$iz]->source_id;
  1733. }
  1734.  
  1735. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($after_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1736. $slotjam = "Terlambat Masuk";
  1737. $poin = $setting_poin->jam_masuk;
  1738. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1739. $tanggal_waktu_tap->subDay();
  1740. $source = $jadwal[$iz]->source;
  1741. $source_id = $jadwal[$iz]->source_id;
  1742. }
  1743. } elseif(strtotime($before_jam_istirahat_mulai) < strtotime("24:00:00")) {
  1744. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime("+24 hours", strtotime($after_jam_masuk))) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1745. $slotjam = "Terlambat Masuk";
  1746. $poin = $setting_poin->jam_masuk;
  1747. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1748. $tanggal_waktu_tap->subDay();
  1749. $source = $jadwal[$iz]->source;
  1750. $source_id = $jadwal[$iz]->source_id;
  1751. }
  1752.  
  1753. if((strtotime("+24 hours", strtotime($jamtap)) > strtotime($after_jam_masuk)) && (strtotime("+24 hours", strtotime($jamtap)) < strtotime("+24 hours", strtotime($before_jam_istirahat_mulai)))) {
  1754. $slotjam = "Terlambat Masuk";
  1755. $poin = $setting_poin->jam_masuk;
  1756. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1757. $tanggal_waktu_tap->subDay();
  1758. $source = $jadwal[$iz]->source;
  1759. $source_id = $jadwal[$iz]->source_id;
  1760. }
  1761. }
  1762. }
  1763.  
  1764. //-----CASE 20-----
  1765. if(strtotime($before_jam_masuk) == strtotime("00:00:00")) {
  1766. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
  1767. $slotjam = "Masuk";
  1768. $poin = $setting_poin->jam_masuk;
  1769. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1770. $tanggal_waktu_tap->subDay();
  1771. $source = $jadwal[$iz]->source;
  1772. $source_id = $jadwal[$iz]->source_id;
  1773. } elseif((strtotime($jamtap) == strtotime($before_jam_masuk)) || (strtotime($jamtap) == strtotime($after_jam_pulang))) {
  1774. $slotjam = "Masuk";
  1775. $poin = $setting_poin->jam_masuk;
  1776. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1777. $tanggal_waktu_tap->subDay();
  1778. $source = $jadwal[$iz]->source;
  1779. $source_id = $jadwal[$iz]->source_id;
  1780. }
  1781. }
  1782.  
  1783. if(strtotime($jam_masuk) == strtotime("00:00:00")) {
  1784.  
  1785. //-----CASE 21-----
  1786. if(strtotime($before_jam_masuk) < strtotime("00:00:00")) {
  1787. if((strtotime($jamtap) > strtotime($before_jam_masuk)) && (strtotime($jamtap) < strtotime($before_jam_istirahat_mulai))) {
  1788. $slotjam = "Masuk";
  1789. $poin = $setting_poin->jam_masuk;
  1790. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1791. $tanggal_waktu_tap->subDay();
  1792. $source = $jadwal[$iz]->source;
  1793. $source_id = $jadwal[$iz]->source_id;
  1794. } elseif((strtotime($jamtap) == strtotime($before_jam_istirahat_mulai))) {
  1795. $slotjam = "Masuk";
  1796. $poin = $setting_poin->jam_masuk;
  1797. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1798. $tanggal_waktu_tap->subDay();
  1799. $source = $jadwal[$iz]->source;
  1800. $source_id = $jadwal[$iz]->source_id;
  1801. }
  1802. }
  1803. }
  1804. }
  1805. }
  1806.  
  1807. //-----CASE D-----
  1808. if(strtotime($jam_masuk) == strtotime("00:00:00")) {
  1809. //-----CASE 22-----
  1810. if((strtotime($jamtap) < strtotime("00:00:00")) == false) {
  1811. if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_masuk))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  1812. $slotjam = "Masuk";
  1813. $poin = $setting_poin->jam_masuk;
  1814. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1815. $tanggal_waktu_tap->subDay();
  1816. $source = $jadwal[$iz]->source;
  1817. $source_id = $jadwal[$iz]->source_id;
  1818. } else if((strtotime("+24 hours",strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  1819. $slotjam = "Masuk";
  1820. $poin = $setting_poin->jam_masuk;
  1821. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1822. $tanggal_waktu_tap->subDay();
  1823. $source = $jadwal[$iz]->source;
  1824. $source_id = $jadwal[$iz]->source_id;
  1825. } else if((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_masuk))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_masuk)))) {
  1826. $slotjam = "Masuk";
  1827. $poin = $setting_poin->jam_masuk;
  1828. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1829. $tanggal_waktu_tap->subDay();
  1830. $source = $jadwal[$iz]->source;
  1831. $source_id = $jadwal[$iz]->source_id;
  1832. }
  1833. }
  1834. }
  1835.  
  1836. //-----CASE E-----
  1837. if(strtotime($jam_pulang) == strtotime("00:00:00")) {
  1838. //-----CASE 23-----
  1839. if((strtotime($jamtap) < strtotime("00:00:00")) == false) {
  1840. if((strtotime($jamtap) > strtotime("+24 hours", strtotime($before_jam_pulang))) && (strtotime($jamtap) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1841. $slotjam = "Pulang";
  1842. $poin = $setting_poin->jam_keluar;
  1843. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1844. $tanggal_waktu_tap->subDay();
  1845. $source = $jadwal[$iz]->source;
  1846. $source_id = $jadwal[$iz]->source_id;
  1847. } else if((strtotime("+24 hours",strtotime($jamtap)) < strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1848. $slotjam = "Pulang";
  1849. $poin = $setting_poin->jam_keluar;
  1850. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1851. $tanggal_waktu_tap->subDay();
  1852. $source = $jadwal[$iz]->source;
  1853. $source_id = $jadwal[$iz]->source_id;
  1854. } else if((strtotime($jamtap) == strtotime("+24 hours", strtotime($before_jam_pulang))) || (strtotime($jamtap) == strtotime("+24 hours", strtotime($after_jam_pulang)))) {
  1855. $slotjam = "Pulang";
  1856. $poin = $setting_poin->jam_keluar;
  1857. $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1858. $tanggal_waktu_tap->subDay();
  1859. $source = $jadwal[$iz]->source;
  1860. $source_id = $jadwal[$iz]->source_id;
  1861. }
  1862. }
  1863. }
  1864.  
  1865. //-----CASE F-----
  1866. // if(strtotime($jam_istirahat_selesai) < strtotime($jam_pulang)) {
  1867. // if(strtotime("+24 hours", strtotime($jamtap)) >= strtotime("24:00:00") && strtotime($jamtap) <= strtotime($after_jam_pulang)) {
  1868. // $slotjam = "Pulang";
  1869. // $poin = $setting_poin->jam_keluar;
  1870. // $tanggal_waktu_tap = Carbon::parse($tanggal_waktu_tap);
  1871. // $tanggal_waktu_tap->subDay();
  1872. // $source = $jadwal[$iz]->source;
  1873. // $source_id = $jadwal[$iz]->source_id;
  1874. // }
  1875. // }
  1876. }
  1877.  
  1878. $presensi = array(
  1879. 'karyawan_id' => $id_karyawan,
  1880. 'nama_karyawan' => $nama_karyawan,
  1881. 'group_karyawan' => $group_karyawan,
  1882. 'group_id' => $karyawan->group_id ? $karyawan->group_id : null,
  1883. 'jadwal_id' => $karyawan->jadwal_ngeplus_id ? $karyawan->jadwal_ngeplus_id : null,
  1884. 'setting_presensi_id' => 1,
  1885. 'tanggal_dan_waktu_tap' => Carbon::parse($tanggal_waktu_tap)->toDateTimeString(),
  1886. 'tanggal_dan_waktu_tap_static' => $tanggal_waktu_tap_static,
  1887. 'poin' => $poin,
  1888. 'status' => isset($jadwal[$iz]) ? $jadwal[$iz]->status : null,
  1889. 'slotjam' => $slotjam,
  1890. 'source' => $source,
  1891. 'source_id' => $source_id
  1892. );
  1893.  
  1894. $slotjamkomparasi = $slotjam;
  1895. if($slotjamkomparasi == 'Terlambat Masuk') {
  1896. $slotjamkomparasi = 'Masuk';
  1897. }
  1898. // if($iz == 1) {
  1899. // dd($presensi);
  1900. // }
  1901.  
  1902. $oldpresensi = Presensi::whereDate('tanggal_dan_waktu_tap', '=', Carbon::parse($tanggal_waktu_tap)->toDateString())
  1903. ->where('status', $jadwal[$iz]['status'])
  1904. ->where('slotjam', 'like', '%'.$slotjamkomparasi)
  1905. ->where('source', $jadwal[$iz]['source'])
  1906. ->where('source_id', $jadwal[$iz]['source_id'])
  1907. ->first();
  1908.  
  1909. // if($iz == 1) {
  1910. // dd($presensi);
  1911. // dd(Carbon::parse($tanggal_waktu_tap)->gte(Carbon::parse($jadwal[$iz]['tanggal_mulai'])));
  1912. // }
  1913.  
  1914. if(isset($oldpresensi) || $oldpresensi !== null) {
  1915. // dd('tidak lolos');
  1916. // $oldpresensi->update($presensi);
  1917. $data_terinput = $data_terinput + 0;
  1918. // } else if(Carbon::parse(Carbon::parse($tanggal_waktu_tap)->toDateString())->isBetween(strval($jadwal[$iz]->tanggal_mulai), strval($jadwal[$iz]->tanggal_selesai))) {
  1919. } else if(Carbon::parse($tanggal_waktu_tap)->gte(Carbon::parse($jadwal[$iz]->tanggal_mulai))
  1920. // if(Carbon::parse($tanggal_waktu_tap)->gte(Carbon::parse($jadwal[$iz]->tanggal_mulai))
  1921. && Carbon::parse(Carbon::parse($tanggal_waktu_tap)->toDateString())->lt(Carbon::parse($jadwal[0]->tanggal_selesai)->addDay())) {
  1922. if($jadwal[$iz]->tanggal_pick == Carbon::now()->toDateString()) {
  1923. // if($iz == 1) {
  1924. // dd('masuk');
  1925. // }
  1926. $prev_id = $jadwal[$iz]->id;
  1927. // cek jam masuk
  1928. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  1929. Presensi::create($presensi);
  1930. $data_terinput = $data_terinput + 1;
  1931. $status_final = $presensi['slotjam'];
  1932.  
  1933. // input harian ngeplus
  1934. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1935.  
  1936. // input ke mingguanjam ngeplus
  1937. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1938.  
  1939. // input ke kph
  1940. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1941.  
  1942. }
  1943. // cek jam istirahat mulai
  1944. if($slotjam == 'Istirahat Mulai') {
  1945. Presensi::create($presensi);
  1946. $data_terinput = $data_terinput + 1;
  1947. $status_final = $presensi['slotjam'];
  1948.  
  1949. // input harian ngeplus
  1950. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1951.  
  1952. // input ke mingguanjam ngeplus
  1953. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1954.  
  1955. // input ke kph
  1956. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1957. }
  1958. // cek jam istirahat selesai
  1959. if($slotjam == 'Istirahat Selesai') {
  1960. Presensi::create($presensi);
  1961. $data_terinput = $data_terinput + 1;
  1962. $status_final = $presensi['slotjam'];
  1963.  
  1964. // input harian ngeplus
  1965. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1966.  
  1967. // input ke mingguanjam ngeplus
  1968. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1969.  
  1970. // input ke kph
  1971. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1972. }
  1973. // cek jam pulang
  1974. if($slotjam == 'Pulang') {
  1975. Presensi::create($presensi);
  1976. $data_terinput = $data_terinput + 1;
  1977. $status_final = $presensi['slotjam'];
  1978.  
  1979. // input harian ngeplus
  1980. self::inputHarianNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1981.  
  1982. // input ke mingguanjam ngeplus
  1983. self::inputMingguanJamNgeplus($presensi, $presensi['source'], $presensi['source_id']);
  1984.  
  1985. // input ke kph
  1986. self::inputPresensiToKph($presensi, 'nge-plus', $presensi['source'], $presensi['source_id']);
  1987. }
  1988. }
  1989.  
  1990. // $tanggal_waktu_tap = null;
  1991. }
  1992. // } else {
  1993. // $data_terinput = $data_terinput + 0;
  1994. // }
  1995. // $tanggal_waktu_tap = null;
  1996. }
  1997. }
  1998. }
  1999. }
  2000. }
  2001. }
  2002. }
  2003. }
  2004. } catch (Exception $e) {
  2005. echo $e->message;
  2006. }
  2007. // slotjam tidak dimasukan ke return krn tdk valid jika multijadwal hanya ambil slotjam terakhir
  2008. // return response()->json(['status' => 200, 'message' => 'Data Terinput:' . $data_terinput, 'status_presensi' => $slotjam]);
  2009. return response()->json(['status' => 200, 'message' => 'Data Terinput:' . $data_terinput]);
  2010. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement