vitareinforce

pake cara ini berhasil, tapi perlu test dulu case yang banyak

Feb 19th, 2021
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. $oldpresensi = Presensi::where([
  2. ['status', '=', 'Rutin'],
  3. ['slotjam', '=', $slotjam],
  4. ['karyawan_id', '=', $id_karyawan],
  5. ['tanggal_dan_waktu_tap', '=', $tanggal_waktu_tap],
  6. ])->first();
  7.  
  8. if(isset($oldpresensi)) {
  9. $oldpresensi->update($presensi);
  10. $data_terinput = $data_terinput + 0;
  11. } else {
  12. $karyawan_terdeteksi = $id_karyawan;
  13. $tanggal_terdeteksi = date('Y-m-d', strtotime($tanggal_waktu_tap));
  14. // cek jam masuk
  15. if((($slotjam == 'Masuk') || ($slotjam == 'Terlambat Masuk'))) {
  16. if((($tanggal_terdeteksi == $tanggal_terakhir) || ($tanggal_terakhir == null)) && (($karyawan_terdeteksi == $karyawan_terakhir) || ($karyawan_terakhir == null)) && ($pernah_masuk == 0)) {
  17. Presensi::create($presensi);
  18. $data_terinput = $data_terinput + 1;
  19. $pernah_masuk = 1;
  20. } else {
  21. $pernah_masuk = 0;
  22. }
  23. }
  24. // cek jam istirahat mulai
  25. if($slotjam == 'Istirahat Mulai') {
  26. if((($tanggal_terdeteksi == $tanggal_terakhir) || ($tanggal_terakhir == null)) && (($karyawan_terdeteksi == $karyawan_terakhir) || ($karyawan_terakhir == null)) && ($pernah_istirahat_mulai == 0)) {
  27. Presensi::create($presensi);
  28. $data_terinput = $data_terinput + 1;
  29. $pernah_istirahat_mulai = 1;
  30. } else {
  31. $pernah_istirahat_mulai = 0;
  32. }
  33. }
  34. // cek jam istirahat selesai
  35. if($slotjam == 'Istirahat Selesai') {
  36. if((($tanggal_terdeteksi == $tanggal_terakhir) || ($tanggal_terakhir == null)) && (($karyawan_terdeteksi == $karyawan_terakhir) || ($karyawan_terakhir == null)) && ($pernah_istirahat_selesai == 0)) {
  37. Presensi::create($presensi);
  38. $data_terinput = $data_terinput + 1;
  39. $pernah_istirahat_selesai = 1;
  40. } else {
  41. $pernah_istirahat_selesai = 0;
  42. }
  43. }
  44. // cek jam pulang
  45. if($slotjam == 'Pulang') {
  46. if((($tanggal_terdeteksi == $tanggal_terakhir) || ($tanggal_terakhir == null)) && (($karyawan_terdeteksi == $karyawan_terakhir) || ($karyawan_terakhir == null)) && ($pernah_pulang == 0)) {
  47. Presensi::create($presensi);
  48. $data_terinput = $data_terinput + 1;
  49. $pernah_pulang = 1;
  50. } else {
  51. $pernah_pulang = 0;
  52. }
  53. }
  54. $tanggal_terakhir = date('Y-m-d', strtotime($tanggal_waktu_tap));
  55. $karyawan_terakhir = $id_karyawan;
  56. }
Add Comment
Please, Sign In to add comment