<?php 
 /**
  * 
  */
 class Production extends CI_Controller
 {
  
  function __construct()
  {
    parent::__construct();
    $this->load->library('Mylibrary');
    $this->ci = & get_instance();
    $this->ci->load->library("user_agent");
    // $this->Is_Connected();
    // $this->verification();

    }

  public function Is_Connected()
       {

       if (empty($this->session->userdata('SOCAR_ID_USER')))
        {
         redirect(base_url('Login/'));
        }
       }

       


  public function index()
  {
      $title = "Enregistrement production";

      
        // $data['typebout']=$this->Model->getList('syst_type_bouteille',array());
        $data['tailbout']=$this->Model->getList('syst_taille_bouteille',array());
        $data['title'] = $title;
      $this->load->view("Production_Add_View",$data);
  }

  // function get_commune($prov){
  //   $comm = $this->Model->getList('syst_communes',array('PROVINCE_ID'=>$prov));
  //   $html = '<option value="" > --- </option>';
  //   foreach ($comm as $comm) {
  //     $html .= '<option value="'.$comm['COMMUNE_ID'].'">'.$comm['COMMUNE_NAME'].'</option>';
  //   }
  //   echo $html;

  // }


  public function add()
  {
    //    
    // $DATE_ENTREE_STOCK=$this->input->post('DATE_PRODUCTION');  
    $QUANTITE=$this->input->post('QUANTITE');
    // $ID_TYPE_BOUTEILLE=$this->input->post('ID_TYPE_BOUTEILLE');
    $ID_TAILLE_BOUTEILLE=$this->input->post('ID_TAILLE_BOUTEILLE');
       
    
     $dataprod = array(          
        'DATE_PRODUCTION'=>$this->input->post('DATE_PRODUCTION'),  
        'QUANTITE_PRODUIT'=>$this->input->post('QUANTITE'),  
        'ID_TAILLE_BOUTEILLE'=>$this->input->post('ID_TAILLE_BOUTEILLE'), 
        'ID_USER'=>$this->session->userdata('SOCAR_ID_USER'),
        );

    $datastock = array(          
       'DATE_ENTREE_STOCK'=>$this->input->post('DATE_PRODUCTION'),  
       'QUANTITE'=>$this->input->post('QUANTITE'),  
       'ID_TYPE_BOUTEILLE'=>2,
       'ID_TAILLE_BOUTEILLE'=>$this->input->post('ID_TAILLE_BOUTEILLE'), 
      );

      $datasortiestock = array(          
        'DATE_SORTIE_STOCK'=>$this->input->post('DATE_PRODUCTION'),  
        'QUANTITE'=>$this->input->post('QUANTITE'),  
        'ID_TYPE_BOUTEILLE'=>1,
        'ID_TAILLE_BOUTEILLE'=>$this->input->post('ID_TAILLE_BOUTEILLE'), 
       );

     $this->form_validation->set_rules('DATE_PRODUCTION', 'Date', 'required');
     $this->form_validation->set_rules('QUANTITE', 'Quantite', 'required');
     $this->form_validation->set_rules('ID_TAILLE_BOUTEILLE', 'Taille bouteille', 'required');
     
    //SI Valide
     if ($this->form_validation->run() == FALSE){        
        
      $title = "Enregistrement production";

      
        // $data['typebout']=$this->Model->getList('syst_type_bouteille',array());
        $data['tailbout']=$this->Model->getList('syst_taille_bouteille',array());
        $data['title'] = $title;
      
      

        $message = "<div class='alert alert-danger' id='message'>
                            Donne manquantes, Processus échoué.
                            <button type='button' class='close' data-dismiss='alert'>&times;</button>
                      </div>";

        
        $this->session->set_flashdata(array('message'=>$message));
        $this->load->view("Production_Add_View",$data);

      }else{
        // prod_production

        $pproduct = $this->Model->insert_last_id('prod_production',$dataprod);
        
        $datast = $this->Model->insert_last_id('stock_entre_stock',$datastock);
        // if ($datast) {
          
          $veri = $this->Model->checkvalue('stock_stock',array('ID_TYPE_BOUTEILLE'=>2,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE));
          if ($veri) {
            // unction update($table, $criteres, $data) {
              $stockac = $this->Model->getOne('stock_stock',array('ID_TYPE_BOUTEILLE'=>2,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE));
              $this->Model->update('stock_stock',array('ID_TYPE_BOUTEILLE'=>2,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE), array('QUANTITE'=>$stockac['QUANTITE']+$QUANTITE));
          }
          else{
            $this->Model->insert_last_id('stock_stock',array('ID_TYPE_BOUTEILLE'=>2,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE,'QUANTITE'=>$QUANTITE));
          }
        // }

        $estock = $this->Model->insert_last_id('stock_sortie_stock',$datasortiestock);
        if ($estock) {
          
          $veristock = $this->Model->checkvalue('stock_stock',array('ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE));
          if ($veristock) {
            // unction update($table, $criteres, $data) {
              $stockac = $this->Model->getOne('stock_stock',array('ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE));
              $this->Model->update('stock_stock',array('ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE), array('QUANTITE'=>$stockac['QUANTITE']-$QUANTITE));
          }
          // else{
            // $this->Model->insert_last_id('stock_stock',array('ID_TYPE_BOUTEILLE'=>$ID_TYPE_BOUTEILLE,'ID_TAILLE_BOUTEILLE'=>$ID_TAILLE_BOUTEILLE,'QUANTITE'=>$QUANTITE));
          // }
        }

        

          $message = "<div class='alert alert-success'  id='message'>
                            Enregistrement fait avec succès.
                            <button type='button' class='close' data-dismiss='alert'>&times;</button>
                      </div>";       
        $this->session->set_flashdata(array('message'=>$message));
        redirect(base_url('production/Production'));
      }
  }



  public function listing()
    {
      
        $data['title'] = "Production";
        $this->load->view('Production_List_View',$data);

    }

    
    public function deleted()
    {
      
        $data['title'] = "Production";
        $this->load->view('Production_Deleted_View',$data);

    }

    public function suppression($id)
    {
      $ID_PRODUCTION=$id;  
      $olddata = $this->Model->getOne('prod_production',array('ID_PRODUCTION'=>$ID_PRODUCTION));

      $dataprod = array(          
        'ID_PRODUCTION'=>$ID_PRODUCTION,  
        'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE'],  
        'QUANTITE_PRODUIT'=>$olddata['QUANTITE_PRODUIT'], 
        'DATE_PRODUCTION'=>$olddata['DATE_PRODUCTION'],
        'ID_USER'=>$olddata['ID_USER'],        
        'USER_DELETED'=>$this->session->userdata('SOCAR_ID_USER'),
        );

        $estock = $this->Model->insert_last_id('deleted_prod_production',$dataprod);

        if ($estock) {
          $this->Model->delete('prod_production',array('ID_PRODUCTION'=>$ID_PRODUCTION));
          $this->Model->delete('stock_entre_stock',array('DATE_ENTREE_STOCK'=>$olddata['DATE_PRODUCTION'],'QUANTITE'=>$olddata['QUANTITE_PRODUIT'], 'ID_TYPE_BOUTEILLE'=>2,'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE']));
          $this->Model->delete('stock_sortie_stock',array('DATE_SORTIE_STOCK'=>$olddata['DATE_PRODUCTION'],'QUANTITE'=>$olddata['QUANTITE_PRODUIT'], 'ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE']));
           
          $stockacdeux = $this->Model->getOne('stock_stock',array('ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE']));
          $this->Model->update('stock_stock',array('ID_TYPE_BOUTEILLE'=>2,'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE']), array('QUANTITE'=>$stockacdeux['QUANTITE']+$olddata['QUANTITE_PRODUIT']));

          $stockac = $this->Model->getOne('stock_stock',array('ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE']));
          $this->Model->update('stock_stock',array('ID_TYPE_BOUTEILLE'=>1,'ID_TAILLE_BOUTEILLE'=>$olddata['ID_TAILLE_BOUTEILLE']), array('QUANTITE'=>$stockac['QUANTITE']-$olddata['QUANTITE_PRODUIT']));


          // $datastock = ;
     
          //  $datasortiestock = ;
          $message = "<div class='alert alert-danger'  id='message'>
          Suppression fait avec succès.
          <button type='button' class='close' data-dismiss='alert'>&times;</button>
              </div>";       
          $this->session->set_flashdata(array('message'=>$message));
          redirect(base_url('production/Production/listing'));
     


        }
    }

    // public function verification()
    // {
    //     $todaydate = date('Y-m-d'); 
    //     $liste = $this->Model->getRequete('SELECT ID_ASSURANCE FROM `voiture_assurance` WHERE 1 AND DATE_FIN < "'.$todaydate.'" AND ID_STATUS = 1');
    //     foreach ($liste as $key) {
    //       $this->Model->update('voiture_assurance',array('ID_ASSURANCE'=>$key['ID_ASSURANCE']),array('ID_STATUS'=>5));
    //     }
    // }


  //   public function modifier()
  // {
  //     $title = "Modification Garage";
  //     $GARAGE_ID =$this->uri->segment(4);
  //     $onedetail = $this->Model->getOne('voiture_garage',array('GARAGE_ID'=>$GARAGE_ID));
  //     $approvisionnement = array(
  //              'GARAGE_ID'=>$onedetail['GARAGE_ID'],
  //              'GARAGE_NOM'=>$onedetail['GARAGE_NOM'],       
  //              'PROVINCE_ID'=>$onedetail['PROVINCE_ID'],       
  //              'COMMUNE_ID'=>$onedetail['COMMUNE_ID'],       
  //              'province'=>$this->Model->getList('syst_provinces',array()),
  //              'commune'=>$this->Model->getList('syst_communes',array()),
  //             ); 
    
        
  //       $data['title'] = $title;
  //       $data['approv'] = $approvisionnement;


  //   $this->load->view("Garage_Update_View",$data);
  // }

  // public function update_garage()
  // {

  //    $data = array(          
  //       'GARAGE_NOM'=>$this->input->post('GARAGE_NOM'),  
  //       'PROVINCE_ID'=>$this->input->post('PROVINCE_ID'),  
  //       'COMMUNE_ID'=>$this->input->post('COMMUNE_ID'), 
  //       );

  //    $this->form_validation->set_rules('GARAGE_NOM', 'Nom du garage', 'required');
  //    $this->form_validation->set_rules('PROVINCE_ID', 'Province', 'required');
  //    $this->form_validation->set_rules('COMMUNE_ID', 'Commune', 'required');
  //    $title = "Modification Garage";
  //    $GARAGE_ID =$this->input->post('GARAGE_ID');
     
  //   //SI Valide
  //    if ($this->form_validation->run() == FALSE){        
        
      
  //     // echo $GARAGE_ID;
  //     // 
  //     $onedetail = $this->Model->getOne('voiture_garage',array('GARAGE_ID'=>$GARAGE_ID));
  //     // print_r($onedetail);
  //     // exit();
  //     $approvisionnement = array(
  //              'GARAGE_ID'=>$onedetail['GARAGE_ID'],
  //              'GARAGE_NOM'=>$onedetail['GARAGE_NOM'],       
  //              'PROVINCE_ID'=>$onedetail['PROVINCE_ID'],       
  //              'COMMUNE_ID'=>$onedetail['COMMUNE_ID'],       
  //              'province'=>$this->Model->getList('syst_provinces',array()),
  //              'commune'=>$this->Model->getList('syst_communes',array()),
  //             ); 
    
        
  //       $data['title'] = $title;
  //       $data['approv'] = $approvisionnement;


  //   // $this->load->view("Garage_Update_View",$data);

  //       $message = "<div class='alert alert-danger' id='message'>
  //                           Donne manquantes, Processus échoué.
  //                           <button type='button' class='close' data-dismiss='alert'>&times;</button>
  //                     </div>";

        
  //       $this->session->set_flashdata(array('message'=>$message));
  //      $this->load->view("Garage_Update_View",$data);

  //     }else{
        
  //       $this->Model->update('voiture_garage',array('GARAGE_ID'=>$GARAGE_ID),$data);

  //         $message = "<div class='alert alert-success'  id='message'>
  //                           Enregistrement fait avec succès.
  //                           <button type='button' class='close' data-dismiss='alert'>&times;</button>
  //                     </div>";       
  //       $this->session->set_flashdata(array('message'=>$message));
  //       redirect(base_url('voiture/Garage/listing'));
  //     }
  // }

 }                        