<?php
class PagosF_model extends CI_Model { 
   public function __construct() {
      parent::__construct();
   }

    function buscarP1($query) {
    //Realiza una búsqueda en la bd por medio de la variable $query que es pasada por el controlador (nombre del cliente)

    $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
    $this->db->select('*');
    $this->db->from(' ventas_has_productosfranquicias');
   $this->db->join('productosfranquicias','productosfranquicias_IdProductosFranquicias = IdProductosFranquicias','inner');
    $this->db->join('productosgenerales','ProductosGenerales_IdProductosGenerales =   IdProductosGenerales','inner');
    $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
    $this->db->like('ClienteVenta',$query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('ventas.franquicias_IdFranquicias',$i);
    $this->db->WHERE('Adeudo > 0');
    $this->db->or_like('ventas_has_productosfranquicias.folio',$query);
    $this->db->where('EstatusV', 'ACTIVA');
    $this->db->where('ventas.franquicias_IdFranquicias',$i);
    $this->db->WHERE('Adeudo > 0');


     $query=$this->db->get();
    if ($query->num_rows() > 0){
      return $query;
    }else{
      echo "<script>alert('No se encontro el pago solicitado');
      window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaProductos';
      </script>";
    }
  }

//Servicios Adicionales y personalizados
    function buscarP2($query) {
    //Realiza una búsqueda en la bd por medio de la variable $query que es pasada por el controlador (nombre del cliente)

    $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
    $this->db->SELECT('*');
    $this->db->from('ventas_has_serviciosfranquicias');
    $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
    $this->db->join('franquicias','franquicias_IdFranquicias = IdFranquicias','inner');
    $this->db->join('serviciosfranquicias','serviciosfranquicias_IdServiciosFranquicias = IdServiciosFranquicias','inner');
    $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales = IdServiciosGenerales','inner');
    $this->db->like('ClienteVenta', $query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('ventas.franquicias_IdFranquicias',$i);
    $this->db->where('Adeudo > 0');
    $this->db->or_like('ventas_has_serviciosfranquicias.folio',$query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('ventas.franquicias_IdFranquicias',$i);
    $this->db->where('Adeudo > 0');
     $query=$this->db->get();
    if ($query->num_rows() > 0){
      return $query;
    }else{
      echo "<script>alert('No se encontro el pago solicitado');
      window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
      </script>";
    }
  }
 
//Servicios generales y muestra
      function buscarP5($query) {
    //Realiza una búsqueda en la bd por medio de la variable $query que es pasada por el controlador (nombre del cliente)

    $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
    $this->db->SELECT('*');
    $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
    $this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias = Codigo_Servicios','inner');
    $this->db->from(' ventas_has_serviciosfranquicias');
    $this->db->like('ClienteVenta', $query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('franquicias_IdFranquicias',$i);
    $this->db->where('Adeudo > 0');
    $this->db->or_like('ventas_has_serviciosfranquicias.folio',$query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('franquicias_IdFranquicias',$i);
    $this->db->where('Adeudo > 0');
     $query=$this->db->get();
    if ($query->num_rows() > 0){
      return $query;
    }else{
      echo "<script>alert('No se encontro el pago solicitado');
      window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServiciosGenerales';
      </script>";
    }
  }



    function buscarP3($query) {
    //Realiza una búsqueda en la bd por medio de la variable $query que es pasada por el controlador (nombre del cliente)

    $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
    $this->db->SELECT('*');
    $this->db->join('promociones','IdPromociones = promociones_IdPromociones','inner');
    $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
    $this->db->FROM('ventas_has_promociones');
    $this->db->like('ClienteVenta', $query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('ventas.franquicias_IdFranquicias',$i);
    $this->db->where('Adeudo > 0');
    $this->db->or_like('ventas_has_promociones.folio',$query);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->where('ventas.franquicias_IdFranquicias',$i);
    $this->db->where('Adeudo > 0');
     $query=$this->db->get();
    if ($query->num_rows() > 0){
      return $query;
    }else{
      echo "<script>alert('No se encontro el pago solicitado');
      window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaPromociones';
      </script>";
    }
  }
  public function obtenerenlaceV ($query){ 
  //permite acceder al id del cliente que se desea editar por medio de la variable $id que es pasada por el controlador
     
      $this->db->where('IdVentas', $query);
      $query=$this->db->get('ventas');
      if($query->num_rows()>0){
         return $query;

      }else{
         return FALSE;
      }

   }

   public function obtenerenlacePro ($query){ 
   //permite acceder al id del cliente que se desea editar por medio de la variable $id que es pasada por el controlador
     
     
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->join('promociones','Promociones_IdPromociones = IdPromociones','inner');
       $this->db->where('IdVentasPromociones', $query);
      $query=$this->db->get('ventas_has_promociones');
      if($query->num_rows()>0){
         return $query;

      }else{
         return FALSE;
      }

   }



 //obtiene los datos para la vista de editar pagos
  public function obtenerenlace ($query){ 
  //permite acceder al id del cliente que se desea editar por medio de la variable $id que es pasada por el controlador
     
      $this->db->where('IdVentasProductos', $query);
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->join('productosfranquicias','ProductosFranquicias_IdProductosFranquicias=IdProductosFranquicias','inner');
      $this->db->join('productosgenerales','ProductosGenerales_IdProductosGenerales=IdProductosGenerales','inner');
      $query=$this->db->get('ventas_has_productosfranquicias');
      if($query->num_rows()>0){
         return $query;

      }else{
         return FALSE;
      }

   }
 //obtiene los datos para la vista de editar pagos
  public function obtenerenlace2 ($id){ 
  //permite acceder al id del cliente que se desea editar por medio de la variable $id que es pasada por el controlador
     
      $this->db->where('IdVentasServicios', $id);
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->join('serviciosfranquicias','ServiciosFranquicias_IdServiciosFranquicias=IdServiciosFranquicias','inner');
      $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales=IdServiciosGenerales','inner');
      //$this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias=IdServiciosGenerales','inner');
      $query=$this->db->get('ventas_has_serviciosfranquicias');
      if($query->num_rows()>0){
         return $query;

      }else{
         return FALSE;
      }

   }

 //obtiene los datos para la vista de editar pagos
     public function obtenerenlace3($id){ 
  //permite acceder al id del cliente que se desea editar por medio de la variable $id que es pasada por el controlador
     
      $this->db->where('IdVentasServicios', $id);
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      //$this->db->join('serviciosfranquicias','ServiciosFranquicias_IdServiciosFranquicias=IdServiciosFranquicias','inner');
      $this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias =Codigo_Servicios','inner');
      //$this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias=IdServiciosGenerales','inner');
      $query=$this->db->get('ventas_has_serviciosfranquicias');
      if($query->num_rows()>0){
         return $query;

      }else{
         return FALSE;
      }

   }



    function editar($Id,$Id2,$parametro,$campo, $dato)
   {
    $data=array(
     'Fecha2' => $parametro['Fecha2'],
     'FolioVenta2' => $parametro['FolioVenta2'],
     'Contado2' => $parametro['Contado2'],
     'TipoTarjeta2'=> $parametro['TipoTarjeta2'],
     'CTarjeta2' => $parametro['CTarjeta2'],
     'FolioTarjeta2' => $parametro['FolioTarjeta2'],
     'Usuario2' => $parametro['Usuario2'],
     'Adeudo' => $parametro['Adeudo'],
     'Abono' => $parametro['Abono'],
     'folio2' => $parametro['folio2']
      );
    $valor=array(
      'AdeudoVenta'=>$campo['AdeudoVenta'],
      'AbonoVenta'=>$campo['AbonoVenta']
    
    );

    $datos=array(
    'IdProductosFranquicias'=>$dato['IdProductosFranquicias'],  
    'PiezasTotales'=> $dato['PiezasTotales']
    );

      $adeudoG = $valor['AdeudoVenta'];
      $abonoG= $valor['AbonoVenta'];
      $IdVenta = $Id2;
      $folio = $datos['IdProductosFranquicias'];
      $piezas= $datos['PiezasTotales'];

      
      if(($adeudoG)!=""&& ($abonoG!="")){ 
      $this->db->where('IdVentasProductos', $Id);
      $this->db->update('ventas_has_productosfranquicias', $data);
      $res=$this->db->affected_rows();
            //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudieron registrar los datos ingresados ');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaProductos';
                 </script>";
        }else {
            
            
            $actualizaPT = $this->editarPiezasTotales($piezas,$folio,$IdVenta,$adeudoG,$abonoG,$Id);
            // echo "<script>alert('Pago guardado correctamente');</script>";
            // redirect('pagos/franquiciatario/pagosF/VentaProductos','refresh');
         }
        }
        else{echo "<script>alert('adeudo o abono va nulo');</script>";}
      }

    //Actualiza los datos de venta servicios
  function editarVS($Id,$Id2,$parametro,$campo)
   {
    $data=array(
     'Fecha2' => $this ->input ->post('Fecha2', true),
     'folio2' => $this ->input ->post('folio2', true),
     'Contado2' => $this ->input->post('Contado2'),
     'TipoTarjeta2' => $this ->input ->post('TipoTarjeta2', true),
     'CTarjeta2' => $this ->input ->post('CTarjeta2', true),
     'FolioTarjeta2' => $this ->input->post('FolioTarjeta2', true),
     'Usuario2' => $this ->input->post('Usuario2', true),
     'Fecha3' => $this ->input ->post('Fecha3', true),
     'folio3' => $this ->input ->post('folio3', true),
     'Contado3' => $this ->input->post('Contado3'),
     'TipoTarjeta3' => $this ->input ->post('TipoTarjeta3', true),
     'CTarjeta3' => $this ->input ->post('CTarjeta3', true),
     'FolioTarjeta3' => $this ->input->post('FolioTarjeta3', true),
     'Usuario3' => $this ->input->post('Usuario3', true),
     'Fecha4' => $this ->input ->post('Fecha4', true),
     'folio4' => $this ->input ->post('folio4', true),
     'Contado4' => $this ->input->post('Contado4'),
     'TipoTarjeta4' => $this ->input ->post('TipoTarjeta4', true),
     'CTarjeta4' => $this ->input ->post('CTarjeta4', true),
     'FolioTarjeta4' => $this ->input->post('FolioTarjeta4', true),
     'Usuario4' => $this ->input->post('Usuario4', true),
     'Adeudo' => $this ->input->post('Adeudo', true),
     'Abono' => $this ->input->post('Abono', true)
   
    );
       
    $valor=array(
      'AdeudoVenta'=>$this->input->post('AdeudoVenta', true),
      'AbonoVenta'=>$this->input->post('AbonoVenta', true)
    );

      $adeudoG = $valor['AdeudoVenta'];
      $abonoG= $valor['AbonoVenta'];
      $IdVenta = $Id2;
      
      if(($adeudoG)!=""&& ($abonoG!="")){
            
      $this->db->where('IdVentasServicios', $Id);
      $this->db->update('ventas_has_serviciosfranquicias', $data);
       $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 

      if($res==0){
                 echo "<script>alert('No se pudieron registrar los datos ingresados');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
                 </script>";
        }else {

            $actualiza = $this->editarAdeudoV($IdVenta,$adeudoG,$abonoG);
            echo "<script>alert('Pago guardado correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
            </script>";
            
        }
      }
      else{
         echo "<script>alert('No se pudo registrar la venta');</script>";
      }
    }
    
   function editarSM($Id,$Id2,$parametro,$campo)
   {
      $data=array(
     'Fecha2' => $this ->input ->post('Fecha2', true),
     'folio2' => $this ->input ->post('folio2', true),
     'Contado2' => $this ->input->post('Contado2'),
     'TipoTarjeta2' => $this ->input ->post('TipoTarjeta2', true),
     'CTarjeta2' => $this ->input ->post('CTarjeta2', true),
     'FolioTarjeta2' => $this ->input->post('FolioTarjeta2', true),
     'Usuario2' => $this ->input->post('Usuario2', true),
     'Fecha3' => $this ->input ->post('Fecha3', true),
     'folio3' => $this ->input ->post('folio3', true),
     'Contado3' => $this ->input->post('Contado3'),
     'TipoTarjeta3' => $this ->input ->post('TipoTarjeta3', true),
     'CTarjeta3' => $this ->input ->post('CTarjeta3', true),
     'FolioTarjeta3' => $this ->input->post('FolioTarjeta3', true),
     'Usuario3' => $this ->input->post('Usuario3', true),
     'Fecha4' => $this ->input ->post('Fecha4', true),
     'folio4' => $this ->input ->post('folio4', true),
     'Contado4' => $this ->input->post('Contado4'),
     'TipoTarjeta4' => $this ->input ->post('TipoTarjeta4', true),
     'CTarjeta4' => $this ->input ->post('CTarjeta4', true),
     'FolioTarjeta4' => $this ->input->post('FolioTarjeta4', true),
     'Usuario4' => $this ->input->post('Usuario4', true),
     'Adeudo' => $this ->input->post('Adeudo', true),
     'Abono' => $this ->input->post('Abono', true)
   
    );
       
    $valor=array(
      'AdeudoVenta'=>$this->input->post('AdeudoVenta', true),
      'AbonoVenta'=>$this->input->post('AbonoVenta', true)
    );

      $adeudoG = $valor['AdeudoVenta'];
      $abonoG= $valor['AbonoVenta'];
      $IdVenta = $Id2;
      
      if(($adeudoG)!=""&& ($abonoG!="")){
      $this->db->where('IdVentasServicios', $Id);
      $this->db->update('ventas_has_serviciosfranquicias', $data);
       $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudieron registrar los datos ingresados ');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
                 </script>";
        }else {
           $actualiza = $this->editarAdeudoVS($IdVenta,$adeudoG,$abonoG);
            echo "<script>alert('Pago guardado correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServiciosGenerales';
            </script>";
        }
      }
    }

    //Actualiza los datos de venta promociones
    function editarVPro($Id,$parametro,$Id2,$campo)
      {
      $data=array(
     'Fecha2' => $this ->input ->post('Fecha2', true),
     'folio2' => $this ->input ->post('folio2', true),
     'Contado2' => $this ->input->post('Contado2'),
     'TipoTarjeta2' => $this ->input ->post('TipoTarjeta2', true),
     'CTarjeta2' => $this ->input ->post('CTarjeta2', true),
     'FolioTarjeta2' => $this ->input->post('FolioTarjeta2', true),
     'Usuario2' => $this ->input->post('Usuario2', true),
     'Fecha3' => $this ->input ->post('Fecha3', true),
     'folio3' => $this ->input ->post('folio3', true),
     'Contado3' => $this ->input->post('Contado3'),
     'TipoTarjeta3' => $this ->input ->post('TipoTarjeta3', true),
     'CTarjeta3' => $this ->input ->post('CTarjeta3', true),
     'FolioTarjeta3' => $this ->input->post('FolioTarjeta3', true),
     'Usuario3' => $this ->input->post('Usuario3', true),
     'Fecha4' => $this ->input ->post('Fecha4', true),
     'folio4' => $this ->input ->post('folio4', true),
     'Contado4' => $this ->input->post('Contado4'),
     'TipoTarjeta4' => $this ->input ->post('TipoTarjeta4', true),
     'CTarjeta4' => $this ->input ->post('CTarjeta4', true),
     'FolioTarjeta4' => $this ->input->post('FolioTarjeta4', true),
     'Usuario4' => $this ->input->post('Usuario4', true),
     'Adeudo' => $this ->input->post('Adeudo', true),
     'Abono' => $this ->input->post('Abono', true)
   
    );
       
   $valor=array(
      'AdeudoVenta'=>$this->input->post('AdeudoVenta', true),
      'AbonoVenta'=>$this->input->post('AbonoVenta', true)
    );

      $adeudoG = $valor['AdeudoVenta'];
      $abonoG= $valor['AbonoVenta'];
      $IdVenta = $Id2;
      
      if(($adeudoG)!=""&& ($abonoG!="")){
      $this->db->where('IdVentasPromociones', $Id);
      $this->db->update('ventas_has_promociones', $data);
      $res=$this->db->affected_rows();
      if($res==0){
            echo "<script>alert('No se pudieron registrar los datos ingresados ');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaPromociones';
            </script>";
        }else {

          $actualiza = $this->editarAdeudoVPro($IdVenta,$adeudoG,$abonoG);
           echo "<script>alert('Pago guardado correctamente');
           window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaPromociones';
           </script>";
        }
      }
    }
   function editarAdeudoVP($IdVenta,$adeudoG,$abonoG,$Id)
   {
    
    $this->db->set('AdeudoVenta', $adeudoG); //value that used to update column  
    $this->db->set('AbonoVenta', $abonoG);  //value that used to update column 
    $this->db->where('IdVentas', $IdVenta); //which row want to upgrade  
    $this->db->update('ventas');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudieron registrar los datos ingresados en productos');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaProductos';
                 </script>";
        }else {
          $idV='"'.$IdVenta.'"';
            echo "<script>alert('Pago guardado correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/generaTicket/$IdVenta/$Id/2/1';
            </script>";
        }
      }

   function editarPiezasTotales($piezas,$folio,$IdVenta,$adeudoG,$abonoG,$Id)
   {
     $this->db->set('PiezasTotales', $piezas);  //value that used to update column 
    $this->db->where('IdProductosFranquicias', $folio); //which row want to upgrade  
    $this->db->update('productosfranquicias');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudieron actualizar las piezas: ');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaProductos';
                 </script>";
        }else {

            $actualiza = $this->editarAdeudoVP($IdVenta,$adeudoG,$abonoG,$Id);
            // echo "<script>alert('Pago guardado correctamente');</script>";
            // redirect('pagos/franquiciatario/pagosF/generaTicket','refresh');
          
        }
      }
   function editarAdeudoV($IdVenta,$adeudoG,$abonoG)
   {
    
    $this->db->set('AdeudoVenta', $adeudoG);
    $this->db->set('AbonoVenta', $abonoG); //value that used to update column  
    $this->db->where('IdVentas', $IdVenta); //which row want to upgrade  
    $this->db->update('ventas');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudieron registrar los datos ingresados');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
                 </script>";
        }else {

            echo "<script>alert('Pago guardado correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
            </script>";
          
        }
      }
    function editarAdeudoVS($IdVenta,$adeudoG,$abonoG)
   {
    
    $this->db->set('AdeudoVenta', $adeudoG);
    $this->db->set('AbonoVenta', $abonoG); //value that used to update column  
    $this->db->where('IdVentas', $IdVenta); //which row want to upgrade  
    $this->db->update('ventas');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
            echo "<script>alert('No se pudieron registrar los datos ingresados en servicios');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServiciosGenerales';
            </script>";
        }else {

            echo "<script>alert('Pago guardado correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServiciosGenerales';
            </script>";
          
        }
      }
    function editarAdeudoVPro($IdVenta,$adeudoG,$abonoG)
   {
    
    $this->db->set('AdeudoVenta', $adeudoG);
    $this->db->set('AbonoVenta', $abonoG); //value that used to update column  
    $this->db->where('IdVentas', $IdVenta); //which row want to upgrade  
    $this->db->update('ventas');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudieron registrar los datos ingresados en productos');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaPromociones';
                 </script>";
        }else {

            echo "<script>alert('Pago guardado correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/generaTicket';
            </script>";
          
        }
      }
   function CancelarVenta($id)
   {
    $this->db->select('*');
    $this->db->from('ventas');
    $this->db->where('IdVentas', $id);
    $this->db->join('ventas_has_productosfranquicias','ventas_IdVentas=IdVentas','inner');
    $result=$this->db->get();
      if ($result->num_rows() > 0){
        echo "<script>var p = confirm('La venta que desea cancelar contiene productos, al cancelarla se reabastecera su inventario. ¿Está seguro de cancelar esta venta?'); if(p==false){alert('Venta no cancelada'); location.href='".base_url()."pagos/franquiciatario/pagosF/';} else{location.href='".base_url()."pagos/franquiciatario/pagosF/cancelarActualizar/$id';}</script>"; 
        
      }else{

        $this->CancelarV($id);

      }
    }
     
 function CancelarActualizarVenta($id)
   {

     $result = $this->pagosF_model->buscaProducto($id);
        foreach ($result as $fila) {
       $productosfranquicias_IdProductosFranquicias = $fila->productosfranquicias_IdProductosFranquicias;
       $PiezasP = $fila->PiezasP;
       $Adeudo = $fila->Adeudo;
      
                 $arr_result[] = array(
                 'productosfranquicias_IdProductosFranquicias' => $productosfranquicias_IdProductosFranquicias,
                 'PiezasP' => $PiezasP,
                 'Adeudo' =>( float ) $Adeudo,
                 );
            }

     for($i = 0; $i < sizeof($arr_result); $i++)
     { 
      $numPiezasActuales = $this->piezaActualesProducto($arr_result[$i]['productosfranquicias_IdProductosFranquicias']);
      foreach ($numPiezasActuales as $fila2) {
                $PiezasTotales = $fila2->PiezasTotales;
            
                 $piezas[] = array(
                 'PiezasTotales' => $PiezasTotales,
                  );
            }
      }
     for($i = 0; $i < sizeof($arr_result); $i++)
     { 
        //echo $arr_result[$i]['Adeudo'];
      if($arr_result[$i]['Adeudo']==0 && $numPiezasActuales > 0){
          //echo " piezas actuales  ". $piezas[$i]['PiezasTotales']."  piezas Pedidas  ".$arr_result[$i]['PiezasP']." folio producto  ".$arr_result[$i]['productosfranquicias_IdProductosFranquicias'];

         $this->actualizarStock($piezas[$i]['PiezasTotales'],$arr_result[$i]['PiezasP'],$arr_result[$i]['productosfranquicias_IdProductosFranquicias']);
      }
    }
    $this->CancelarV($id);
  }

   public function buscaProducto($id){
       $this->db->select('productosfranquicias_IdProductosFranquicias, PiezasP, Adeudo');
        $this->db->from('ventas_has_productosfranquicias');
        $this->db->where('ventas_IdVentas', $id);
        $productos=$this->db->get()->result();
          return $productos;
    }
    public function piezaActualesProducto($folio){
        $this->db->select('PiezasTotales');
       $this->db->from('productosfranquicias');
       $this->db->where('IdProductosFranquicias',$folio);
       $query = $this->db->get()->result();
       $res=$this->db->affected_rows();

       //echo json_encode($query);
       return $query;

    }
    public function actualizarStock($numPiezasActuales,$piezasPedidas,$folio){
      //echo " Piezas actuales  ".$numPiezasActuales ." piezas pedidad  ".$piezasPedidas." folio  ".$folio;
                $data = array(
                        'PiezasTotales' =>( int )  $numPiezasActuales
                        + $piezasPedidas,
                         );
               
                $this->db->where('IdProductosFranquicias', $folio);
                $this->db->update('productosfranquicias', $data);
                $res=$this->db->affected_rows();
                return $res;
    }
    public function CancelarV($id){
    $this->db->set('EstatusV', 'CANCELADA'); //value that used to update column  
    $this->db->where('IdVentas', $id); //which row want to upgrade  
    $this->db->update('ventas');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudo cancelar la venta');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF';
                 </script>";
        }else {
            echo "<script>alert('Venta cancelada correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF';
            </script>";
          
        }

       
         }
    public function BuscarVenta($id){
        $this->db->select('*');
        $this->db->from('ventas');
        $this->db->where('IdVentas',$id);
        return $this->db->get()->result();

       
         }

 //Hace la vista por franquicia
 function buscarporfranquicia($query) {
    $this->db->where('Franquicias_IdFranquicias', $query);
    $query = $this->db->get('clientes');
    if ($query->num_rows() > 0){
      return $query;
    }else{
      return FALSE;
    }
  }

   //Consulta que busca la franquicia a la que pertenece el usuario logueado 
    public function BuscarFranquicia(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdFranquicias, ENT_QUOTES)] = htmlspecialchars($row->NombreFranquicia, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

    //Consulta que busca los datos de el ususario logueado
    public function BuscarUsuario(){
    $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias)

    $this->db->select('*');
    $this->db->from('usuarios');
    $this->db->where('Franquicias_IdFranquicias',$i);
    $this->db->where('Estatus', 'Activo');
    $query = $this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->NombreUsuario, ENT_QUOTES)] = htmlspecialchars($row->NombreUsuario, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }
  

    public function BuscarDatosFranquicia(){
     $this->db->select('*');
     $this->db->from('franquicias');
     $this->db->join('usuarios','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
         $query=$this->db->get();
        $res = $query->row();
         return $res;   
    }
    public function BuscarDatosPago($id, $id2, $numPago, $pago)
    {
      switch($pago)
      {
        case 1:
            $this->db->select('*');
            $this->db->from('ventas_has_productosfranquicias');
            $this->db->join('productosfranquicias','productosfranquicias_IdProductosFranquicias=IdProductosFranquicias','inner');
            $this->db->join('productosgenerales','ProductosGenerales_IdProductosGenerales=IdProductosGenerales','inner');
            $this->db->join('ventas','ventas_IdVentas=IdVentas','inner');
            $this->db->where('IdVentasProductos', $id2);
            $this->db->where('ventas_IdVentas', $id);
              $query=$this->db->get();
              $res = $query->num_rows();
              // $data=[];
                if($res>0)
                {
                  foreach($query->result() as $fila)
                  {
                    $data = array('folio' => $fila->folio2,
                                  'fechaPago'=> $fila->Fecha2,
                                  'folioVenta'=> $fila->FolioVenta2,
                                  'cliente'=> $fila->ClienteVenta,
                                  'concepto'=> $fila->NombreProducto,
                                  'abonado'=> $fila->Contado2+$fila->CTarjeta2,
                                  'total'=> $fila->TotalPagar,
                                  'aCuenta'=> $fila->Abono,
                                  'restan'=> $fila->Adeudo,
                                  'efectivo'=> $fila->Contado2,
                                  'tarjeta'=> $fila->CTarjeta2,
                                  'atendio'=> $fila->Usuario2,);                    
                  }
                }
                return $data;
          break;
        case 2:
              $this->db->select('*');
              $this->db->from('ventas_has_serviciosfranquicias');
              $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
              $this->db->join('serviciosfranquicias','ServiciosFranquicias_IdServiciosFranquicias = IdServiciosFranquicias','inner');
              $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales = IdServiciosGenerales','inner');
              $this->db->where('IdVentasServicios', $id2);
              $this->db->where('ventas_IdVentas', $id);
              $query=$this->db->get();
              $res = $query->num_rows();
              if($res>0)
              {
                foreach($query->result() as $fila)
                {
                 switch($numPago)
                 {
                   case 2:
                      $data = array(
                        'folio' => $fila->folio2,
                        'fechaPago'=> $fila->Fecha2,
                        'folioVenta'=> $fila->FolioVenta2,
                        'cliente'=> $fila->ClienteVenta,
                        'concepto'=> $fila->NombreServicio,
                        'abonado'=> $fila->Contado2+$fila->CTarjeta2,
                        'total'=> $fila->TotalPagar,
                        'aCuenta'=> $fila->Abono,
                        'restan'=> $fila->Adeudo,
                        'efectivo'=> $fila->Contado2,
                        'tarjeta'=> $fila->CTarjeta2,
                        'atendio'=> $fila->Usuario2);
                    break;
                  case 3:
                    $data = array(
                      'folio' => $fila->folio3,
                      'fechaPago'=> $fila->Fecha3,
                      'folioVenta'=> $fila->FolioVenta3,
                      'cliente'=> $fila->ClienteVenta,
                      'concepto'=> $fila->NombreServicio,
                      'abonado'=> $fila->Contado3+$fila->CTarjeta3,
                      'total'=> $fila->TotalPagar,
                      'aCuenta'=> $fila->Abono,
                      'restan'=> $fila->Adeudo,
                      'efectivo'=> $fila->Contado3,
                      'tarjeta'=> $fila->CTarjeta3,
                      'atendio'=> $fila->Usuario3);
                    break;
                  case 4:
                      $data = array(
                        'folio' => $fila->folio4,
                        'fechaPago'=> $fila->Fecha4,
                        'folioVenta'=> $fila->FolioVenta4,
                        'cliente'=> $fila->ClienteVenta,
                        'concepto'=> $fila->NombreServicio,
                        'abonado'=> $fila->Contado4+$fila->CTarjeta4,
                        'total'=> $fila->TotalPagar,
                        'aCuenta'=> $fila->Abono,
                        'restan'=> $fila->Adeudo,
                        'efectivo'=> $fila->Contado4,
                        'tarjeta'=> $fila->CTarjeta4,
                        'atendio'=> $fila->Usuario4);
                    break;
                  
                 }                  
                }
              }else{
                $this->db->select('*');
                $this->db->from('ventas_has_serviciosfranquicias');
                $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
                $this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias = Codigo_Servicios','inner');
                $this->db->where('IdVentasServicios', $id2);
                $this->db->where('ventas_IdVentas', $id);
                $query2=$this->db->get();
                $res2 = $query2->num_rows();                
                if($res2>0)
                {
                  foreach($query2->result() as $fila)
                  {
                    switch($numPago)
                    {
                      case 2:
                          $data = array(
                            'folio' => $fila->folio2,
                            'fechaPago'=> $fila->Fecha2,
                            'folioVenta'=> $fila->FolioVenta2,
                            'cliente'=> $fila->ClienteVenta,
                            'concepto'=> $fila->NombreServicio,
                            'abonado'=> $fila->Contado2+$fila->CTarjeta2,
                            'total'=> $fila->TotalPagar,
                            'aCuenta'=> $fila->Abono,
                            'restan'=> $fila->Adeudo,
                            'efectivo'=> $fila->Contado2,
                            'tarjeta'=> $fila->CTarjeta2,
                            'atendio'=> $fila->Usuario2);
                        break;
                      case 3:
                        $data = array(
                          'folio' => $fila->folio3,
                          'fechaPago'=> $fila->Fecha3,
                          'folioVenta'=> $fila->FolioVenta3,
                          'cliente'=> $fila->ClienteVenta,
                          'concepto'=> $fila->NombreServicio,
                          'abonado'=> $fila->Contado3+$fila->CTarjeta3,
                          'total'=> $fila->TotalPagar,
                          'aCuenta'=> $fila->Abono,
                          'restan'=> $fila->Adeudo,
                          'efectivo'=> $fila->Contado3,
                          'tarjeta'=> $fila->CTarjeta3,
                          'atendio'=> $fila->Usuario3);
                        break;
                      case 4:
                          $data = array(
                            'folio' => $fila->folio4,
                            'fechaPago'=> $fila->Fecha4,
                            'folioVenta'=> $fila->FolioVenta4,
                            'cliente'=> $fila->ClienteVenta,
                            'concepto'=> $fila->NombreServicio,
                            'abonado'=> $fila->Contado4+$fila->CTarjeta4,
                            'total'=> $fila->TotalPagar,
                            'aCuenta'=> $fila->Abono,
                            'restan'=> $fila->Adeudo,
                            'efectivo'=> $fila->Contado4,
                            'tarjeta'=> $fila->CTarjeta4,
                            'atendio'=> $fila->Usuario4);
                        break;
                      
                    }
                  }
                }
              }
                  return $data;
          break;
        case 3:
              $this->db->select('*');
              $this->db->from('ventas_has_promociones');
              $this->db->join('promociones','IdPromociones = promociones_IdPromociones','inner');
              $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
              $this->db->where('IdVentasPromociones', $id2);
              $this->db->where('ventas_IdVentas', $id);
                $query=$this->db->get();
                $res = $query->num_rows();
                // $data=[];
                  if($res>0)
                  {
                    foreach($query->result() as $fila)
                    {
                      switch($numPago)
                      {
                        case 2:
                            $data = array(
                              'folio' => $fila->folio2,
                              'fechaPago'=> $fila->Fecha2,
                              'folioVenta'=> $fila->FolioVenta2,
                              'cliente'=> $fila->ClienteVenta,
                              'concepto'=> $fila->NombrePromocion,
                              'abonado'=> $fila->Contado2+$fila->CTarjeta2,
                              'total'=> $fila->TotalPagar,
                              'aCuenta'=> $fila->Abono,
                              'restan'=> $fila->Adeudo,
                              'efectivo'=> $fila->Contado2,
                              'tarjeta'=> $fila->CTarjeta2,
                              'atendio'=> $fila->Usuario2);
                          break;
                        case 3:
                          $data = array(
                            'folio' => $fila->folio3,
                            'fechaPago'=> $fila->Fecha3,
                            'folioVenta'=> $fila->FolioVenta3,
                            'cliente'=> $fila->ClienteVenta,
                            'concepto'=> $fila->NombrePromocion,
                            'abonado'=> $fila->Contado3+$fila->CTarjeta3,
                            'total'=> $fila->TotalPagar,
                            'aCuenta'=> $fila->Abono,
                            'restan'=> $fila->Adeudo,
                            'efectivo'=> $fila->Contado3,
                            'tarjeta'=> $fila->CTarjeta3,
                            'atendio'=> $fila->Usuario3);
                          break;
                        case 4:
                            $data = array(
                              'folio' => $fila->folio4,
                              'fechaPago'=> $fila->Fecha4,
                              'folioVenta'=> $fila->FolioVenta4,
                              'cliente'=> $fila->ClienteVenta,
                              'concepto'=> $fila->NombrePromocion,
                              'abonado'=> $fila->Contado4+$fila->CTarjeta4,
                              'total'=> $fila->TotalPagar,
                              'aCuenta'=> $fila->Abono,
                              'restan'=> $fila->Adeudo,
                              'efectivo'=> $fila->Contado4,
                              'tarjeta'=> $fila->CTarjeta4,
                              'atendio'=> $fila->Usuario4);
                          break;
                        
                      }
                      
                    }
                  }
                  return $data;
          break;
      }
    }

    public function exhiSer($Id, $ExhiAc){
   
    $this->db->set('exhibiciones_IdExhibiciones',$ExhiAc); //value that used to update column  
    $this->db->where('IdVentasServicios', $Id); //which row want to upgrade  
    $this->db->update('ventas_has_serviciosfranquicias');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudo agregar una exhibicion');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServicios';
                 </script>";
        }else {

            echo "<script>alert('Se ha modificado el número de pagos correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/editar2/$Id';
            </script>";          
        }

    }
    

    public function exhiSerGen($Id, $ExhiAc){
   
    $this->db->set('exhibiciones_IdExhibiciones',$ExhiAc); //value that used to update column  
    $this->db->where('IdVentasServicios', $Id); //which row want to upgrade  
    $this->db->update('ventas_has_serviciosfranquicias');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudo agregar una exhibicion');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaServiciosGenerales';
                 </script>";
        }else {

            echo "<script>alert('Se ha modificado el número de pagos correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/editar3/$Id';
            </script>";
          
        }

    }

    public function exhiPromo($Id, $ExhiAc){
   
    $this->db->set('exhibiciones_IdExhibiciones',$ExhiAc); //value that used to update column  
    $this->db->where('IdVentasPromociones', $Id); //which row want to upgrade  
    $this->db->update('ventas_has_promociones');  //table name
    $res=$this->db->affected_rows();
       //Verifica que la consulta se realizo 
      if($res==0){
                 echo "<script>alert('No se pudo agregar una exhibicion');
                 window.location.href='".base_url()."pagos/franquiciatario/pagosF/VentaPromociones';
                 </script>"; 
        }else {

            echo "<script>alert('Se ha modificado el número de pagos correctamente');
            window.location.href='".base_url()."pagos/franquiciatario/pagosF/editarPro/$Id';
            </script>";
        }

    }
    public function PagoProductos()
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas_has_productosfranquicias');
      $this->db->join('productosfranquicias','productosfranquicias_IdProductosFranquicias = IdProductosFranquicias','inner');
      $this->db->join('productosgenerales','ProductosGenerales_IdProductosGenerales = 	IdProductosGenerales','inner');
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->where('ventas.franquicias_IdFranquicias',$i);
      $this->db->where('ventas.EstatusV', 'ACTIVA');
      $this->db->where('Adeudo > 0');
      $query=$this->db->get();
      $res = $query->num_rows();
      $productos=[];
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $productos[] = array(
                                $fila->folio, 
                                $fila->FolioVenta, 
                                $fila->ClienteVenta, 
                                date("d-m-Y H:i:s", strtotime($fila->FechaVenta)), 
                                $fila->NombreProducto,
                                $fila->PiezasP, 
                                $fila->TotalPagar,
                                $fila->Abono,
                                $fila->Adeudo, 
                                $fila->VendedorUsuario, 
                                '<a href='.base_url().'pagos/franquiciatario/pagosF/editar/'.$fila->IdVentasProductos.'/'.$fila->ventas_IdVentas.' class="label label-primary"><span class="glyphicon glyphicon-pencil"></a></span>',
                              );
        }
      }
      echo json_encode($productos);
    }
    public function PagoServiciosA()
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
        $this->db->select('*');
        $this->db->from(' ventas_has_serviciosfranquicias');
        $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
        $this->db->join('franquicias','franquicias_IdFranquicias = IdFranquicias','inner');
        $this->db->join('serviciosfranquicias','ServiciosFranquicias_IdServiciosFranquicias = IdServiciosFranquicias','inner');
        $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales = IdServiciosGenerales','inner');
        $this->db->where('EstatusV', 'ACTIVA');
        $this->db->where('IdFranquicias',$i);
        $this->db->where('Adeudo > 0');
        $query=$this->db->get();
        $res = $query->num_rows();
        if($res>0)
        {
          return $query->result();
         
        }
    }
    public function PagoServiciosG()
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
        $this->db->select('*');
        $this->db->from(' ventas_has_serviciosfranquicias');
        $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
        $this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias = Codigo_Servicios','inner');
        $this->db->where('ventas.franquicias_IdFranquicias',$i);
        $this->db->where('EstatusV', 'ACTIVA');
        $this->db->where('Adeudo > 0');
        $query=$this->db->get();
        $res = $query->num_rows();
        if($res>0)
        {
          return $query->result();
         
        }
    }
    public function PagoPromociones()
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas_has_promociones');
      $this->db->join('promociones','IdPromociones = promociones_IdPromociones','inner');
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->where('ventas.franquicias_IdFranquicias', $i);
      $this->db->where('EstatusV', 'ACTIVA');
      $this->db->where('Adeudo > 0');
      $this->db->order_by("FechaVenta","desc");
      $query=$this->db->get();
      $res = $query->num_rows();
      $promociones=[];
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $promociones[] = array(
                                $fila->folio, 
                                $fila->FolioVenta,
                                $fila->ClienteVenta, 
                                date("d-m-Y H:i:s", strtotime($fila->FechaVenta)), 
                                $fila->NombrePromocion,
                                $fila->TotalPagar,
                                $fila->exhibiciones_IdExhibiciones,                                
                                $fila->Abono,
                                $fila->Adeudo, 
                                $fila->VendedorUsuario,
                                '<a href='.base_url().'pagos/franquiciatario/pagosF/editarPro/'.$fila->IdVentasPromociones.'/'.$fila->ventas_IdVentas.' class="label label-primary"><span class="glyphicon glyphicon-pencil"></a></span>',
                              );
        }
      }
      echo json_encode($promociones);
    }
    public function TodasVentas()
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas');
		  $this->db->where('Franquicias_IdFranquicias', $i);
		  $this->db->where('EstatusV', 'ACTIVA');
      $this->db->order_by("FechaVenta","desc");
      $query=$this->db->get();
      $res = $query->num_rows();
      $ventas=[];
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $id="'".$fila->IdVentas."'";
          $folio="'".$fila->folio."'";
          $cliente="'".strtoupper($fila->ClienteVenta)."'";
          $fecha="'".date("d-m-Y", strtotime($fila->FechaVenta))."'";
          $vendedor="'".strtoupper($fila->VendedorUsuario)."'";
          if($fila->AdeudoVenta>0)
          {
            $botonPago='<a href="#"  onClick="pagar('.$id.','.$folio.','.$cliente.','.$fecha.','.$vendedor.')" class="label label-primary"><span class="fa fa-hand-holding-usd"></a></span>';
          }else{
            $botonPago='';
          }
          $ventas[] = array(
                                $fila->folio, 
                                $fila->FolioVenta, 
                                $fila->ClienteVenta, 
                                date("d-m-Y H:i:s", strtotime($fila->FechaVenta)), 
                                $fila->TotalVentaGeneral, 
                                $fila->AbonoVenta,
                                $fila->AdeudoVenta,
                                $fila->VendedorUsuario, 
                                '<a href='.base_url().'pagos/franquiciatario/pagosF/mostrarventa/'.$fila->IdVentas.'/ class="label label-primary"><span class="glyphicon glyphicon-eye-open"></a></span> <a onclick= "if(Cancelar() == false) return false " href='.base_url().'pagos/franquiciatario/pagosF/cancelarventa/'.$fila->IdVentas.'/ class="label label-danger"><span class="glyphicon glyphicon-remove"></a></span> '.$botonPago,
                              );
        }
      }
      echo json_encode($ventas);
    }

    public function UltimasVentasRealizadas()
    {
      $fecha_actual = date("Y-m-d");
      $fecha = date("Y-m-d",strtotime($fecha_actual."- 15 days")); 
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas');
		  $this->db->where('Franquicias_IdFranquicias', $i);
      $this->db->where('EstatusV', 'ACTIVA');
      $this->db->where('FechaVenta >=', $fecha.' 00:00:00');
      $this->db->where('FechaVenta <=', $fecha_actual.' 23:59:59');
      $this->db->order_by("FechaVenta","desc");
      $query=$this->db->get();
      $res = $query->num_rows();
      $ventas=[];
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $id="'".$fila->IdVentas."'";
          $folio="'".$fila->folio."'";
          $cliente="'".strtoupper($fila->ClienteVenta)."'";
          $fecha="'".date("d-m-Y", strtotime($fila->FechaVenta))."'";
          $vendedor="'".strtoupper($fila->VendedorUsuario)."'";
          if($fila->AdeudoVenta>0)
          {
            $botonPago='<a href="#"  onClick="pagar('.$id.','.$folio.','.$cliente.','.$fecha.','.$vendedor.')" class="label label-primary btn_pagar"><span class="fa fa-hand-holding-usd"></a></span>';
          }else{
            $botonPago='';
          }
          $ventas[] = array(
                                $fila->folio, 
                                $fila->FolioVenta, 
                                $fila->ClienteVenta, 
                                date("d-m-Y H:i:s", strtotime($fila->FechaVenta)), 
                                $fila->TotalVentaGeneral, 
                                $fila->AbonoVenta,
                                $fila->AdeudoVenta,
                                $fila->VendedorUsuario, 
                                '<a href='.base_url().'pagos/franquiciatario/pagosF/mostrarventa/'.$fila->IdVentas.'/ class="label label-primary"><span class="glyphicon glyphicon-eye-open"></a></span> <a onclick= "if(Cancelar() == false) return false " href='.base_url().'pagos/franquiciatario/pagosF/cancelarventa/'.$fila->IdVentas.'/ class="label label-danger"><span class="glyphicon glyphicon-remove"></a></span> '.$botonPago,
                              );
        }
      }
      echo json_encode($ventas);
    }
    public function ObtenerAdeudos($id)
    {
      $adeudos=[];
      $adeudoProducto=$this->ObtenerAProductos($id);
      $adeudoServicioA=$this->ObtenerAServiciosA($id);
      $adeudoServicioG=$this->ObtenerAServiciosG($id);
      $adeudoPromocion=$this->ObtenerAPromociones($id);
      
      if($adeudoProducto != FALSE)
      {
        foreach($adeudoProducto as $fila)
        {
          if(number_format($fila->PiezasTotales) >= number_format($fila->PiezasP))
          {
            $checkbox='<input type="checkbox" name="productos[]" class="inputPago">';
          }else{
            $checkbox='<small class="error-ocurrido">No hay existencias suficientes</small>';
          }
          $adeudos[]=array(
            $checkbox,
            $fila->IdVentasProductos,
            $fila->productosfranquicias_IdProductosFranquicias,
            '1',
            $fila->NombreProducto,
            $fila->PiezasP,
            $fila->Adeudo,
            $fila->Adeudo,
            '2',
            '2',
            '',
          );
        }
      }
      if($adeudoServicioA != FALSE)
      {
        foreach($adeudoServicioA as $fila)
        {
          if($fila->Usuario2==NULL)
          {
            $pago='2';
          }elseif($fila->Usuario3==NULL)
          {
            $pago='3';
          }else{
            $pago='4';
          }
          if($fila->exhibiciones_IdExhibiciones<4)
          {
            $botonExhibicion='<a href="#"  onClick="masExhibicion(2,'.$fila->IdVentasServicios.')" class="label label-primary"><span class="glyphicon glyphicon-plus"></a></span>';
          }else{
            $botonExhibicion='';
          }
          $adeudos[]=array(
            '<input type="checkbox" name="servicios[]" class="inputPago">',
            $fila->IdVentasServicios,
            $fila->serviciosfranquicias_IdServiciosFranquicias,
            '2',
            $fila->NombreServicio,
            $fila->SesionesS,
            $fila->Adeudo,
            $fila->Adeudo,
            $fila->exhibiciones_IdExhibiciones.' '.$botonExhibicion,
            $pago,
            '',
          );
        }
      }
      if($adeudoServicioG != FALSE)
      {
        foreach($adeudoServicioG as $fila)
        {
          if($fila->Usuario2==NULL)
          {
            $pago='2';
          }elseif($fila->Usuario3==NULL)
          {
            $pago='3';
          }else{
            $pago='4';
          }
          if($fila->exhibiciones_IdExhibiciones<4)
          {
            $botonExhibicion='<a href="#"  onClick="masExhibicion(2,'.$fila->IdVentasServicios.')" class="label label-primary"><span class="glyphicon glyphicon-plus"></a></span>';
          }else{
            $botonExhibicion='';
          }
          $adeudos[]=array(
            '<input type="checkbox" name="servicios[]" class="inputPago">',
            $fila->IdVentasServicios,
            $fila->serviciosfranquicias_IdServiciosFranquicias,
            '2',
            $fila->NombreServicio,
            $fila->SesionesS,
            $fila->Adeudo,
            $fila->Adeudo,
            $fila->exhibiciones_IdExhibiciones.' '.$botonExhibicion,
            $pago,
            '',
          );
        }
      }
      if($adeudoPromocion != FALSE)
      {
        foreach($adeudoPromocion as $fila)
        {
          if($fila->Usuario2==NULL)
          {
            $pago='2';
          }elseif($fila->Usuario3==NULL)
          {
            $pago='3';
          }else{
            $pago='4';
          }
          if($fila->exhibiciones_IdExhibiciones<4)
          {
            $botonExhibicion='<a href="#"  onClick="masExhibicion(3,'.$fila->IdVentasPromociones.')" class="label label-primary"><span class="glyphicon glyphicon-plus"></a></span>';
          }else{
            $botonExhibicion='';
          }
          $adeudos[]=array(
            '<input type="checkbox" name="servicios[]" class="inputPago">',
            $fila->IdVentasPromociones,
            $fila->promociones_IdPromociones,
            '3',
            $fila->NombrePromocion,
            $fila->SesionesPr,
            $fila->Adeudo,
            $fila->Adeudo,
            $fila->exhibiciones_IdExhibiciones.' '.$botonExhibicion,
            $pago,
            '',
          );
        }
      }
      
      echo json_encode($adeudos);
    }
    public function ObtenerAProductos($id)
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas');
      $this->db->join('ventas_has_productosfranquicias','ventas_IdVentas = IdVentas','inner');
      $this->db->join('productosfranquicias','productosfranquicias_IdProductosFranquicias = IdProductosFranquicias','inner');
      $this->db->join('productosgenerales','ProductosGenerales_IdProductosGenerales = IdProductosGenerales','inner');
      $this->db->where('ventas.franquicias_IdFranquicias', $i);
      $this->db->where('ventas.IdVentas', $id);
      $this->db->where('ventas_has_productosfranquicias.Adeudo > 0');
      $query=$this->db->get();
      $res=$query->num_rows();
      if($res>0)
      {
        return $query->result();
      }
    }
    public function ObtenerAServiciosA($id)
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas_has_serviciosfranquicias');
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->join('serviciosfranquicias','ServiciosFranquicias_IdServiciosFranquicias = IdServiciosFranquicias','inner');
      $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales = IdServiciosGenerales','inner');
      $this->db->where('ventas.franquicias_IdFranquicias',$i);
      $this->db->where('ventas.IdVentas', $id);
      $this->db->where('Adeudo > 0');
      $query=$this->db->get();
      $res = $query->num_rows();
        if($res>0)
        {
          return $query->result();
        
        }
    }
    public function ObtenerAServiciosG($id)
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from(' ventas_has_serviciosfranquicias');
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->join('serviciosgenerales','ServiciosFranquicias_IdServiciosFranquicias = Codigo_Servicios','inner');
      $this->db->where('ventas.franquicias_IdFranquicias',$i);
      $this->db->where('ventas.IdVentas', $id);
      $this->db->where('Adeudo > 0');
      $query=$this->db->get();
      $res = $query->num_rows();
        if($res>0)
        {
          return $query->result();
        
        }
    }
    public function ObtenerAPromociones($id)
    {
      $data['Franquicias']=$this->pagosF_model->BuscarFranquicia();
      foreach ($data['Franquicias'] as $i => $Franquicias) 
      $this->db->select('*');
      $this->db->from('ventas_has_promociones');
      $this->db->join('promociones','IdPromociones = promociones_IdPromociones','inner');
      $this->db->join('ventas','ventas_IdVentas = IdVentas','inner');
      $this->db->where('ventas.franquicias_IdFranquicias', $i);
      $this->db->where('ventas.IdVentas', $id);
      $this->db->where('Adeudo > 0');
      $query=$this->db->get();
      $res = $query->num_rows();
        if($res>0)
        {
          return $query->result();
        
        }
    }
    public function aumentarExhibicion($id, $tipo)
    {
      if($tipo==2)
      {
        $sql = "UPDATE ventas_has_serviciosfranquicias SET exhibiciones_IdExhibiciones=(exhibiciones_IdExhibiciones+1) WHERE IdVentasServicios=".$id." AND exhibiciones_IdExhibiciones<4";
        $query=$this->db->query($sql);
        $resUpdate=$this->db->affected_rows();
        if($resUpdate==1)
        {
          echo json_encode('correcto');
        }
      }elseif($tipo==3)
      {
        $sql = "UPDATE ventas_has_promociones SET exhibiciones_IdExhibiciones=(exhibiciones_IdExhibiciones+1) WHERE IdVentasPromociones=".$id." AND exhibiciones_IdExhibiciones<4";
        $query=$this->db->query($sql);
        $resUpdate=$this->db->affected_rows();
        if($resUpdate==1)
        {
          echo json_encode('correcto');
        }
      }
            
    }
    public function ActualizarVenta($idVenta, $abono)
    {
      $this->db->select('*');
      $this->db->from('ventas');      
      $this->db->where('IdVentas', $idVenta);
      $query=$this->db->get();
      $res=$query->num_rows();
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $parametro['AbonoVenta']=$fila->AbonoVenta;
          $parametro['AdeudoVenta']=$fila->AdeudoVenta;
        }
          $data = array(
                          'AbonoVenta' => $parametro['AbonoVenta']+$abono,
                          'AdeudoVenta' => $parametro['AdeudoVenta']-$abono,
                          );
          $this->db->where('IdVentas', $idVenta);
          $this->db->update('ventas', $data);
          $res=$this->db->affected_rows();
          if($res==1)
          {
           return true;
          }
      }
    }
    public function ObtenerAdeudoP($id)
    {
      $this->db->select('*');
      $this->db->from('ventas_has_productosfranquicias');      
      $this->db->where('IdVentasProductos', $id);
      $query=$this->db->get();
      $res=$query->num_rows();
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $parametro['Abono']=$fila->Abono;
          $parametro['Adeudo']=$fila->Adeudo;
        }
          return $parametro;
      }
    }
    public function ObtenerAdeudoSe($id)
    {
      $this->db->select('*');
      $this->db->from('ventas_has_serviciosfranquicias');      
      $this->db->where('IdVentasServicios', $id);
      $query=$this->db->get();
      $res=$query->num_rows();
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $parametro['Abono']=$fila->Abono;
          $parametro['Adeudo']=$fila->Adeudo;
        }
          return $parametro;
      }
    }
    public function ObtenerAdeudoPr($id)
    {
      $this->db->select('*');
      $this->db->from('ventas_has_promociones');      
      $this->db->where('IdVentasPromociones', $id);
      $query=$this->db->get();
      $res=$query->num_rows();
      if($res>0)
      {
        foreach($query->result() as $fila)
        {
          $parametro['Abono']=$fila->Abono;
          $parametro['Adeudo']=$fila->Adeudo;
        }
          return $parametro;
      }
    }
    public function PagoProducto($id, $codigo, $datos, $piezas)
    {
      $data=array(
        'Fecha2' => $datos['Fecha'],
        'FolioVenta2' => $datos['FolioVenta'],
        'Contado2' => $datos['Contado'],
        'TipoTarjeta2'=> $datos['TipoTarjeta'],
        'CTarjeta2' => $datos['CantidadTarjeta'],
        'FolioTarjeta2' => $datos['FolioTarjeta'],
        'Usuario2' => $datos['Usuario'],
        'Adeudo' => $datos['Adeudo'],
        'Abono' => $datos['Abono']
         );
         $this->db->where('IdVentasProductos', $id);
         $this->db->update('ventas_has_productosfranquicias', $data);
         $res=$this->db->affected_rows();
         if($res==1)
         {
          $this->db->select('*');
          $this->db->from('productosfranquicias');
          $this->db->where('IdProductosFranquicias', $codigo);
          $query=$this->db->get();
          if($query->num_rows()==1)
          {
            foreach($query->result() as $fila)
            {
              $piezasT=$fila->PiezasTotales;
            }
            $piezasA=$piezasT-$piezas;
            $this->db->set('PiezasTotales', $piezasA);  //value that used to update column 
            $this->db->where('IdProductosFranquicias', $codigo); //which row want to upgrade  
            $this->db->update('productosfranquicias');  //table name
            $resUpdate=$this->db->affected_rows();
            if($resUpdate==1)
            {
              return true;
            }
          }
         }
     
    }

    public function PagoServicio($id, $datos, $pago)
    {
      if($pago==2)
      {
        $data=array(
          'Fecha2' => $datos['Fecha'],
          'FolioVenta2' => $datos['FolioVenta'],
          'Contado2' => $datos['Contado'],
          'TipoTarjeta2'=> $datos['TipoTarjeta'],
          'CTarjeta2' => $datos['CantidadTarjeta'],
          'FolioTarjeta2' => $datos['FolioTarjeta'],
          'Usuario2' => $datos['Usuario'],
          'Adeudo' => $datos['Adeudo'],
          'Abono' => $datos['Abono']
           );
      }elseif($pago==3)
      {
        $data=array(
          'Fecha3' => $datos['Fecha'],
          'FolioVenta3' => $datos['FolioVenta'],
          'Contado3' => $datos['Contado'],
          'TipoTarjeta3'=> $datos['TipoTarjeta'],
          'CTarjeta3' => $datos['CantidadTarjeta'],
          'FolioTarjeta3' => $datos['FolioTarjeta'],
          'Usuario3' => $datos['Usuario'],
          'Adeudo' => $datos['Adeudo'],
          'Abono' => $datos['Abono']
           );
      }elseif($pago==4)
      {
        $data=array(
          'Fecha4' => $datos['Fecha'],
          'FolioVenta4' => $datos['FolioVenta'],
          'Contado4' => $datos['Contado'],
          'TipoTarjeta4'=> $datos['TipoTarjeta'],
          'CTarjeta4' => $datos['CantidadTarjeta'],
          'FolioTarjeta4' => $datos['FolioTarjeta'],
          'Usuario4' => $datos['Usuario'],
          'Adeudo' => $datos['Adeudo'],
          'Abono' => $datos['Abono']
           );
      }
      $this->db->where('IdVentasServicios', $id);
      $this->db->update('ventas_has_serviciosfranquicias', $data);
      $res=$this->db->affected_rows();
      if($res==1)
      {
        return true;
      }
    }
   public function PagoPromocion($id, $datos, $pago)
    {
      if($pago==2)
      {
        $data=array(
          'Fecha2' => $datos['Fecha'],
          'FolioVenta2' => $datos['FolioVenta'],
          'Contado2' => $datos['Contado'],
          'TipoTarjeta2'=> $datos['TipoTarjeta'],
          'CTarjeta2' => $datos['CantidadTarjeta'],
          'FolioTarjeta2' => $datos['FolioTarjeta'],
          'Usuario2' => $datos['Usuario'],
          'Adeudo' => $datos['Adeudo'],
          'Abono' => $datos['Abono']
           );
      }elseif($pago==3)
      {
        $data=array(
          'Fecha3' => $datos['Fecha'],
          'FolioVenta3' => $datos['FolioVenta'],
          'Contado3' => $datos['Contado'],
          'TipoTarjeta3'=> $datos['TipoTarjeta'],
          'CTarjeta3' => $datos['CantidadTarjeta'],
          'FolioTarjeta3' => $datos['FolioTarjeta'],
          'Usuario3' => $datos['Usuario'],
          'Adeudo' => $datos['Adeudo'],
          'Abono' => $datos['Abono']
           );
      }elseif($pago==4)
      {
        $data=array(
          'Fecha4' => $datos['Fecha'],
          'FolioVenta4' => $datos['FolioVenta'],
          'Contado4' => $datos['Contado'],
          'TipoTarjeta4'=> $datos['TipoTarjeta'],
          'CTarjeta4' => $datos['CantidadTarjeta'],
          'FolioTarjeta4' => $datos['FolioTarjeta'],
          'Usuario4' => $datos['Usuario'],
          'Adeudo' => $datos['Adeudo'],
          'Abono' => $datos['Abono']
           );
      }
      $this->db->where('IdVentasPromociones', $id);
      $this->db->update('ventas_has_promociones', $data);
      $res=$this->db->affected_rows();
      if($res==1)
      {
        return true;
      }
  }

  //-------Funciones de actualización de folio------
  public function BuscarIdFranquicia(){
    $this->db->select('*');
    $this->db->from('usuarios');
    $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
    $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
    $query=$this->db->get();
      if ($query->num_rows() > 0) { 
       foreach($query->result() as $row) 
             return $row->IdFranquicias; }
 } 

  public function buscarFolio()
  {
    $franquicia=$this->BuscarIdFranquicia();
     $this->db->limit(1);
     $this->db->select('FolioVenta');
     $this->db->from('foliosventas');
     $this->db->where('franquicias_IdFranquicias',$franquicia);
     $this->db->order_by('IdFoliosVentas','DESC');
     $query = $this->db->get();
     if( $query->num_rows() > 0){
      return $query->result()[0]->FolioVenta;
     }
     else if ($query->num_rows() == 0){
      return 0;
     }
      else {
          return 0;
      }       
  }
  public function insertaFolio($folios)
  {
     $this->db->insert('foliosventas',$folios);
     $id=$this->db->insert_id();
     $res=$this->db->affected_rows();
     if($res>0)
        return $id;
     else
        return FALSE;
  }

}
