Advertisement
vitareinforce

worker sp

Apr 8th, 2021 (edited)
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. require('dotenv').config()
  2. const axios = require('axios')
  3. const moment = require('moment')
  4. const periodic = process.env.periodic
  5. const karyawan_api = process.env.karyawan_api
  6. const cek_presensi_api = process.env.cek_presensi_api
  7. const input_sp_api = process.env.input_sp_api
  8. const interval_axios = process.env.interval_axios
  9.  
  10. let tanggal = moment().format("YYYY-MM-DD")
  11.  
  12. function sleep(millis) {
  13. return new Promise(resolve => setTimeout(resolve, millis));
  14. }
  15.  
  16. async function main() {
  17. try {
  18. axios.get(karyawan_api).then(async function (karyawan_request) {
  19. if(karyawan_request.status == 200) {
  20. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "data karyawan sudah didapat")
  21. let karyawan = karyawan_request.data
  22. for(let i = 0; i < karyawan.length; i++) {
  23. let request_cek_kehadiran = {
  24. karyawan_id: karyawan[i].id,
  25. tanggal: tanggal
  26. }
  27. axios.post(cek_presensi_api, request_cek_kehadiran).then(async function (presensi_request) {
  28. if(presensi_request.status == 200) {
  29. let request_input_sp = {
  30. karyawan_id: presensi_request.data.karyawan_id,
  31. jadwal_id: presensi_request.data.jadwal_id,
  32. tipe_jadwal: presensi_request.data.tipe_jadwal,
  33. status_libur: presensi_request.data.status_libur,
  34. status_izin: presensi_request.data.status_izin,
  35. status_sakit: presensi_request.data.status_sakit,
  36. status_cuti: presensi_request.data.status_cuti,
  37. status_tap: presensi_request.data.status_tap,
  38. tanggal: presensi_request.data.tanggal
  39. }
  40. axios.post(input_sp_api, request_input_sp).then(async function (sp_response) {
  41. if(sp_response.status == 200) {
  42. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "memproses karyawan id:" + karyawan[i].id + " nama: " + karyawan[i].nama)
  43. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + JSON.stringify(presensi_request.data))
  44. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + JSON.stringify(sp_response.data))
  45. } else {
  46. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "memproses karyawan id:" + karyawan[i].id + " nama: " + karyawan[i].nama)
  47. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + JSON.stringify(presensi_request.data))
  48. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "Input Gagal")
  49. }
  50. })
  51. await sleep(interval_axios)
  52. } else {
  53. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "Gagal Cek Presensi")
  54. }
  55. })
  56. await sleep(interval_axios)
  57. }
  58. } else {
  59. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "Gagal Ambil Data Karyawan")
  60. }
  61. })
  62. await sleep(interval_axios)
  63. } catch (e) {
  64. console.log("[" + moment().format("YYYY-MM-DD HH:mm:ss") + "] " + "Error: " + e.message)
  65. }
  66. await sleep(periodic)
  67. }
  68.  
  69. main()
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement