<?php
class CorteCaja_model extends CI_Model
{ 

  public function reporteIngresosM($inicio,$fin){
    $total = $this->BuscarVentasCompletasDetalle($inicio,$fin);
    return $total;
  }

  public function BuscarVentasCompletasDetalle($inicio,$fin){
    $data = [];
    $vendido = [];
     
        $i = 1;
    $total = $this->VentasGeneral($inicio,$fin);
    $numeroVentas = count($total->result());
    if($numeroVentas != null){

      if(count($total->result()) != null ){
      foreach($total->result() as $ventasGeneral) {
        $totalVendido = [];
        $vendido['productos'] = $this->BuscarDetalleProductos($ventasGeneral->IdVentas);
        $vendido['promociones'] = $this->BuscarDetallePromociones($ventasGeneral->IdVentas);
        $vendido['serviciosGenerales']  = $this->BuscarDetalleServiciosGenerales($ventasGeneral->IdVentas);
        $vendido['serviciosFranquicia'] = $this->BuscarDetalleServiciosFranquicia($ventasGeneral->IdVentas);


        // if($vendido['productos']   != null){
        //   $nombre = "Producto";
        //     foreach($vendido['productos']   as $productos) {
        //     $totalVendido[] = array(
        //                 $productos->NombreProducto,
        //                 $nombre,
        //                 );
        //   }
        // }
        // if($vendido['promociones']   != null){
        //   $nombre = "Promoción-Servicio";
        //     foreach($vendido['promociones']   as $promociones) {
        //     $totalVendido[] = array(
        //                 $promociones->NombrePromocion,
        //                 $nombre,
        //                 );
        //   }
        // }
        // if($vendido['serviciosGenerales']   != null){
        //     $nombre = "Servicio";
        //     foreach($vendido['serviciosGenerales']   as $serviciosGenerales) {
        //     $totalVendido[] = array(
        //                 $serviciosGenerales->NombreServicio,
        //                 $nombre,
        //                 );
        //   }
        // }
        //  if($vendido['serviciosFranquicia']   != null){
        //     $nombre = "Servicio";
        //     foreach($vendido['serviciosFranquicia']   as $serviciosFranquicia) {
        //     $totalVendido[] = array(
        //                 $serviciosFranquicia->NombreServicio,
        //                 $nombre,
        //                 );
        //   }
        // }
       
        // $vacio = "";
        //por cada venta buscar en productos servicios y Promociones para saber q vendio
      //   foreach($totalVendido as $cosasVendidas) {
      //   if($i==1){
      //     $data[] = array(
      //     $ventasGeneral->folio,
      //     $ventasGeneral->FechaVenta, 
      //     $ventasGeneral->ClienteVenta,
      //     $cosasVendidas[0],
      //     $ventasGeneral->FechaVenta,
      //     $ventasGeneral->VendedorUsuario,
      //     $ventasGeneral->Contado,
      //     $ventasGeneral->CantidadTarjetaUno,
      //     $ventasGeneral->TipoPagoUno,
      //     $cosasVendidas[1],
      //    );
      //   }
      //   else{
      //     $data[] = array(
      //     $ventasGeneral->folio,
      //     $ventasGeneral->FechaVenta, 
      //     $ventasGeneral->ClienteVenta,
      //     $cosasVendidas[0],
      //     $ventasGeneral->FechaVenta,
      //     $ventasGeneral->VendedorUsuario,
      //     $vacio,
      //     $vacio,
      //     $vacio,
      //     $cosasVendidas[1],
      //    );
      //   }
        
      //   $i++;
      // }
        $i = 1;
      }
    }
       return $data;
    }
    else{
      //no tiene Ventas
      return $data;
    }
   
  }

 //$hoy = date("Y-m-d h:i:s"); 

  public function VentasGeneral($inicio,$fin){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $idUsuario = $this->BuscarUsuario();
    $this->db->select("*");
    $this->db->where( 'FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where( 'FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
     $this->db->where('ventas.UsuarioLog',$idUsuario);
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas');
    $query = $this->db->get();  
    return $query;
  }


  public function BuscarDetalleProductos($folio){
    $this->db->select("*");
    $this->db->join('productosfranquicias','IdProductosFranquicias=productosfranquicias_IdProductosFranquicias','inner');
    $this->db->join('productosgenerales','IdProductosGenerales=ProductosGenerales_IdProductosGenerales','inner');
    $this->db->where( 'ventas_IdVentas', $folio);
    $this->db->from('ventas_has_productosfranquicias');
    $query = $this->db->get();
    return $query->result();
  }

  public function BuscarDetallePromociones($folio){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select("*");
    $this->db->join('promociones','IdPromociones=promociones_IdPromociones','inner');
   /* $this->db->where( 'Franquicias_IdFranquicias', $idFranquicia);*/
    $this->db->from('ventas_has_promociones');
    $this->db->where( 'ventas_IdVentas', $folio);
    $query = $this->db->get();
    return $query->result();
  }
  public function BuscarDetalleServiciosGenerales($folio){
    $this->db->select("*");
    $this->db->join('serviciosgenerales','Codigo_Servicios=serviciosfranquicias_IdServiciosFranquicias ','inner');
    
    /*$this->db->where( 'ventas_IdVentas', '82018-09-1311:03:06');*/
    $this->db->from('ventas_has_serviciosfranquicias');
    $this->db->where( 'ventas_IdVentas', $folio);

    $query = $this->db->get();
    return $query->result();
  }
   public function BuscarDetalleServiciosFranquicia($folio){
    $this->db->select("*");
    $this->db->join('serviciosfranquicias','IdServiciosFranquicias=serviciosfranquicias_IdServiciosFranquicias','inner');
    $this->db->join('serviciosgenerales','IdServiciosGenerales=ServiciosGenerales_IdServiciosGenerales','inner');
    $this->db->where( 'ventas_IdVentas', $folio);
    $this->db->from('ventas_has_serviciosfranquicias');
    $query = $this->db->get();
    return $query->result();
   }


  public function reportePagosServicios($inicio,$fin){
    $data = [];

    $data['F1'] = $this->reportePagosServiciosF($inicio,$fin,'Fecha1');
    $data['F2'] = $this->reportePagosServiciosF($inicio,$fin,'Fecha2');
    $data['F3'] = $this->reportePagosServiciosF($inicio,$fin,'Fecha3');
    $data['F4'] = $this->reportePagosServiciosF($inicio,$fin,'Fecha4');
    $data['F1G'] = $this->reportePagosServiciosGeneralesF($inicio,$fin,'Fecha1');
    $data['F2G'] = $this->reportePagosServiciosGeneralesF($inicio,$fin,'Fecha2');
    $data['F3G'] = $this->reportePagosServiciosGeneralesF($inicio,$fin,'Fecha3');
    $data['F4G'] = $this->reportePagosServiciosGeneralesF($inicio,$fin,'Fecha4');

    return $data;
  }

  public function reportePagosServiciosF($inicio,$fin, $fecha){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select("*");
    $this->db->join('ventas','IdVentas=ventas_idVentas','inner');
    $this->db->join('serviciosfranquicias','IdServiciosFranquicias=serviciosfranquicias_IdServiciosFranquicias','inner');
    $this->db->join('serviciosgenerales','IdServiciosGenerales=ServiciosGenerales_IdServiciosGenerales','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where( $fecha.'>=', $inicio.' 00:00:00');
    $this->db->where( $fecha.'<=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas_has_serviciosfranquicias');
    $query = $this->db->get();
    return $query;
  }

  public function reportePagosServiciosGeneralesF($inicio,$fin, $fecha){
    $idFranquicia =  $this->BuscarIdFranquicia();

    $this->db->select("*");
    $this->db->join('ventas','IdVentas=ventas_idVentas','inner');
    $this->db->join('serviciosgenerales','Codigo_Servicios=serviciosfranquicias_IdServiciosFranquicias ','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where( $fecha.'>=', $inicio.' 00:00:00');
    $this->db->where( $fecha.'<=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas_has_serviciosfranquicias');
    $query = $this->db->get();
    return $query;
      
  }


  public function reportePagosPromociones($inicio,$fin){
    $data = [];
    $data['F1'] = $this->reportePagosPromocionesF($inicio,$fin,'Fecha1');
    $data['F2'] = $this->reportePagosPromocionesF($inicio,$fin,'Fecha2');
    $data['F3'] = $this->reportePagosPromocionesF($inicio,$fin,'Fecha3');
    $data['F4'] = $this->reportePagosPromocionesF($inicio,$fin,'Fecha4');


    return $data;
  }


  public function reportePagosPromocionesF($inicio,$fin, $fecha){
    $idFranquicia =  $this->BuscarIdFranquicia();

    $this->db->select("*");
    $this->db->join('ventas','IdVentas=ventas_idVentas','inner');
    $this->db->join('promociones','IdPromociones=promociones_IdPromociones','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where( $fecha.'>=', $inicio.' 00:00:00');
    $this->db->where( $fecha.'<=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas_has_promociones');
    $query = $this->db->get();
    return $query;
      
  }



   public function reportePagosProductos($inicio,$fin){
    $data = [];
    $data['F1'] = $this->ProductosF($inicio,$fin,'Fecha1');
    $data['F2'] = $this->ProductosF($inicio,$fin,'Fecha2');
   /* $data['F3'] = $this->reportePagosProductosF($inicio,$fin,'Fecha3');*/
   /* $data['F4'] = $this->reportePagosProductosF($inicio,$fin,'Fecha4');*/


    return $data;
  }


  public function ProductosF($inicio,$fin, $fecha){
    $idFranquicia =  $this->BuscarIdFranquicia();

    $this->db->select("*");
    $this->db->join('ventas','IdVentas=ventas_idVentas','inner');
    $this->db->join('productosfranquicias','IdProductosFranquicias=productosfranquicias_IdProductosFranquicias','inner');
    $this->db->join('productosgenerales','IdProductosGenerales=ProductosGenerales_IdProductosGenerales','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where( $fecha.'>=', $inicio.' 00:00:00');
    $this->db->where( $fecha.'<=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas_has_productosfranquicias');
    $query = $this->db->get();
    return $query;
      
  }
 
   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 BuscarUsuario(){
     $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->UsuarioLog, ENT_QUOTES)] = htmlspecialchars($row->UsuarioLog, ENT_QUOTES); 
            $query->free_result(); 
            return $arrDatos; }
         }

}
?>
