Advertisement
jamboljack

Sync Diklat

Jul 11th, 2023 (edited)
856
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.31 KB | None | 0 0
  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_URL, "https://apimws.bkn.go.id:8243/apisiasn/1.0/pns/rw-diklat/" . $nip);
  3. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  4. curl_setopt($ch, CURLOPT_HEADER, false);
  5. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
  6. curl_setopt($ch, CURLOPT_POSTFIELDS, "client_id=197906242006041006&grant_type=client_credentials");
  7. curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  8.     "Content-Type: application/x-www-form-urlencoded",
  9.     "Auth: bearer $tokensso",
  10.     "Authorization: Bearer $tokenapim",
  11. ));
  12. $response = curl_exec($ch);
  13. curl_close($ch);
  14. $data    = json_decode($response);
  15. $message = $data->code;
  16. if ($message == 1) {
  17.     $jmlData = count($data->data);
  18.     if ($jmlData > 0) {
  19.         foreach ($data->data as $item) {
  20.             $id                     = trim($item->id);
  21.             $idPns                  = trim($item->idPns);
  22.             $nipBaru                = trim($item->nipBaru);
  23.             $nipLama                = trim($item->nipLama);
  24.             $latihanStrukturalId    = trim($item->latihanStrukturalId);
  25.             $latihanStrukturalNama  = trim($item->latihanStrukturalNama);
  26.             $nomor                  = trim($item->nomor);
  27.             $tanggal                = ($item->tanggal == '' ? '' : date('Y-m-d', strtotime($item->tanggal)));
  28.             $tanggal_selesai        = ($item->tanggalSelesai == '' ? '' : date('Y-m-d', strtotime($item->tanggalSelesai)));
  29.             $jumlahJam              = trim($item->jumlahJam);
  30.             $institusiPenyelenggara = trim($item->institusiPenyelenggara);
  31.  
  32.             // Insert ke Tabel
  33.             $checkPegawai = $this->db->get_where('simpeg_pegawai', array('pegawai_nip_baru' => $nip))->row();
  34.             if (count($checkPegawai) > 0) {
  35.                 $pegawai_id = $checkPegawai->pegawai_id;
  36.                 $dataDiklat = $this->db->get_where('simpeg_diklat', array('diklat_id_sapk' => $latihanStrukturalId))->row();
  37.                 if (count($dataDiklat) > 0) {
  38.                     $diklat_id = $dataDiklat->diklat_id;
  39.                 } else {
  40.                     $diklat_id = 0;
  41.                 }
  42.  
  43.                 $checkData = $this->db->get_where('simpeg_diklat_pegawai', array('diklat_pegawai_id_sapk' => $id))->row();
  44.                 if (count($checkData) == 0) {
  45.                     // Download Dokumen
  46.                     if ($item->path == null) {
  47.                         $statusFile = 'kosong';
  48.                     } else {
  49.                         if ($item->path && isset($item->path->{'0'})) {
  50.                             $statusFile = 'kosong';
  51.                         } else if ($item->path && isset($item->path->{'874'})) {
  52.                             $jam  = time();
  53.                             $file = $item->path->{'874'}->dok_uri;
  54.                             $url  = "https://apimws.bkn.go.id:8243/apisiasn/1.0/download-dok?filePath=" . $file;
  55.                             $ch   = curl_init();
  56.                             curl_setopt($ch, CURLOPT_URL, $url);
  57.                             curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  58.                                 "Auth: bearer $tokensso",
  59.                                 "Authorization: Bearer $tokenapim",
  60.                             ));
  61.  
  62.                             $namaFile = 'Berkas_' . $nipBaru . '_' . $jam . '.pdf';
  63.                             $filename = './dokumen/diklat/' . $namaFile;
  64.                             $fp       = fopen($filename, 'wb');
  65.                             curl_setopt($ch, CURLOPT_FILE, $fp);
  66.                             curl_exec($ch);
  67.                             curl_close($ch);
  68.                             fclose($fp);
  69.                             $statusFile = 'ada';
  70.                         } else {
  71.                             $statusFile = 'kosong';
  72.                         }
  73.                     }
  74.  
  75.                     // Insert ke Tabel Diklat SIMPEG
  76.                     if ($statusFile == 'ada') {
  77.                         $data = array(
  78.                             'pegawai_id'                   => $pegawai_id,
  79.                             'diklat_pegawai_id_sapk'       => $id,
  80.                             'jenis_kompetensi_id'          => 4,
  81.                             'diklat_id'                    => $diklat_id,
  82.                             'diklat_pegawai_tanggal'       => date('Y-m-d'),
  83.                             'diklat_pegawai_nama'          => '',
  84.                             'diklat_pegawai_tgl_mulai'     => $tanggal,
  85.                             'diklat_pegawai_tgl_selesai'   => $tanggal_selesai,
  86.                             'diklat_pegawai_penyelenggara' => $institusiPenyelenggara,
  87.                             'diklat_pegawai_no_sertifikat' => $nomor,
  88.                             'diklat_pegawai_jp'            => $jumlahJam,
  89.                             'diklat_pegawai_tahun'         => $tahun,
  90.                             'diklat_pegawai_berkas'        => $namaFile,
  91.                             'diklat_pegawai_verif'         => 3,
  92.                             'diklat_pegawai_update'        => date('Y-m-d H:i:s'),
  93.                         );
  94.                     } else {
  95.                         $data = array(
  96.                             'pegawai_id'                   => $pegawai_id,
  97.                             'diklat_pegawai_id_sapk'       => $id,
  98.                             'jenis_kompetensi_id'          => 4,
  99.                             'diklat_id'                    => $diklat_id,
  100.                             'diklat_pegawai_tanggal'       => date('Y-m-d'),
  101.                             'diklat_pegawai_nama'          => '',
  102.                             'diklat_pegawai_tgl_mulai'     => $tanggal,
  103.                             'diklat_pegawai_tgl_selesai'   => $tanggal_selesai,
  104.                             'diklat_pegawai_penyelenggara' => $institusiPenyelenggara,
  105.                             'diklat_pegawai_no_sertifikat' => $nomor,
  106.                             'diklat_pegawai_jp'            => $jumlahJam,
  107.                             'diklat_pegawai_tahun'         => $tahun,
  108.                             'diklat_pegawai_verif'         => 3,
  109.                             'diklat_pegawai_update'        => date('Y-m-d H:i:s'),
  110.                         );
  111.                     }
  112.  
  113.                     $this->db->insert('simpeg_diklat_pegawai', $data);
  114.                 }
  115.             }
  116.         }
  117.     }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement