<?php
class Ventas_Model extends CI_Model
{ 


   public function reporteVentasServFranquicias($inicio,$fin){
    /*echo json_encode($codigo);*/
      $data = [];
      $data['generales'] =  $this->BuscarServiciosGenerales($inicio,$fin);
      $data['franquicia'] = $this->BuscarServiciosFranquicia($inicio,$fin);
      return $data;
   }
  public function BuscarServiciosGenerales($inicio,$fin){
      $idFranquicia =  $this->BuscarIdFranquicia();
      /*$datosFranquicia = $this->BuscarDatosFranquicia();
      $datos = $datosFranquicia->result();*/
    $this->db->select("   ventas.IdVentas id,
                          ventas.folio folio,FolioVenta,
                          ClienteVenta nombreCliente,
                          VendedorUsuario vendedor,
                          Contado contado,
                          PropinaVenta propina,
                          IdVentasServicios idVentaServicios,
                          serviciosfranquicias_IdServiciosFranquicias servicioFranquicia,
                          SesionesS cantidad,
                          SubTotalS subtotalservicio,
                          DescuentoS descuento,
                          ventas_has_serviciosfranquicias.TotalPagar totalPagar,
                          ventas_has_serviciosfranquicias.Abono abonoServicio,
                          ventas_has_serviciosfranquicias.Adeudo adeudoServicio,
                          serviciosgenerales.NombreServicio nombreServicio,
                          ventas.FechaVenta fecha")  ;
    $this->db->join('ventas','IdVentas=ventas_idVentas','inner');
    $this->db->join('serviciosgenerales','serviciosfranquicias_IdServiciosFranquicias=Codigo_Servicios','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where('ventas.FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where('ventas.FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas_has_serviciosfranquicias');
       return $this->db->get();
 
   }

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

    $this->db->select("   ventas.IdVentas id,
                          ventas.folio folio,FolioVenta,
                          ClienteVenta nombreCliente,
                          VendedorUsuario vendedor,
                          Contado contado,
                          PropinaVenta propina,
                          IdVentasServicios idVentaServicios,
                          serviciosfranquicias_IdServiciosFranquicias servicioFranquicia,
                          SesionesS cantidad,
                          SubTotalS subtotalservicio,
                          DescuentoS descuento,
                          ventas_has_serviciosfranquicias.TotalPagar totalPagar,
                          ventas_has_serviciosfranquicias.Abono abonoServicio,
                          ventas_has_serviciosfranquicias.Adeudo adeudoServicio,
                          serviciosgenerales.NombreServicio nombreServicio,
                          ventas.FechaVenta fecha")  ;
    /*$this->db->select("*");*/
    $this->db->join('ventas','IdVentas=ventas_idVentas','inner');
    $this->db->join('serviciosfranquicias','IdServiciosFranquicias=serviciosfranquicias_IdServiciosFranquicias','inner');
    $this->db->join('serviciosgenerales','ServiciosGenerales_IdServiciosGenerales=IdServiciosGenerales','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where('ventas.FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where('ventas.FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas_has_serviciosfranquicias');
       return $this->db->get();
   }

  
  
  public function reporteVentasgeneral($inicio,$fin){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select("*");
    $this->db->from("ventas");
   /* $this->db->where("FechaVenta BETWEEN '$inicio 00:00:00' AND '$fin 23:59:59'");*/
    /*$this->db->like('FechaVenta', $inicio,'before');
    $this->db->like('FechaVenta', $fin,'before');*/
    $this->db->where('FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where('FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('EstatusV', 'ACTIVA');
    $this->db->where('franquicias_IdFranquicias', $idFranquicia);
   return $this->db->get();
  }
  public function reporteVentasgeneralSuma($inicio,$fin){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select("suma(AbonoVenta)");
    $this->db->from("ventas");
    $this->db->where('FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where('FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('franquicias_IdFranquicias', $idFranquicia);
   return $this->db->get();
  }


  public function reporteVentasPromociones($inicio,$fin){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select(" ventas_has_promociones.ventas_IdVentas id,
                        ventas.folio folio,FolioVenta,
                        ventas_has_promociones.SubTotalPr  subtotalPromo,
                        ventas_has_promociones.DescuentoPr descuento,
                        ventas_has_promociones.Adeudo adeudoPromo,
                        ventas_has_promociones.Abono  abonoPromo,
                        ventas_has_promociones.TotalPagar totalPagar,
                        ventas.VendedorUsuario vendedor,
                        ventas.FechaVenta fechaVenta,
                        SesionesPr cantidad,
                        promociones.NombrePromocion nombrePromo,
                        ventas.ClienteVenta cliente,
                        ")  ;
    /*$this->db->select("*");*/
    $this->db->join('ventas_has_promociones','ventas_IdVentas=IdVentas','inner');
    $this->db->join('promociones','IdPromociones=ventas_has_promociones.promociones_IdPromociones','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where('ventas.FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where('ventas.FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas');
       return $this->db->get();
  }




  public function reporteVentasProductos($inicio,$fin){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select(" 
                        ventas_has_productosfranquicias.ventas_IdVentas id,
                         ventas.folio folio,FolioVenta,
                        ventas_has_productosfranquicias.SubTotalP  subtotalProducto,
                        ventas_has_productosfranquicias.Adeudo adeudoProducto,
                        ventas_has_productosfranquicias.Abono  abonoProducto,
                        ventas_has_productosfranquicias.Descuento  descuento,
                        ventas_has_productosfranquicias.TotalPagar totalPagar,
                        ventas.VendedorUsuario vendedor,
                        ventas.FechaVenta fechaVenta,
                        PiezasP cantidad,
                        productosgenerales.NombreProducto nombreProducto,
                        ventas.ClienteVenta cliente,
                        ")  ;
    /*$this->db->select("*");*/
    $this->db->join('ventas_has_productosfranquicias','ventas_IdVentas=IdVentas','inner');
    $this->db->join('productosfranquicias','productosfranquicias.IdProductosFranquicias=ventas_has_productosfranquicias.productosfranquicias_IdProductosFranquicias','inner');
    $this->db->join('productosgenerales','IdProductosGenerales=ProductosGenerales_IdProductosGenerales','inner');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where('ventas.FechaVenta >=', $inicio.' 00:00:00');
    $this->db->where('ventas.FechaVenta <=', $fin.' 23:59:59');
    $this->db->where('ventas.EstatusV', 'ACTIVA');
    $this->db->from('ventas');
       return $this->db->get();
  }

  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 BuscarDatosFranquicia(){
     $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) { 
        return $query;
    } 
  }

   public function reporteVentasgeneralCanceladas($inicio,$fin){
    $idFranquicia =  $this->BuscarIdFranquicia();
    $this->db->select("*");
    $this->db->from("ventas");
    $this->db->where('FechaModificacion >=', $inicio.' 00:00:00');
    $this->db->where('FechaModificacion <=', $fin.' 23:59:59');
    $this->db->where('ventas.franquicias_IdFranquicias',$idFranquicia);
    $this->db->where('EstatusV', 'CANCELADA');
     return $this->db->get();
  }
}
?>
