<?php
class CajaC_models extends CI_Model { 
   //En este modelo se encuentran todas las consultas que se harán en diferentes tablas(Franquiciatario)
   public function __construct() {
      parent::__construct();
   }

   public function guardar($parametro,$productosDetalle,$fecha,$hora,$servicios,$promociones,$promosIns,$folioAutoincrementable){
    $campos=array(  
         'IdVentas' => $parametro['IdVentas'],
         'FolioVenta' => $parametro['FolioVenta'],
         'franquicias_IdFranquicias' => $parametro['franquicias_IdFranquicias'],
         'ClienteVenta' => $parametro['ClienteVenta'],
         'IdCliente' => $parametro['IdCliente'],
         'FechaVenta' => $parametro['FechaVenta'],
         'Subtotal' => $parametro['Subtotal'],
         'Iva' => $parametro['Iva'],
         'TotalVenta' => $parametro['TotalVenta'],
         'TotalVentaGeneral' => $parametro['TotalVentaGeneral'],
         'VendedorUsuario' => $parametro['VendedorUsuario'],
         'Comentario' => $parametro['Comentario'],
         'AbonoVenta' => $parametro['AbonoVenta'],
         'AdeudoVenta' => $parametro['AdeudoVenta'],
         'Contado' => $parametro['Contado'],
         'TipoPagoUno' => $parametro['TipoPagoUno'],
         'CantidadTarjetaUno' => $parametro['CantidadTarjetaUno'],
         'FolioTarjetaUno' => $parametro['FolioTarjetaUno'],
         'TipoPagoDos' => $parametro['TipoPagoDos'],
         'CantidadTarjetaDos' => $parametro['CantidadTarjetaDos'],
         'FolioTarjetaDos' => $parametro['FolioTarjetaDos'],
         'UsuarioPropina' => $parametro['UsuarioPropina'],
         'TipoPagoPropina' => $parametro['TipoPagoPropina'],
         'PropinaVenta' => $parametro['PropinaVenta'],
         'CTarjetaCredPro' => $parametro['CTarjetaCredPro'],
         'FolioCredPropina' => $parametro['FolioCredPropina'],
         'CTarjetaDebPro' => $parametro['CTarjetaDebPro'],
         'FolioDebPropina' => $parametro['FolioDebPropina'],
         'TotalPropina' => $parametro['TotalPropina'],
         'UsuarioLog' => $parametro['UsuarioLog'],
         'folio' => $parametro['folio'],
         'EstatusV' => 'ACTIVA',
         
            );
         $vendedor = $campos['VendedorUsuario'];
         $idFranquicia = $campos['franquicias_IdFranquicias'];
          $this->db->insert('ventas',$campos);
          $res=$this->db->affected_rows();

          //obteniendo el id de la venta
          $id = $this->obtenerIdVenta(); 

          $nuevaHora = $this->limpia_espacios($hora);
          $fechainsercion = $fecha." ".$nuevaHora;

          //si esta vacio alguno de los arrays
          if( !empty( $productosDetalle )){
            $detalle = $this->insertarDetalleVenta($productosDetalle,$fechainsercion,$parametro['IdVentas'], $parametro['FolioVenta'], $idFranquicia,$vendedor,$folioAutoincrementable);
            /*$update =  $this->actualizarStock($productosDetalle);*/
          }
          if ( !empty( $servicios ) ) {
            $dServicios = $this->insertarDetalleServicios($servicios,$fechainsercion,$parametro['IdVentas'], $parametro['FolioVenta'], $vendedor,$folioAutoincrementable);
          }
          if( !empty( $promociones )){
            $dpromociones = $this->insertarDetallePromociones($promociones,$fechainsercion,$parametro['IdVentas'], $parametro['FolioVenta'], $vendedor,$folioAutoincrementable);
            /*var_dump($dpromociones);*/
          }
          if( !empty( $promosIns )){
            $dpromocionesIns = $this->insertarDetallePromosIns($promosIns,$fechainsercion,$parametro['IdVentas'], $parametro['FolioVenta'], $vendedor,$folioAutoincrementable);
            /*var_dump($dpromocionesIns);*/
          }       

       /* if( $detalle == 0 && $dServicios == 0 && $dpromociones == 0 && $dpromocionesIns == 0 ){*/
           /* echo "<script>alert('No se registrarón los datos solicitados');</script>";*/
          /* return true;*/
       /*  }
         else {*/
                // echo "<script>alert('Venta exitosa, Datos guardados correctamente');</script>";
                // redirect('caja/Franquiciatario/cajaF','refresh');
             /*   return false;
        }*/
        }



   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 foliosVenta(){
        $franquicia = $this->BuscarIdFranquicia();
       $this->db->limit(1);
       $this->db->select('folio');
       $this->db->from('ventas');
       $this->db->where('franquicias_IdFranquicias',$franquicia);
       $this->db->order_by('FechaCreacion','DESC');
       $query = $this->db->get();
       if( $query->num_rows() > 0){
        return $query->result()[0]->folio;
       }
       else if ($query->num_rows() == 0){
        return 0;
       }
        else {
            return 0;
        }
     }   



   public function insertarDetallePromosIns($promosIns,$fecha,$id,$folio,$vendedor,$folioAutoincrementable){
    $i=0;
    date_default_timezone_set("America/Mexico_City");
        $idPromo ="";
    foreach ( $promosIns as $var ) {
        //$idPromo = $this->obtenerIdPromocionIns($var[1]);
        /*echo "IDPROMO ->".$i." ->".$idPromo;
        echo "<br>";*/
        $hoy = date("Y-m-d h:i:s");                   // 2001-03-10 12:16:18 (el formato DATETIME de MySQL)
                   
                $campos[$i]=array(  
                                 'ventas_IdVentas' => $id,
                                 'promociones_IdPromociones' =>( int ) $var[1],
                                 'Precio' =>( float ) $var[3],
                                 'SesionesPr' =>( int ) $var[4],
                                 'SubTotalPr' =>( float ) $var[5],
                                 'DescuentoPr' => $var[6],
                                 'ComentarioDesPr' => $var[7],
                                 'exhibiciones_IdExhibiciones' =>( int ) $var[8],
                                 'Abono' =>( float ) $var[9],
                                 'Adeudo' =>( float ) $var[10],
                                 'TotalPagar' => $var[13],
                                 'Contado1' => $var[14],
                                 'TipoTarjeta1' => $var[15],
                                 'TipoTarjeta1A' => $var[17],
                                 'CTarjeta1A' => $var[18],
                                 'CTarjeta1' => $var[16],
                                 'FolioPr' =>( string ) $var[11],
                                 'FechaCreacion' => $fecha,
                                 'FechaModificacion' => $hoy,
                                 'NombreCertificadoPr' => $var[12],
                                 'Fecha1' => $fecha,
                                 'FolioVenta1' => $folio,
                                 'Usuario1' => $vendedor,
                                 'folio' => $folioAutoincrementable,
                                 'folio2' => $folioAutoincrementable."-"."4".$var[0]."02",
                                 'folio3' => $folioAutoincrementable."-"."4".$var[0]."03",
                                 'folio4' => $folioAutoincrementable."-"."4".$var[0]."04"
                );
            $this->db->insert('ventas_has_promociones',$campos[$i]);
            $res=$this->db->affected_rows();
            /*var_dump($campos[$i]);*/
            $i++;

     }
        $res=$this->db->affected_rows();
        return $res; 
    } 

    public function insertarDetallePromociones($data,$fecha,$id,$folio,$vendedor,$folioAutoincrementable){
    $i=0;
    date_default_timezone_set("America/Mexico_City");
        $idPromo ="";
    foreach ( $data as $var ) {
       // $idPromo = $this->obtenerIdPromocion($var[1]);
       /* echo "IDPROMO ->".$i." ->".$idPromo;
        echo "<br>";*/
        $hoy = date("Y-m-d h:i:s");                   // 2001-03-10 12:16:18 (el formato DATETIME de MySQL)
                   
                $campos[$i]=array(  
                                 'ventas_IdVentas' => $id,
                                 'promociones_IdPromociones' =>( int ) $var[1],
                                 'Precio' =>( float ) $var[3],
                                 'SesionesPr' =>( int ) $var[4],
                                 'conteoDetalleVentas' =>( int ) $var[4],
                                 'SubTotalPr' =>( float ) $var[5],
                                 'DescuentoPr' => $var[6],
                                 'ComentarioDesPr' => $var[7],
                                 'exhibiciones_IdExhibiciones' =>( int ) $var[8],
                                 'Abono' =>( float ) $var[9],
                                 'Adeudo' =>( float ) $var[10],
                                 'FolioPr' =>( string ) $var[11],
                                 'FechaCreacion' => $fecha,
                                 'FechaModificacion' => $hoy,                                 
                                 'NombreCertificadoPr' => $var[12],
                                 'TotalPagar' => $var[13],
                                 'Contado1' => $var[14],
                                 'TipoTarjeta1' => $var[15],
                                 'CTarjeta1' => $var[16],
                                 'TipoTarjeta1A' => $var[17],
                                 'CTarjeta1A' => $var[18],
                                 'Fecha1' => $fecha,
                                 'FolioVenta1' => $folio,
                                 'Usuario1' => $vendedor,
                                 'folio' => $folioAutoincrementable,
                                 'folio2' => $folioAutoincrementable."-"."3".$var[0]."02",
                                 'folio3' => $folioAutoincrementable."-"."3".$var[0]."03",
                                 'folio4' => $folioAutoincrementable."-"."3".$var[0]."04"

                );
            $this->db->insert('ventas_has_promociones',$campos[$i]);
            $res=$this->db->affected_rows();
            /*var_dump($campos[$i]);*/
            $i++;

     }
        $res=$this->db->affected_rows();
        return $res; 
    } 



    //funcion para obtener el id de la promocion
    public function obtenerIdPromocion($folio){
       $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
       foreach ($data['Franquicias'] as $i => $Franquicias) 
       $this->db->select('IdPromociones');
       $this->db->from('promociones');
       $this->db->where('FolioPromocion',$folio);
       $this->db->where('Franquicias_IdFranquicias',$i);
       $query = $this->db->get();
       $res = $query->row();
       return $res->IdPromociones;
      
    }
    public function obtenerIdPromocionIns($folio){ 
    $data['Zona']=$this->cajaC_models->BuscarZona();
    foreach ($data['Zona'] as $i => $Zona) 
       $this->db->select('IdPromociones');
       $this->db->from('promociones');
       $this->db->where('FolioPromocion',$folio);
       $this->db->where('Zona_IdZona',$i);
       $query = $this->db->get();
       $res = $query->row();
       return $res->IdPromociones;
      
    }
    //funcion para obtener el id de la venta insertada
    public function obtenerIdVenta(){
        /*$query = $this->db->query('SELECT IdVentas FROM ventas ORDER BY IdVentas LIMIT 1');*/
      /* $this->db->select('IdVentas');
       $this->db->from('ventas');
       $this->db->where('FolioPromocion',$folio);
        $row = $query->row();
        return $row->IdVentas;*/
    }

    //Funcion para fuardar el detalle de la venta
    /*public function saveDetalleVenta($datos,$fecha,$hora,$id)
    {
        
        
        return $this->insertarDetalleVenta($datos,$fechainsercion,$id);
    }*/

    public function insertarDetalleVenta($data,$fecha,$id,$folio,$idFranquicia,$vendedor,$folioAutoincrementable){
    $i=0;
    date_default_timezone_set("America/Mexico_City");
    foreach ( $data as $var ) {

        $hoy = date("Y-m-d h:i:s");                   // 2001-03-10 12:16:18 (el formato DATETIME de MySQL)
                   
                $campos[$i]=array(  
                                 'ventas_IdVentas' => $id,
                                 'productosfranquicias_IdProductosFranquicias' => $var[1],
                                 'PiezasP' =>( int ) $var[5],
                                 'Precio' =>( float ) $var[3],
                                 'SubTotalP' =>( float ) $var[6],
                                 'Descuento' =>( float ) $var[8],
                                 'ExhibicionesProducto' =>( int ) $var[10],
                                 'Abono' =>( float ) $var[11],
                                 'Adeudo' =>( float ) $var[12],
                                 'TotalPagar' =>( float ) $var[13],
                                 'Contado1' => $var[14],
                                 'TipoTarjeta1' => $var[15],
                                 'CTarjeta1' => $var[16],
                                 'TipoTarjeta1A' => $var[17],
                                 'CTarjeta1A' => $var[18],
                                 'ComentarioDes' => $var[9],
                                 'FechaCreacion' => $fecha,
                                 'FechaModificacion' => $hoy,
                                 'Fecha1' => $fecha,
                                 'FolioVenta1' =>$folio, 
                                 'Usuario1' =>$vendedor,
                                 'folio' => $folioAutoincrementable,
                                 'folio2' => $folioAutoincrementable."-"."1".$var[0]."02"
                );
            $this->db->insert('ventas_has_productosfranquicias',$campos[$i]);
            $res=$this->db->affected_rows();
            

            $numPiezasActuales = $this->piezaActualesProducto($idFranquicia,$var[1]);

            //Validamos q el adeudo sea 0 y que ademas las piezas sean mayor a cero para hacer el update del stock
            if($var[12] == 0 && $numPiezasActuales > 0){
                $this->actualizarStock($numPiezasActuales,$var[5],$hoy,$idFranquicia,$var[1]);
            }
            $i++;
     }
        $res=$this->db->affected_rows();
       /* return $res;*/
    }

    public function actualizarStock($numPiezasActuales,$piezasPedidas,$hoy,$idFranquicia,$folio){
                $data = array(
                        'PiezasTotales' =>( int )  $numPiezasActuales-$piezasPedidas,
                        'FechaModificacion' => $hoy,
                     );
                $this->db->where('Franquicias_IdFranquicias', $idFranquicia);
                $this->db->where('IdProductosFranquicias', $folio);
                $this->db->update('productosfranquicias', $data);
                $res=$this->db->affected_rows();
                return $res;
    }

    public function piezaActualesProducto($id,$folio){
        $this->db->select('PiezasTotales');
       $this->db->from('productosfranquicias');
       $this->db->where('IdProductosFranquicias',$folio);
       $this->db->where('Franquicias_IdFranquicias',$id);
       $query = $this->db->get();
       $res = $query->row();
       return $res->PiezasTotales;
    }

    public function insertarDetalleServicios($data,$fecha,$id,$folio,$vendedor,$folioAutoincrementable){
    $i=0;
    date_default_timezone_set("America/Mexico_City");
    foreach ( $data as $var ) {

        $hoy = date("Y-m-d h:i:s");                   // 2001-03-10 12:16:18 (el formato DATETIME de MySQL)
                   
                $campos[$i]=array(  
                                 'ventas_IdVentas' => $id,
                                 'serviciosfranquicias_IdServiciosFranquicias' => $var[1],
								'serviciosfranquicias_NombreServicio' =>( string ) $var[2],
                                 'SesionesS' =>(int)$var[4],
                                 'conteoDetalleVentas' =>(int)$var[4],
                                 'Precio' =>( float ) $var[3],
                                 'SubTotalS' =>( float ) $var[5],
                                 'exhibiciones_IdExhibiciones' =>( int ) $var[9],
                                 'Abono' =>( float ) $var[10],
                                 'Adeudo' =>( float ) $var[11],
                                 'TotalPagar' => $var[14],
                                 'Contado1' => $var[15],
                                 'TipoTarjeta1' => $var[16],
                                 'CTarjeta1' => $var[17],
                                 'DescuentoS' =>( float )  $var[7],
                                 'TipoTarjeta1A' => $var[18],
                                 'CTarjeta1A' => $var[19],
                                 'ComentarioDesS' => $var[8],
                                 'NombreCertificadoS' => $var[13],
                                 'FolioC' => $var[12],
                                 'Fecha1' => $fecha,
                                 'FolioVenta1' => $folio,
                                 'Usuario1' =>$vendedor,
                                 'folio' => $folioAutoincrementable,
                                'folio2' => $folioAutoincrementable."-"."2".$var[0]."02",
                                'folio3' => $folioAutoincrementable."-"."2".$var[0]."03",
                                'folio4' => $folioAutoincrementable."-"."2".$var[0]."04"
                );
            /*var_dump($campos[$i]);*/
            $this->db->insert('ventas_has_serviciosfranquicias',$campos[$i]);
            $res=$this->db->affected_rows();
            $i++;
     }
        $res=$this->db->affected_rows();
        return $res;
    }



    function limpia_espacios($cadena){
    $cadena = str_replace(' ', '', $cadena);
    return $cadena;
    }

    public function BuscaCliente($id){
    $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
       $this->db->select('*');
       $this->db->where('Franquicias_IdFranquicias',$i);
       $this->db->where('IdClientes',$id);
       $this->db->order_by('NombreCliente','ASC');
       return $this->db->get('clientes')->result();
      
         }
    //Consulta que busca los clientes registrados en la franquicia a la que pertenece el ususario logueado
    public function BuscarCliente($title){
    $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias) 
       $this->db->select('*');
       $this->db->where('Franquicias_IdFranquicias',$i);
       $this->db->like('NombreCliente',$title);
       $this->db->order_by('NombreCliente','ASC');
       return $this->db->get('clientes')->result();
      
         }


   //Consulta que busca los productos registrados en la franquicia a la que pertenece el ususario logueado
   public function BuscarProducto($producto){
        
    $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias)
       $this->db->join('productosgenerales','ProductosGenerales_IdProductosGenerales=IdProductosGenerales','inner');
       $this->db->where("(tipoproducto_IdTipoProducto = '2' OR tipoproducto_IdTipoProducto ='3')");
       // $this->db->where('PiezasTotales >','0');
       $this->db->where('Franquicias_IdFranquicias',$i);
       $this->db->like('NombreProducto',$producto); 
       $this->db->order_by('NombreProducto',"ASC");
       return  $this->db->get('productosfranquicias')->result();
         $this->db->select('*');
        $this->db->from('serviciosfranquicias');
        $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales=IdServiciosGenerales','inner');
        $this->db->where('Franquicias_IdFranquicias',$i);
        $this->db->like('NombreServicio',$servicio);
        $this->db->order_by('NombreServicio','ASC');
        return $this->db->get()->result();

       
         }


         //Consulta que busca los servicios registrados en la franquicia a la que pertenece el ususario logueado
    public function BuscarServicio($servicio){
    $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias)
        $this->db->select('*');
        $this->db->from('serviciosfranquicias');
        $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales=IdServiciosGenerales','inner');
        $this->db->where('Franquicias_IdFranquicias',$i);
        $this->db->like('NombreServicio',$servicio);
        $this->db->order_by('NombreServicio','ASC');
        return $this->db->get()->result();
         }

   public function BuscarServicioG($servicioG){
      $data['Zona']=$this->cajaC_models->BuscarZona();
      foreach ($data['Zona'] as $i => $Zona) 
      $data['Modelo']=$this->cajaC_models->BuscarModelo();
      foreach ($data['Modelo'] as $j => $Modelo)
         $this->db->select('*');
         $this->db->from('serviciosgenerales');
         $this->db->where('Zona_IdZona',$i);
         $this->db->where('Modelo_IdModelo',$j);
         $this->db->WHERE("(TipoServicio_IdTipoServicio = '2' OR TipoServicio_IdTipoServicio = '3')");
         $this->db->like('NombreServicio',$servicioG);
         $this->db->order_by('NombreServicio','ASC');
         return $this->db->get()->result();

   }

   //Busca promocion Institucional
   public function BuscarPromociones(){
      $data['Zona']=$this->cajaC_models->BuscarZona();
      foreach ($data['Zona'] as $i => $Zona) 
         $this->db->where('Zona_IdZona',$i);
         $this->db->where("(tipopromocion_IdTipoPromocion = '1' OR tipopromocion_IdTipoPromocion ='3')");
         $this->db->where('Estatus','ACTIVA');
         $this->db->where('ClasePromocion','Servicio');
         $this->db->order_by('NombrePromocion',"ASC");
      return $this->db->get('promociones')->result();
   }

//Busca Promociones Franquicias
         //Consulta que busca las promociones registradas en la franquicia a la que pertenece el ususario logueado
    public function BuscarPromocion(){
        $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
        foreach ($data['Franquicias'] as $i => $Franquicias)
        // $data['Zona']=$this->cajaC_models->BuscarZona();
        // foreach ($data['Zona'] as $a => $Zona) 
        // $this->db->where("(Zona_IdZona= '".$a."' AND Franquicias_IdFranquicias = '".$i."')");
       $this->db->where('Franquicias_IdFranquicias',$i);
        $this->db->where('Estatus','ACTIVA');
        $this->db->order_by('NombrePromocion',"ASC");
        return $this->db->get('promociones')->result();
    }

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

    // $this->db->select('*');
    // $this->db->from('usuarios');
    // $this->db->where('Franquicias_IdFranquicias',$i);
    // $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 BuscarUsuario(){
    $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
    foreach ($data['Franquicias'] as $i => $Franquicias)

    $this->db->select('*');
    $this->db->from('usuarios');
    $this->db->where('Franquicias_IdFranquicias',$i);
    $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 BuscarUsuarios(){
            $data['Franquicias']=$this->cajaC_models->BuscarFranquicia();
            foreach ($data['Franquicias'] as $i => $Franquicias)
            $this->db->select('*');
            $this->db->from('usuarios');
            $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
           $this->db->where('Franquicias_IdFranquicias',$i);
           $this->db->where('Estatus', 'Activo');
         
           // $this->db->where('IdUsuarios',$this->session->userdata('IdUsuarios'));
            //$query = $this->db-> query('SELECT IdUsuarios,NombreUsuario FROM usuarios'); 
            $query=$this->db->get();
              if ($query->num_rows() > 0) { 
               foreach($query->result() as $row) 
                $arrDatos[htmlspecialchars($row->IdUsuarios, ENT_QUOTES)] = htmlspecialchars($row->NombreUsuario, ENT_QUOTES); 
                   $query->free_result(); 
                   return $arrDatos; }
                }
    public function BuscarUsuarioC(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $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->NombreUsuario, ENT_QUOTES)] = htmlspecialchars($row->NombreUsuario, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }



  
    //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; }
         }
    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;   
    }

     //Consulta que busca la franquicia a la que pertenece el usuario logueado 
     public function BuscarZona(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->join('zona','Zona_IdZona=IdZona','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->IdZona, ENT_QUOTES)] = htmlspecialchars($row->NombreZona, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

     //Consulta que busca la franquicia a la que pertenece el usuario logueado 
     public function BuscarPagos(){
     $this->db->select('*');
     $this->db->from('exhibiciones');
     $query=$this->db->get();
       if ($query->num_rows() > 0) { 
        foreach($query->result() as $row) 
         $arrDatos[htmlspecialchars($row->IdExhibiciones, ENT_QUOTES)] = htmlspecialchars($row->NombreEx, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

    public function BuscarContra(){
    $this->db->select('Contrasenia');
    $this->db->from('usuarios');
    $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->Contrasenia, ENT_QUOTES)] = htmlspecialchars($row->Contrasenia, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

    /*public function getIdFranquicia($numeroFranquicia){
    $this->db->select('Contrasenia');
    $this->db->from('usuarios');
    $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->Contrasenia, ENT_QUOTES)] = htmlspecialchars($row->Contrasenia, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

    }*/
     public function BuscarModelo(){
     $this->db->select('*');
     $this->db->from('usuarios');
     $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
     $this->db->join('modelo','Modelo_IdModelo=IdModelo','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->IdModelo, ENT_QUOTES)] = htmlspecialchars($row->IdModelo, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }
   public function BuscarCabina(){
      $i = $this->BuscarIdFranquicia();
      $this->db->select('*'); 
         $this->db->from('cabina');
      // $this->db->join('cabina','IdCabina=IdCabina','inner');
         $this->db->join('franquicias','Franquicias_IdFranquicias=IdFranquicias','inner');
         $this->db->where('Franquicias_IdFranquicias',$i);
         //$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->IdCabina, ENT_QUOTES)] = htmlspecialchars($row->NombreCabina, ENT_QUOTES); 
               $query->free_result(); 
               return $arrDatos; 
            }else{
   
            echo "<script>alert('No se ha encontrado niguna cabina asignada a su franquicia');
            window.location.href='".base_url()."acceso/acceso';
            </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;
      }

   }
 
   //  --------Funciones de actualización de folio---
   
   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;
   }

}

