Advertisement
vitareinforce

logic cek tidak hadir ngeplus

Jan 28th, 2021
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. cekKondisi: function (json) {
  2. let kondisi = true
  3. let adajadwal = false
  4. let jadwal_terpilih = null
  5. for(let p = 0; p < json.jadwal_karyawan.jadwal_ngeplus.length; p++) {
  6. let tanggalMulai = moment(json.jadwal_karyawan.jadwal_ngeplus[p].tanggal_mulai).format('DD-MM-YYYY')
  7. let tanggalSelesai = moment(json.jadwal_karyawan.jadwal_ngeplus[p].tanggal_selesai).format('DD-MM-YYYY')
  8. let tanggalHariIni = moment(this.tanggal).format('DD-MM-YYYY')
  9.  
  10. if(tanggalMulai <= tanggalHariIni && tanggalSelesai >= tanggalHariIni && (json.jadwal_karyawan.jadwal_ngeplus[p].status == 'nge-plus' || json.jadwal_karyawan.jadwal_ngeplus[p].status == 'ngeplus-group')) {
  11. if(adajadwal == false) {
  12. jadwal_terpilih = json.jadwal_karyawan.jadwal_ngeplus[p]
  13. adajadwal = true
  14. }
  15. }
  16.  
  17. }
  18. if(json.presensis.length > 0) {
  19. for(let p = 0; p < json.presensis.length; p++) {
  20. let tanggaltap = moment(json.presensis[p].tanggal_dan_waktu_tap).format('DD-MM-YYYY')
  21. let tanggalHariIni = moment(this.tanggal).format('DD-MM-YYYY')
  22. let tanggalMulai = moment(jadwal_terpilih.tanggal_mulai).format('DD-MM-YYYY')
  23. let tanggalSelesai = moment(jadwal_terpilih.tanggal_selesai).format('DD-MM-YYYY')
  24. let status = json.presensis[p].status
  25.  
  26. let jamtap = moment(json.presensis[p].tanggal_dan_waktu_tap).format('HH:mm')
  27. let jam_masuk = moment(jadwal_terpilih.jam_masuk, 'HH:mm:ss').format('HH:mm')
  28. let jam_pulang = moment(jadwal_terpilih.jam_masuk, 'HH:mm:ss').format('HH:mm')
  29. let before_jam_masuk = jam_masuk - moment(json.datang_awal, 'HH:mm:ss').format('HH:mm')
  30. let closing_time = jam_pulang + moment(json.closing_time, 'HH:mm:ss').format('HH:mm')
  31.  
  32. if((status == 'nge-plus') || (status == 'ngeplus-group')) {
  33. if((tanggaltap == tanggalHariIni) && (tanggalMulai <= tanggalHariIni && tanggalSelesai >= tanggalHariIni)) {
  34. if(tanggaltap < tanggalhariini) {
  35. kondisi = true
  36. }
  37. if(tanggaltap == tanggalhariini) {
  38. if((jamtap < before_jam_masuk) || (jamtap > closing_time)) {
  39. kondisi = true
  40. } else {
  41. kondisi = false
  42. }
  43. }
  44. if(tanggaltap > tanggalhariini) {
  45. kondisi = false
  46. }
  47. }
  48. }
  49. }
  50. }
  51. console.log(jadwal_terpilih)
  52. return kondisi;
  53. },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement