vitareinforce

FUngsi Cek kondisi tidak hadir

Jan 28th, 2021
516
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. cekKondisi: function (json) {
  2.         let kondisi = false
  3.         let adajadwal = false
  4.         let jadwal_terpilih = null
  5.         for(let p = 0; p < json.jadwal_karyawan.jadwal_masuk.length; p++) {
  6.             let hariini = moment(this.tanggal).format('dddd')
  7.             let tanggalhariini = moment(this.tanggal).format('DD-MM-YYYY')
  8.             switch(hariini) {
  9.                 case 'Sunday':
  10.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_minggu == 1) {
  11.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  12.                         adajadwal = true
  13.                     }
  14.                     break;
  15.                 case 'Monday':
  16.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_senin == 1) {
  17.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  18.                         adajadwal = true
  19.                     }
  20.                     break;
  21.                 case 'Tuesday':
  22.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_selasa == 1) {
  23.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  24.                         adajadwal = true
  25.                     }
  26.                     break;
  27.                 case 'Wednesday':
  28.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_rabu == 1) {
  29.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  30.                         adajadwal = true
  31.                     }
  32.                     break;
  33.                 case 'Thursday':
  34.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_kamis == 1) {
  35.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  36.                         adajadwal = true
  37.                     }
  38.                     break;
  39.                 case 'Friday':
  40.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_jumat == 1) {
  41.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  42.                         adajadwal = true
  43.                     }
  44.                     break;
  45.                 case 'Saturday':
  46.                     if(json.jadwal_karyawan.jadwal_masuk[p].checkbox_harikerja_sabtu == 1) {
  47.                         jadwal_terpilih = json.jadwal_karyawan.jadwal_masuk[p]
  48.                         adajadwal = true
  49.                     }
  50.                     break;
  51.                 default:
  52.                     break;
  53.             }
  54.  
  55.             if(adajadwal == true) {
  56.                 if(json.presensis.length == 0) {
  57.                     kondisi = true
  58.                 } else {
  59.                     for(let tap = 0; tap < json.presensis.length; tap++) {
  60.                         let tanggaltap = moment(json.presensis[tap].tanggal_dan_waktu_tap).format('DD-MM-YYYY')
  61.                         let jamtap = moment(json.presensis[tap].tanggal_dan_waktu_tap).format('HH:mm')
  62.  
  63.                         let jam_masuk = moment(jadwal_terpilih.jam_masuk, 'HH:mm:ss').format('HH:mm')
  64.                         let jam_pulang = moment(jadwal_terpilih.jam_masuk, 'HH:mm:ss').format('HH:mm')
  65.                         let before_jam_masuk = jam_masuk - moment(json.datang_awal, 'HH:mm:ss').format('HH:mm')
  66.                         let closing_time = jam_pulang + moment(json.closing_time, 'HH:mm:ss').format('HH:mm')
  67.  
  68.                         if(tanggaltap < tanggalhariini) {
  69.                             kondisi = true
  70.                         }
  71.                         if(tanggaltap == tanggalhariini) {
  72.                             if((jamtap < before_jam_masuk) || (jamtap > closing_time)) {
  73.                                 kondisi = true
  74.                             } else {
  75.                                 kondisi = false
  76.                             }
  77.                         }
  78.                         if(tanggaltap > tanggalhariini) {
  79.                             kondisi = false
  80.                         }
  81.                     }
  82.                 }
  83.             }
  84.           }
  85.           return kondisi
  86.       },
RAW Paste Data