Advertisement
Syehaji93

Verifikasi upload file excel

Aug 22nd, 2022
925
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.02 KB | Software | 0 0
  1. <?php
  2.  
  3. namespace App\Controllers;
  4.  
  5. use App\Models\VerifikasiModel;
  6. use App\Models\DataaxModel;
  7. use App\Models\BomModel;
  8. use App\Models\TempModel;
  9. use App\Models\CekModel;
  10. use App\Controllers\BaseController;
  11.  
  12. class Verifikasi extends BaseController
  13. {
  14.     public function __construct()
  15.     {
  16.         $this->verifikasi_model = new VerifikasiModel();
  17.         $this->dataax_model     = new DataaxModel();
  18.         $this->bom_model        = new BomModel();
  19.         $this->temp_model        = new TempModel();
  20.         $this->cek_model        = new CekModel();
  21.         $this->validation       = \Config\Services::validation();
  22.         $db = \Config\Database::connect();
  23.     }
  24.  
  25.     public function cek_ax_upload()
  26.     {
  27.         $product_id     = $this->request->getVar('ch_item_number');
  28.         $product_lot    = $this->request->getVar('ch_lot');
  29.         $product_side   = $this->request->getVar('ch_side');
  30.  
  31.         $file_excel = $this->request->getFile('fileexcel');
  32.         $ext = $file_excel->getClientExtension();
  33.         if($ext == 'xls')
  34.         {
  35.             $render = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
  36.         }else{
  37.             $render = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
  38.         }
  39.         $spreadsheet = $render->load($file_excel);
  40.  
  41.         $data = $spreadsheet->getActiveSheet()->toArray();
  42.         foreach($data as $x => $row)
  43.         {
  44.             if($x == 0)
  45.             {
  46.                 continue;
  47.             }
  48.  
  49.             $part_code      = $row[0];
  50.             $part_name      = $row[1];
  51.             $lot_part       = $row[2];
  52.             $picking_date   = $row[3];
  53.            
  54.             //cek data pada tabel 'tb_bom', apakah data excel yang akan diupload sesuai dengan data pada 'tb_bom'.?
  55.             $CekData = $db->table('tb_bom')->getWhere(['bom_product_number' => $product_id, 'bom_part_item !=' => $part_code, 'bom_operation_number' => $product_side])->getResult();
  56.  
  57.             foreach($CekData as $key => $data)
  58.             {
  59.                 $bom_part_item = $data->bom_part_item;
  60.                 $bom_part_name = $data->bom_part_name;
  61.                 $bom_kode_gudang = $data->bom_kode_gudang;
  62.             }
  63.            
  64.             //jika ada data pada tabel 'tb_bom' yang tidak ada di dokumen excel akan diinsert ke tabel 'temp_hasil_cek'
  65.             if($CekData)
  66.             {
  67.                 $simpanData = [
  68.                     'part_code'         => $bom_part_item,
  69.                     'part_name'         => $bom_part_name,
  70.                     'part_kode_gudang'  => $bom_kode_gudang,
  71.                     'created_by'        => session()->get('user_name'),
  72.                     'created_date'      => date('Y-m-d H:i:s')
  73.                 ];
  74.                
  75.                 $db->table('temp_hasil_cek')->insert($simpanData);
  76.             }else{
  77.                 session()->setFlashdata('message', 'Data valid');
  78.                 session()->setFlashdata('alert-class', 'alert-danger toastrDefaultError');
  79.             }
  80.            
  81.         }
  82.         return redirect()->to('/hasil_verifikasi');
  83.     }
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement