Advertisement
vitareinforce

template_worker_baru

Feb 27th, 2025
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // library untuk http request dan simpan file, install pakai npm install axios fs moment
  2. const axios = require('axios')
  3. const fs = require('fs')
  4.  
  5. // header untuk request ke easylink sdk
  6. const header = {
  7.     'User-Agent': 'Chrome',
  8.     'Content-Type': 'application/x-www-form-urlencoded',
  9. }
  10.  
  11. // parameter data untuk request ke mesin
  12. data = {
  13.     "sn": "FIO66208020150459" // serial number mesin
  14. }
  15.  
  16. // timeout interval dalam milisecond
  17. const timeout = 5000
  18.  
  19. // ip mesin dan port
  20. const ip_mesin = 'localhost'
  21. const port = 8080
  22.  
  23. // main function
  24. async function main() {
  25.     try {
  26.         // call post request
  27.         let res = await axios({ method: 'POST',
  28.             url: 'http://' + ip_mesin +':' + port + '/scanlog/new', //ambil dari scanlog new untuk data fingerprint tebaru
  29.             headers: header, data: data, timeout: timeout })
  30.         if(res.status = 200) {
  31.             console.log("ambil data dari " + res.config.url)
  32.             console.log(res.data)
  33.             // format data sesuai dengan format data sebelumnya (solution)
  34.             if(res.Result == true) {
  35.                 let response_data = res.data.map(item => {
  36.                     return {
  37.                         PIN: item.PIN,
  38.                         DateTime: item.ScanDate,
  39.                         Verified: item.VerifyMode,
  40.                         Status: "0", // status biarkan 0 dulu karena tidak ada equivalent data status di fingerspot
  41.                         WorkCode: item.WorkCode
  42.                     }
  43.                 })
  44.                 /**
  45.                  * simpan ke txt, Date.now() untuk timestamp, untuk lokasi nyimpen dan nama filenya nanti tolong disesuaikan
  46.                  * nama file dikasih timestamp karena data yang baru saja yg diambil, biar data sebelumnya ga ilang krn ketimpa
  47.                  * dan karena ngambilnya data yang baru doang jd ga usah lewat filtering-today lagi karena sudah terfilter
  48.                  * jadi bisa langsung ditaro di public\tapRutin
  49.                  */
  50.                 fs.writeFile('D:\\Agronum\\docker\\suplas\\absensi-web-superplastin-v2\\public\\tapRutin\\batch_' + ip_mesin + '_'+ Date.now() +'.txt', JSON.stringify(response_data), function (err) {
  51.                     if (err) {
  52.                         return console.log(err)
  53.                     }
  54.                     console.log('data mesin tersimpan')
  55.                 })
  56.             }
  57.         }
  58.     } catch(err) {
  59.         console.log(err)
  60.     } finally {
  61.         console.log('finish')
  62.         setTimeout(() => {
  63.             main()
  64.         }, timeout)
  65.     }
  66. }
  67.  
  68. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement