<?php
class Reportes extends CI_Controller
{
	protected $_fechaActual;
	protected $_iduser;
	protected $_csstyle;
    protected $_tables;
    protected $_role;
	protected $idLicencia;
	protected $matriz;

	function __construct()
	{
		parent::__construct();

		if( ! $this->redux_auth->logged_in() )
		{
 			redirect(base_url().'login');
 		}
		
		$this->config->load('datatables', TRUE);
		$this->config->load('style', TRUE);
		$this->config->load('js',TRUE);
		
        $datestring   			= "%Y-%m-%d %H:%i:%s";
	    $this->_fechaActual 	= mdate($datestring,now());
		$this->_iduser 			= $this->session->userdata('id');
		$this->_role 			= $this->session->userdata('role');
		$this->_tables 			= $this->config->item('datatables');
		$this->_csstyle 		= $this->config->item('style');
        $this->_jss				= $this->config->item('js');

        $this->load->model("modelousuario","modelousuario");
	 	$this->load->model("compras_modelo","compras");
        $this->load->model("reportes_model","reportes");
		$this->load->model("bancos_model","bancos");
		$this->load->model("inventario_model","inventario");
		$this->load->model("modeloclientes","clientes");
		$this->load->model("proveedores_model","proveedores");
		$this->load->model("administracion_modelo","administracion");
		$this->load->model("modelo_configuracion","configuracion");
		$this->load->model("arreglos_modelo","arreglos");
		$this->load->model("facturacion_modelo","facturacion");
		$this->load->model("inventarioproductos_modelo","inventarioProductos");
		$this->load->model("ventas_model","ventas");
		
		
		
		$this->idLicencia 		= $this->session->userdata('idLicencia');
		$this->matriz 			= $this->session->userdata('matriz');
	}
	
	#========================================================================================================#
	#=========================================CRITERIOS DE ORDENANAMIENTO====================================#
	#========================================================================================================#
	
	public function ordenamientoVentas($criterio)
	{
		$this->session->set_userdata('criterioVentas',$criterio);
		
		redirect('reportes','refresh');
	}
	
	public function ordenamientoCompras($criterio)
	{
		$this->session->set_userdata('criterioCompras',$criterio);
		
		redirect('reportes/reportesCompras','refresh');
	}
	
	public function ordenamientoCobranza($criterio)
	{
		$this->session->set_userdata('criterioCobranza',$criterio);
		
		redirect('reportes/cobranza','refresh');
	}
	
	function descargarExcel($nombre)
	{
		$this->load->helper('download');
		
		$nombreFisico = $nombre.'.xls';
		$descarga = 'Ventas'.date('Y-m-d').'.xls';
		$data = file_get_contents("media/ficheros/$nombreFisico"); 

		force_download($descarga, $data); 
	}

	public function index($inicio='fecha',$fin='fecha',$idCliente=0,$idZona=0,$idVendedor=0,$idMecanico=0,$idCotizacion=0,$idFactura=0,$idLicencia=0,$limite=0)
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/ventas/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerVentas($limite=0)
	{
		$inicio			= $this->input->post('inicio');
		$fin			= $this->input->post('fin');
		$idZona			= $this->input->post('idZona');
		$idVendedor		= $this->input->post('idVendedor');
		$idMecanico		= $this->input->post('idMecanico');
		$idLicencia		= $this->input->post('idLicencia');
		$factura		= $this->input->post('factura');
		$cliente		= $this->input->post('cliente');
		$cotizacion		= $this->input->post('cotizacion');
		
		$idVendedor		= strlen($idVendedor)==0?0:$idVendedor;
		$idMecanico		= strlen($idMecanico)==0?0:$idMecanico;
		$idVendedorTienda		= $this->input->post('idVendedorTienda');
		
		$orden			= $this->input->post('orden');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerVentas/";
		$Pag["total_rows"]		= $this->reportes->contarVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		$Pag["uri_segment"]		= 3;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['clientes'] 		= $this->clientes->obtenerClientes();
		$data['ventas'] 		= $this->reportes->obtenerVentas($Pag["per_page"],$limite,$inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$orden,$idVendedorTienda);
		$data['totales'] 		= $this->reportes->sumarReporteVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		$data['ventasCredito']	= null;#$this->reportes->sumarVentasCredito($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		$data['canceladas'] 	= 0;#$this->reportes->sumarReporteVentasCanceladas($inicio,$fin,$idCliente,$idZona,$idUsuario);
		##$data['vendedores']		= $this->configuracion->obtenerVendedores();
		$data['usuarios']		= $this->configuracion->obtenerResponsablesReporte($idLicencia);
		
		$data['mecanicos']		= $this->configuracion->obtenerMecanicosReporte($idLicencia);
		$data['vendedores']		= $this->configuracion->obtenerVendedoresReporte($idLicencia);
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		
		$data['formas'] 		= $this->reportes->obtenerFormasPago($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		
		$data['limite'] 		= $limite+1;
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['cliente'] 		= $cliente;
		$data['idZona'] 		= $idZona;
		$data['idVendedor'] 	= $idVendedor;
		$data['idMecanico'] 	= $idMecanico;
		$data['cotizacion'] 	= $cotizacion;
		$data['factura'] 		= $factura;
		$data['idLicencia'] 	= $idLicencia;
		$data['orden'] 			= $orden;
		$data['idVendedorTienda'] 	= $idVendedorTienda;

		$this->load->view("reportes/ventas/obtenerVentas",$data); 
	}
	
	public function reporteVentas($inicio,$fin,$idZona,$idVendedor,$idMecanico,$idLicencia)
	{
		set_time_limit(0); 
		ini_set("memory_limit","1500M");
		
		$cliente		= $this->input->post('cliente');
		$cotizacion		= $this->input->post('cotizacion');
		$factura		= $this->input->post('factura');
		$idVendedorTienda		= $this->input->post('idVendedorTienda');
		
		$registros				= $this->reportes->contarVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);//Total de Registros
		
		if($registros>2000)
		{
			echo json_encode(array('0','Demasidos datos para procesar, favor de reducir el rango de fechas'));
			return;
		}
		
		$this->load->library('mpdf/mpdf');
		
		$orden					= $this->input->post('orden');
		$data['ventas'] 		= $this->reportes->obtenerVentas(0,0,$inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$orden,$idVendedorTienda);
		#$data['total'] 		= $this->reportes->sumarVentas($inicio,$fin,$idCliente,$idZona,$idUsuario);
		$data['totales'] 		= $this->reportes->sumarReporteVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		$data['formas'] 		= $this->reportes->obtenerFormasPago($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		$data['ventasCredito']	= $this->reportes->sumarVentasCredito($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		
		$data['canceladas'] 	= 0;#$this->reportes->sumarReporteVentasCanceladas($inicio,$fin,$idCliente,$idZona,$idUsuario);	
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['cliente'] 		= $cliente;
		$data['idZona'] 		= $idZona;
		$data['idVendedor'] 	= $idVendedor;
		$data['idMecanico'] 	= $idMecanico;
		$data['cotizacion'] 	= $cotizacion;
		$data['factura'] 		= $factura;
		$data['idLicencia'] 	= $idLicencia;
		$data['idVendedorTienda'] 	= $idVendedorTienda;
		$data['reporte']		= 'reportes/ventas/reporteVentas';

		$html			= $this->load->view('reportes/principal',$data,true);
		$pie			= $this->load->view('reportes/pie',$data,true);
		$cabecera		= $this->load->view('reportes/ventas/cabecera',$data,true);
		
		$this->mpdf->mPDF('en-x','Legal-L','','',2,2,40,10,2,0);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->SetHTMLHeader ($cabecera);
		$this->mpdf->SetHTMLHeader ($cabecera,'E');
		
		$this->mpdf->mirrorMargins 		= 1;
		$this->mpdf->useSubstitutions	= true; 
		$this->mpdf->simpleTables 		= true;
		$this->mpdf->packTableData 		= true;
		
		
		
		#$this->cacheTables 				= true;
		#$this->packTableData 			= true;    // required for cacheTables
		#$this->simpleTables 			= false;  // Cannot co-exist with cacheTables
		
		$this->mpdf->WriteHTML($html);
		
		
		
		#$this->mpdf->useOddEven = 1;
		/*$this->mpdf->AddPage();
		
		$cabecera		= $this->load->view('reportes/ventas/cabeza',$data,true);
		$html	= $this->load->view('reportes/ventas/formas',$data,true);
		
		$this->mpdf->SetHTMLHeader($cabecera);
		$this->mpdf->SetHTMLHeader($cabecera,'E');
		
		$this->mpdf->WriteHTML($html);*/
		
		$this->mpdf->Output('media/ficheros/reporteVentas.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte ventas','Reportes',''); //Registrar bitácora
		
		echo json_encode(array('1','reporteVentas'));
	}
	
	public function excelVentas($inicio,$fin,$idZona,$idVendedor,$idMecanico,$idLicencia)
	{
		$this->load->library('excel/PHPExcel');
		
		set_time_limit(0); 
		ini_set("memory_limit","1500M");
		
		$cliente			= $this->input->post('cliente');
		$cotizacion			= $this->input->post('cotizacion');
		$factura			= $this->input->post('factura');
		$idVendedorTienda	= $this->input->post('idVendedorTienda');
		$detalles			= $this->input->post('detalles');
		
		$registros				= $this->reportes->contarVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);//Total de Registros
		
		if($registros>2000)
		{
			echo json_encode(array('0','Demasidos datos para procesar, favor de reducir el rango de fechas'));
			return;
		}
		
		$orden					= $this->input->post('orden');
		$data['ventas'] 		= $this->reportes->obtenerVentas(0,0,$inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$orden,$idVendedorTienda);
		$data['totales'] 		= $this->reportes->sumarReporteVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		
		$data['formas'] 		= $this->reportes->obtenerFormasPago($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		$data['ventasCredito']	= $this->reportes->sumarVentasCredito($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['cliente'] 		= $cliente;
		$data['idZona'] 		= $idZona;
		$data['idVendedor'] 	= $idVendedor;
		$data['idMecanico'] 	= $idMecanico;
		$data['cotizacion'] 	= $cotizacion;
		$data['factura'] 		= $factura;
		$data['idLicencia'] 	= $idLicencia;
		$data['idVendedorTienda'] 	= $idVendedorTienda;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte ventas','Reportes',''); //Registrar bitácora
		
		$this->load->view('reportes/ventas/'.($detalles=='0'?'excelVentasSucursales':'excelVentasSucursalesDetalles'),$data);
	}
	
	public function comprasPDF()
	{
		$data['compras'] = $this->reportes->obtenerCompras(0,0);
		$data['reporte'] = 'reportes/compras';
		
		$this ->load->plugin('to_pdf');
		$html=$this->load->view('reportes/principal',$data,true);

		pdf_create ($html,'reporteCompras');
	}

	public function reportesCompras()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('14',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/compras/reporteCompras",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerCompras($limite=0)
	{
		$inicio			= $this->input->post('inicio');
		$fin			= $this->input->post('fin');
		$idProveedor	= $this->input->post('idProveedor');
		$idLicencia		= $this->input->post('idLicencia');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerCompras/";
		$Pag["total_rows"]		=$this->reportes->contarCompras($inicio,$fin,$idProveedor,$idLicencia);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('14',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['compras'] 		= $this->reportes->obtenerCompras($Pag["per_page"],$limite,$inicio,$fin,$idProveedor,$idLicencia);
		$data['limite']			= $limite+1;
		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idProveedor']	= $idProveedor;
		$data['idLicencia']		= $idLicencia;
		
		$this->load->view("reportes/compras/obtenerCompras", $data); 
	}
	
	public function reporteCompras($inicio,$fin,$idProveedor)
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte compras','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$this->load->library('mpdf/mpdf');

		$data['compras'] 		= $this->reportes->obtenerCompras(0,0,$inicio,$fin,$idProveedor,$idLicencia);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/compras/comprasPdf';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,30,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/compras.pdf','F');
		
		echo "compras";
	}

	public function excelCompras($inicio,$fin,$idProveedor)
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte compras','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		$data['compras']		= $this->reportes->obtenerCompras(0,0,$inicio,$fin,$idProveedor,$idLicencia);

		$this->load->view("reportes/compras/excelCompras", $data); 
	}
	
	//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	//COBRANZA 
	//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
	public function cobranza()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['jvalidate']		= $this->_jss['jvalidate'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('16',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['permisoVenta']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,2):1;
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/cobranza/cobranza",$data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerCobranza($limite=0)
	{
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$cliente				= $this->input->post('cliente');
		$idZona					= $this->input->post('idZona');
		$cotizacion				= $this->input->post('cotizacion');
		$factura				= $this->input->post('factura');
		$idLicencia				= $this->input->post('idLicencia');
		$idVendedor				= $this->input->post('idVendedor');
		
		if(strlen($inicio)==0 or strlen($fin)==0) $inicio='fecha';

		$Pag["base_url"]		= base_url()."reportes/obtenerCobranza/";
		$Pag["total_rows"]		= $this->reportes->contarCobranza($inicio,$fin,$cliente,$idZona,$cotizacion,$factura,$idVendedor,$idLicencia);
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		
		$this->pagination->initialize($Pag);
		
		
		$data['ventas'] 		= $this->reportes->obtenerVentasCobranza($inicio,$fin,$cliente,$idZona,$cotizacion,$factura,$idVendedor,$idLicencia,$Pag["per_page"],$limite);
		$data['vendedores']		= $this->configuracion->obtenerVendedoresReporte($idLicencia);
		$data['permisoVenta']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,2):1;
		$data['permiso']		= $this->configuracion->obtenerPermisosId('16',$this->session->userdata('rol'));
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		#$data['idCliente'] 		= $idCliente;
		$data['idZona'] 		= $idZona;
		#$data['idCotizacion'] 	= $idCotizacion;
		#$data['idFactura'] 		= $idFactura;
		$data['idVendedor'] 	= $idVendedor;
		$data['idLicencia'] 	= $idLicencia;
		$data['limite'] 		= $limite+1;

		$this->load->view("reportes/cobranza/obtenerCobranza",$data); //principal lista de clientes
	}
	
	public function reporteCobranza()
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$cliente				= $this->input->post('cliente');
		$idZona					= $this->input->post('idZona');
		$cotizacion				= $this->input->post('cotizacion');
		$factura				= $this->input->post('factura');
		$idLicencia				= $this->input->post('idLicencia');
		$idVendedor				= $this->input->post('idVendedor');
		
		if(strlen($inicio)==0 or strlen($fin)==0) $inicio='fecha';

		$data['ventas'] 		= $this->reportes->obtenerVentasCobranza($inicio,$fin,$cliente,$idZona,$cotizacion,$factura,$idVendedor,$idLicencia);
		#$data['totalCobranza'] 	= $this->reportes->sumarVentasCobranza($inicio,$fin,$idCliente,$idZona);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte']		= 'reportes/cobranza/reporteCobranza';

		$html	=$this->load->view('reportes/principal',$data,true);
		$pie	=$this->load->view('reportes/pie',$data,true);
		
		$this->mpdf->mPDF('en-x','Letter-L','','',5,5,34,10,2,0);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteCobranza.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte cobranza','Reportes',''); //Registrar bitácora
		
		echo 'reporteCobranza';
	}
	
	public function excelCobranza()
	{
		$this->load->library('excel/PHPExcel');
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$cliente				= $this->input->post('cliente');
		$idZona					= $this->input->post('idZona');
		$cotizacion				= $this->input->post('cotizacion');
		$factura				= $this->input->post('factura');
		$idLicencia				= $this->input->post('idLicencia');
		$idVendedor				= $this->input->post('idVendedor');
		
		if(strlen($inicio)==0 or strlen($fin)==0) $inicio='fecha';

		$data['ventas'] 		= $this->reportes->obtenerVentasCobranza($inicio,$fin,$cliente,$idZona,$cotizacion,$factura,$idVendedor,$idLicencia);
		#$data['totalCobranza'] 	= $this->reportes->sumarVentasCobranza($inicio,$fin,$idCliente,$idZona);
		
		$this->configuracion->registrarBitacora('Exportar excel reporte cobranza','Reportes',''); //Registrar bitácora
		
		$this->load->view('reportes/cobranza/excelCobranza',$data);
	}
	
	
	function busquedaCobranzaFechas()
	{
		$fechaInicio=$this->input->post('FechaDia');
		$fechaFin=$this->input->post('FechaDia2');
		
	 	$this->session->set_userdata('fechaInicioCobranza',$fechaInicio);
		$this->session->set_userdata('fechaFinCobranza',$fechaFin);
		
		$this->session->set_userdata('idClienteCobranza','');
		$this->session->set_userdata('idZonaCobranza','');
		
		redirect('reportes/cobranza','refresh');
	}
	
	function busquedaIdentificadorCobranza($idZona)
	{
		if($idZona=='todas')
		{
			$idZona="";
		}
		
		$idCliente="";
		
		$this->session->set_userdata('fechaInicioCobranza','');
		$this->session->set_userdata('fechaFinCobranza','');
	 	$this->session->set_userdata('idClienteCobranza',$idCliente);
		$this->session->set_userdata('idZonaCobranza',$idZona);

		redirect('reportes/cobranza','refresh');
	}
	
	function busquedaClienteVentasCobranza($idCliente)
	{
		if($idCliente=='todos')
		{
			$idCliente="";
		}
		
		$idZonaVenta="";
		
	 	$this->session->set_userdata('idClienteCobranza',$idCliente);
		$this->session->set_userdata('idZonaCobranza',$idZonaVenta);
		
		redirect('reportes/cobranza','refresh');
	}
	
	#--------------------------------BUSQUEDA PARA VENTAS------------------------------------#
	function busquedaFechaVentas($fecha)
	{
		if($fecha=='todas')
		{
			$fecha="";
		}
		
		$idCliente="";
		
	 	$this->session->set_userdata('idClienteVenta',$idCliente);
		$this->session->set_userdata('fechaVentaReporte',$fecha);
		$this->session->set_userdata('idIdentificadorVenta','');
		
		redirect('reportes/index','refresh');
	}
	
	function busquedaClienteVentas($idCliente)
	{
		if($idCliente=='todos')
		{
			$idCliente="";
		}
		
	 	$this->session->set_userdata('idClienteVenta',$idCliente);
		$this->session->set_userdata('idUsuarioVenta','');
		
		redirect('reportes/index','refresh');
	}
	
	function busquedaUsuarioVentas($idUsuario)
	{
		if($idUsuario=='todos')
		{
			$idUsuario="";
		}
		
	 	$this->session->set_userdata('idUsuarioVenta',$idUsuario);
		$this->session->set_userdata('idClienteVenta','');
		$this->session->set_userdata('fechaVentaReporte','');
		
		redirect('reportes/index','refresh');
	}
	
	function busquedaIdentificadorVentas($identificador)
	{
		if($identificador=='todos')
		{
			$identificador="";
		}
		
	 	$this->session->set_userdata('idIdentificadorVenta',$identificador);
		$this->session->set_userdata('idClienteVenta','');
		$this->session->set_userdata('fechaVentaReporte','');
		
		redirect('reportes/index','refresh');
	}
	
	function busquedaProductosVentas($idProducto)
	{
		if($idProducto=='todos')
		{
			$idProducto="";
		}
		
		$this->session->set_userdata('idProductoVenta',$idProducto);
	 	$this->session->set_userdata('idIdentificadorVenta','');
		$this->session->set_userdata('idClienteVenta','');
		$this->session->set_userdata('fechaVentaReporte','');
		
		redirect('reportes/productosVentas','refresh');
	}
	
	function productosVentas($Limite=0)
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['jFicha_cliente']	=$this->_jss['jFicha_cliente'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='reporteVentas'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$Pag["base_url"]		= base_url()."reportes/productosVentas/";
		$Pag["total_rows"]		=$this->reportes->contarVentasProducto();//Total de Registros
		$Pag["per_page"]		=20;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['clientes'] = $this->clientes->obtenerClientes();
		$data['ventas'] = $this->reportes->obtenerVentasProducto($Pag["per_page"],$Limite);

		$this->load->view("reportes/reporteProductos",$data); 
		$this->load->view("pie", $Data);
	}
	#----------------------------------------------------------------------------------------#

	function busquedaFolioFactura($folio)
	{
		 $idCliente="";
		 $inicio="";
		 $fin="";
		 
		 $this->session->set_userdata('idClienteFactura',$idCliente);
		 $this->session->set_userdata('inicioFactura',$inicio);
	  	 $this->session->set_userdata('finFactura',$fin);
		 $this->session->set_userdata('busquedaFolio',$folio);
		 
		 redirect('reportes/obtenerFacturas','refresh');
	 }

	function busquedaCliente($idCliente)
	{
		if($idCliente=='nada')
		{
			$idCliente="";
		}
		
		$inicio="";
		$fin="";
		$folio="";
		
	 	$this->session->set_userdata('idClienteFactura',$idCliente);
		$this->session->set_userdata('busquedaFolio',$folio);
		$this->session->set_userdata('inicioFactura',$inicio);
		$this->session->set_userdata('finFactura',$fin);
		
		redirect('reportes/obtenerFacturas','refresh');
	}
	
	function busquedaFacturaFechas($inicio,$fin)
	{
		 $idCliente="";
		 $folio="";
		 
		 $this->session->set_userdata('idClienteFactura',$idCliente);
		 $this->session->set_userdata('inicioFactura',$inicio);
	  	 $this->session->set_userdata('finFactura',$fin);
		 $this->session->set_userdata('busquedaFolio',$folio);
		 
		 redirect('reportes/obtenerFacturas','refresh');
	 }

	public function descargarExcelReportes($fichero,$reporte)
	{
		$this->load->helper('download');
		
		$nombreFisico 	= $fichero.'.xls';
		$descarga 		= $reporte.'_'.date('Y-m-d').'.xls';
		$data 			= file_get_contents("media/ficheros/$nombreFisico"); 

		force_download($descarga, $data); 
	}
	
	public function descargarCsv($fichero,$reporte)
	{
		$this->load->helper('download');
		
		$nombreFisico 	= $fichero.'.csv';
		$descarga 		= $reporte.'_'.date('Y-m-d').'.csv';
		$data 			= file_get_contents("media/ficheros/$nombreFisico"); 

		force_download($descarga, $data); 
	}

	public function ingresos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['jvalidate']		= $this->_jss['jvalidate'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('21',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']		= $this->bancos->obtenerCuentas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/ingresos/ingresos", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerIngresos($limite=0)
	{
		$inicio				=$this->input->post('inicio');
		$fin				=$this->input->post('fin');
		$idCuenta			=$this->input->post('idCuenta');
		$idDepartamento		=$this->input->post('idDepartamento');
		$idProducto			=$this->input->post('idProducto');
		$idGasto			=$this->input->post('idGasto');
		$idCliente			=$this->input->post('idCliente');
		$idDepartamento		=strlen($idDepartamento)==0?0:$idDepartamento;
		$idProducto			=strlen($idProducto)==0?0:$idProducto;
		$idGasto			=strlen($idGasto)==0?0:$idGasto;
		$idForma			=$this->input->post('idForma');
		$idForma			=strlen($idForma)>0?$idForma:'0';
		
		$idLicencia			= $this->input->post('idLicencia');
		
		//-----------------------------PAGINACION--------------------------------------
		$paginacion["base_url"]		= base_url()."reportes/obtenerIngresos/";
		$paginacion["total_rows"]	=$this->reportes->contarIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,$idLicencia);
		$paginacion["per_page"]		=50;
		$paginacion["num_links"]	=5;
		
		$this->pagination->initialize($paginacion);
		$data['permiso']			=$this->configuracion->obtenerPermisosId('21',$this->session->userdata('rol'));

		$data['departamentos'] 		= $this->administracion->obtenerDepartamentos();
		$data['productos'] 			= $this->administracion->obtenerProductos();
		$data['gastos'] 			= $this->administracion->obtenerTipoGasto();
		$data['ingresos'] 			= $this->reportes->obtenerIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,$paginacion["per_page"],$limite,$idLicencia);
		$data['sumaIngresos'] 		= $this->reportes->sumarIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,$idLicencia);
		$data['formas'] 			= $this->configuracion->obtenerFormas();
		
		$data['inicio'] 			= $inicio;
		$data['fin'] 				= $fin;
		$data['idCuenta'] 			= $idCuenta;
		$data['idDepartamento'] 	= $idDepartamento;
		$data['idProducto'] 		= $idProducto;
		$data['idGasto'] 			= $idGasto;
		$data['idCliente'] 			= $idCliente;
		$data['idForma'] 			= $idForma;
		
		$this->load->view('reportes/ingresos/obtenerIngresos',$data);
	}
	
	public function reporteIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente)
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte ingresos','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$idLicencia				= $this->input->post('idLicencia');

		$data['ingresos'] 		= $this->reportes->obtenerIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,0,0,$idLicencia);
		$data['sumaIngresos'] 	= $this->reportes->sumarIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,$idLicencia);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['responsable'] 	= $this->reportes->obtenerResponsable();
		$data['reporte'] 		= 'reportes/ingresos/reporteIngresos';

		$html=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter-L','','',3,3,48,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteIngresos.pdf','F');
		
		echo 'reporteIngresos';
	}
	
	//EL EXCEL DE LOS INGRESOS
	public function excelIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente)
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte ingresos','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$data['sumaIngresos']	= $this->reportes->sumarIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,$idLicencia);
		$data['ingresos']		=$this->reportes->obtenerIngresos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idCliente,0,0,$idLicencia);

		$this->load->view("reportes/ingresos/excelIngresos", $data);
	}


	public function egresos($limite=0)
	{
		$Data['title'] = "Panel de Administración";
		$Data['cassadmin'] = $this->_csstyle["cassadmin"];
		$Data['csmenu'] = $this->_csstyle["csmenu"];
		$Data['csvalidate'] = $this->_csstyle["csvalidate"];
		$Data['csui'] = $this->_csstyle["csui"];
		$Data['nameusuario'] = $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] = $this->_fechaActual;
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['jvalidate']=$this->_jss['jvalidate'];
		$Data['permisos']=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']=$this->_jss['jquerycal'];
		$Data['menuActivo']='egresos'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		//-----------------------------PAGINACION--------------------------------------
		$paginacion["base_url"]		= base_url()."reportes/egresos/";
		$paginacion["total_rows"]	=$this->reportes->contarEgresos();//Total de Registros
		$paginacion["per_page"]		=20;
		$paginacion["num_links"]	=5;
		
		$this->pagination->initialize($paginacion);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('12',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['proveedores']	= $this->inventario->proveedores();
		$data['egresos'] 		= $this->reportes->obtenerEgresos($paginacion["per_page"],$limite);
		$data['bancos'] 		= $this->bancos->obtenerBancos();
		
		$this->load->view("reportes/egresos", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}

	public function egresosPDF()
	{
		$data['egresos'] = $this->reportes->obtenerEgresos(0,0);
		$data['reporte'] = 'reportes/pdfEgresos';
				
		$this ->load->plugin('to_pdf');
		$html=$this->load->view('reportes/principal',$data,true);

		pdf_create ($html,'reporteEgresos');
	}
	
	function busquedaFechas()
	{
		 $inicio=$this->input->post('FechaDia');
		 $fin=$this->input->post('FechaDia2');
		 
		 $idProveedor="";
		 
		 $this->session->set_userdata('proveedorReporte',$idProveedor);
		 $this->session->set_userdata('fechaInicio',$inicio);
	  	 $this->session->set_userdata('fechaFin',$fin);
		 
		 redirect('reportes/reportesCompras','refresh');
	 }

	function busquedaIngresoFechas()
	{
		if (!empty($_POST))
		{
			$inicio=$this->input->post('FechaDia');
			$fin=$this->input->post('FechaDia2');
			$banco=$this->input->post('cuentasBanco');
			
			$this->session->set_userdata('ingresoInicio',$inicio);
			$this->session->set_userdata('ingresoFin',$fin);
			$this->session->set_userdata('bancoIngreso',$banco);
			 
			redirect('reportes/ingresos','refresh');
		}
		else
		{
			$inicio="";
			$fin="";
			$banco="0";
			
			$this->session->set_userdata('ingresoInicio',$inicio);
			$this->session->set_userdata('ingresoFin',$fin);
			$this->session->set_userdata('bancoIngreso',$banco);
			 
			redirect('reportes/ingresos','refresh');
		}
	}

	function busquedaEgresoFechas()
	{
		if (!empty($_POST))
		{
			$inicio=$this->input->post('FechaDia');
			$fin=$this->input->post('FechaDia2');
			$banco=$this->input->post('cuentasBanco');
			
			$this->session->set_userdata('egresoInicio',$inicio);
			$this->session->set_userdata('egresoFin',$fin);
			$this->session->set_userdata('cuentasBanco',$banco);
			 
			redirect('reportes/egresos','refresh');
		}
		else
		{
			$inicio="";
			$fin="";
			$banco='0';
			
			$this->session->set_userdata('egresoInicio',$inicio);
			$this->session->set_userdata('egresoFin',$fin);
			$this->session->set_userdata('cuentasBanco',$banco);
			 
			redirect('reportes/egresos','refresh');
		}
	}
	
	function busquedaProveedor($idProveedor=0)
	{
		$idProveedor	=$idProveedor==0?'':$idProveedor;
		
		$inicio	="";
		$fin	="";
		
		$this->session->set_userdata('fechaInicio',$inicio);
		$this->session->set_userdata('fechaFin',$fin);
		$this->session->set_userdata('proveedorReporte',$idProveedor);
		
		redirect('reportes/reportesCompras','refresh');
	}
	
	public function nomina($limite=0)
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['permiso']=$this->configuracion->obtenerPermisosId('38',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $this->idLicencia;
		
		$this->load->view("reportes/nomina/index", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerNomina($limite=0)
	{
		$inicio				= $this->input->post('inicio');
		$fin				= $this->input->post('fin');
		$criterio			= $this->input->post('criterio');
		$idLicencia			= $this->input->post('idLicencia');
		
		$data['permiso']	= $this->configuracion->obtenerPermisosId('38',$this->session->userdata('rol'));
		
		$paginacion["base_url"]		= base_url()."reportes/obtenerNomina/";
		$paginacion["total_rows"]	=$this->reportes->contarNomina($idLicencia,$criterio);
		$paginacion["per_page"]		=20;
		$paginacion["num_links"]	=5;
		
		$this->pagination->initialize($paginacion);
		
		$dias				= $this->reportes->obtenerDias($inicio,$fin);
		$dias++;
		$data['personal'] 	= $this->reportes->obtenerNomina($paginacion["per_page"],$limite,$criterio,$idLicencia);
		$data['dias'] 		= $dias;
		$data['inicio'] 	= $inicio;
		$data['fin'] 		= $fin;
		$data['criterio'] 	= $criterio;
		$data['idLicencia'] = $idLicencia;
		$data['limite'] 	= $limite;
		
		$this->load->view("reportes/nomina/obtenerNomina", $data);
	}
	
	public function reporteNomina($inicio,$fin,$idPersonal=0,$idLicencia=0)
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte nómina','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['personal'] 	= $this->reportes->obtenerNominaPersonal($idPersonal,$idLicencia);
		$data['inicio'] 	= $inicio;
		$data['fin'] 		= $fin;
		$data['reporte'] 	= 'reportes/nomina/reporteNomina';

		$html=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,30,47,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function pagarNomina()
	{
		if(!empty($_POST))
		{
			$nomina	=$this->administracion->pagarNomina();
			echo $nomina;
		}
	}
	
	public function formularioNomina()
	{
		$idPersonal =$this->input->post('idPersonal');
		$dias 		=$this->input->post('dias');
		$bancos		=$this->bancos->obtenerBancos();
		$personal	=$this->administracion->obtenerRegistroPersonal($idPersonal);
		
		$departamentos	=$this->administracion->obtenerDepartamentos();
		$nombres		=$this->administracion->obtenerNombres();
		$productos		=$this->administracion->obtenerProductos();
		$gastos			=$this->administracion->obtenerTipoGasto();
		
		echo '<div class="ui-state-error" ></div>';
		echo'
		<input type="hidden" id="txtIdPersonal" value="'.$idPersonal.'" />
		<table class="admintable" width="100%">
			<tr>
				<td class="key">Fecha:</td>
				<td>
					<input type="text" class="cajas" id="txtFechaEngreso" value="'.date('Y-m-d H:i').'" readonly="readonly" />
					<script>
						$("#txtFechaEngreso").timepicker();
					</script>
				</td>
			</tr>
			
			<tr>
				<td class="key">Concepto:</td>
				<td>
					<div id="obtenerProductos" style="float:left; width:300px">
						<select class="cajas" id="selectProductos" style="width:290px">
							<option value="0">Seleccione</option>';
						
							foreach($productos as $row)	
							{
								echo '<option value="'.$row->idProducto.'">'.$row->nombre.'</option>';
							}
						echo'
						</select>
					</div>
					
					<!--img id="btnProductos" src="'.base_url().'img/agregar.png" width="20" title="Agregar producto" height="20" /-->
					<script>
					$("#btnProductos").click(function(e)
					{
						formularioProductos();
						$("#ventanaFormularioProductos").dialog("open");
					});
					</script>

					<br />
					<br />

					<!--input type="checkbox" id="chkCajaChica" /> <label>¿Es caja chica?</label-->
				</td>
			</tr>
			<tr>
				<td class="key">Importe:</td>
				<td>
					<input type="text" class="cajas" id="txtImporte" readonly="readonly" value="'.round($personal->salario*$dias).'"/>
				</td>
			</tr>
			<tr>
				<td class="key">Iva:</td>
				<td>
					&nbsp;&nbsp;
					<input type="checkbox" id="chkIva" />
					<input readonly="readonly" type="hidden" style="width:100px" class="cajas" value="0" id="txtIva" />
				</td>
			</tr>
			
			<tr>
				<td class="key">Descripción del producto:</td>
				<td>
					<input type="text" class="cajas" id="txtDescripcionProducto" name="txtDescripcionProducto" style="width:250px" value="'.$personal->nombre.'" />
					
				</td>
			</tr>
			
			<tr>
				<td class="key">Departamento:</td>
				<td>
					<div id="obtenerDepartamentos" style="float:left; width:300px">
						<select class="cajas" id="selectDepartamento" style="width:290px">
							<option value="'.$personal->idDepartamento.'">'.$personal->departamento.'</option>
						</select>
					</div>
					<!--img id="btnDepartamentos" src="'.base_url().'img/agregar.png" width="20" title="Agregar departamento" height="20" /-->
					
					<script>
					$("#btnDepartamentos").click(function(e)
					{
						formularioDepartamentos();
						$("#ventanaFormularioDepartamentos").dialog("open");
					});
					</script>
				</td>
			</tr>
			<tr>
				<td class="key">Tipo:</td>
				<td>
					<div id="obtenerTipoGasto" style="float:left; width:300px">
						<select class="cajas" id="selectTipoGasto" style="width:290px">
							<option value="0">Seleccione</option>';
							foreach($gastos as $row)	
							{
								echo '<option value="'.$row->idGasto.'">'.$row->nombre.'</option>';
							}
							
						echo'
						</select>
					</div>
					<!--img id="btnTipoGasto" src="'.base_url().'img/agregar.png" width="20" title="Agregar Tipo de gasto" height="20" /-->
					<script>
					$("#btnTipoGasto").click(function(e)
					{
						formularioTipoGastos();
						$("#ventanaFormularioGastos").dialog("open");
					});
					</script>
				</td>
			</tr>
			
			<tr>
				<td class="key">Forma de pago:</td>
				<td>
					<select id="selectTipoPago" name="selectTipoPago" class="cajas" style="width:120px;" onchange="opcionesCuenta()">
						<option value="Efectivo">Efectivo</option>
						<option value="Cheque">Cheque</option>
						<option value="Transferencia">Transferencia</option>
						
					</select>   
				</td>
			</tr>
			
			<tr style="display:none" id="contenedorNombres">
				<td class="key">Paguese por este documento a:</td>
				<td>
					<div id="obtenerNombres" style="float:left; width:300px">

						<select class="cajas" id="selectNombres" style="width:290px">
							<option value="0">Seleccione</option>';
						
						foreach($nombres as $row)	
						{
							echo '<option value="'.$row->idNombre.'">'.$row->nombre.'</option>';
						}
							
						echo'
						</select>
					</div>
					<!--img id="btnNombres" src="'.base_url().'img/agregar.png" width="20" title="Agregar nombre" height="20" /-->
					<script>
					$("#btnNombres").click(function(e)
					{
						formularioNombres();
						$("#ventanaFormularioNombres").dialog("open");
					});
					</script>
				</td>
			</tr>
			
			<tr style="display:none;" id="filaCheques">
				<td class="key">Número cheque:</td>
				<td>
					<input type="text" class="cajas" id="txtNumeroCheque" name="txtNumeroCheque" />   
				</td>
			</tr>
			
			<tr style="display:none;" id="filaTransferencia">
				<td class="key">Número Transferencia:</td>
				<td>
					<input type="text" class="cajas" id="txtNumeroTransferencia" name="txtNumeroTransferencia" />
				</td>
			</tr>
			
			<tr style="display:none;" id="filaNombre">
				<td class="key">Nombre del receptor:</td>
				<td>
					<input type="text" class="cajas" id="txtNombreReceptor" name="txtNombreReceptor" />
				</td>
			</tr>
			
			<tr>
			<td class="key">Banco:</td>
			<td> 
			 <select id="selectBancos" name="selectBancos" class="cajas" style="width:auto;" onchange="obtenerCuentas()" >
				<option value="0">Seleccione</option>';

				   foreach($bancos as $row)
				   {
					   print('<option value="'.$row->idBanco.'" >'.$row->nombre.'</option>');
				   }
				 
				echo'
                </select>
			</td>
		</tr>
		<tr>
			<td class="key">Cuenta:</td>
			<td id="filaCuenta">
				<select id="selectCuentas" name="selectCuentas" class="cajas" style="width:200px;" >
				 <option value="0">Seleccione</option>
				</select>
			</td>     
		</tr>
			
			<tr>
				<td class="key">Comentarios:</td>
				<td>
					<textarea class="TextArea" id="txtComentarios" style="height:35px; width:290px"></textarea>
				</td>     
			</tr>
		</table>';
	}

	public function gastos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('30',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']		= $this->bancos->obtenerCuentas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/gastos/gastos", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerGastos($limite=0)
	{
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idCuenta					= $this->input->post('idCuenta');
		$idDepartamento				= $this->input->post('idDepartamento');
		$idProducto					= $this->input->post('idProducto');
		$idGasto					= $this->input->post('idGasto');
		$idProveedor				= $this->input->post('idProveedor');
		$idDepartamento				= strlen($idDepartamento)==0?0:$idDepartamento;
		$idProducto					= strlen($idProducto)==0?0:$idProducto;
		$idGasto					= strlen($idGasto)==0?0:$idGasto;		
		$idLicencia					= $this->input->post('idLicencia');
		
		//-----------------------------PAGINACION--------------------------------------
		$Pag["base_url"]			= base_url()."reportes/obtenerGastos/";
		$Pag["total_rows"]			= $this->reportes->contarGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia);
		$Pag["per_page"]			= 50;
		$Pag["num_links"]			= 5;
		
		$this->pagination->initialize($Pag);
		
		$data['permiso']			= $this->configuracion->obtenerPermisosId('30',$this->session->userdata('rol'));
		
		
		
		$data['departamentos'] 		= $this->administracion->obtenerDepartamentos();
		$data['productos'] 			= $this->administracion->obtenerProductos();
		$data['tipos'] 				= $this->administracion->obtenerTipoGasto();
		
		$data['gastos'] 			= $this->reportes->obtenerGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia,$Pag["per_page"],$limite);
		$data['sumaGastos']			= $this->reportes->sumarGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia);
		$data['idDepartamento']		= $idDepartamento;
		$data['idProducto']			= $idProducto;
		$data['idGasto']			= $idGasto;
		$data['limite']				= $limite+1;
		
		$this->load->view("reportes/gastos/obtenerGastos",$data); 
	}
	
	public function reporteGastos()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte gastos','Reportes',''); //Registrar bitácora
		
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idCuenta					= $this->input->post('idCuenta');
		$idDepartamento				= $this->input->post('idDepartamento');
		$idProducto					= $this->input->post('idProducto');
		$idGasto					= $this->input->post('idGasto');
		$idProveedor				= $this->input->post('idProveedor');
		$idDepartamento				= strlen($idDepartamento)==0?0:$idDepartamento;
		$idProducto					= strlen($idProducto)==0?0:$idProducto;
		$idGasto					= strlen($idGasto)==0?0:$idGasto;		
		$idLicencia					= $this->input->post('idLicencia');
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['gastos'] 	= $this->reportes->obtenerGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia,0,0);
		$data['sumaGastos'] = $this->reportes->sumarGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia);
		$data['inicio'] 	= $inicio;
		$data['fin'] 		= $fin;
		$data['reporte'] 	= 'reportes/gastos/reporteGastos';

		$html=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter-L','','',10,10,40,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/gastos.pdf','F');
		
		echo 'gastos';
	}
	
	//EL EXCEL DE LOS INGRESOS
	public function excelGastos()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte gastos','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idCuenta					= $this->input->post('idCuenta');
		$idDepartamento				= $this->input->post('idDepartamento');
		$idProducto					= $this->input->post('idProducto');
		$idGasto					= $this->input->post('idGasto');
		$idProveedor				= $this->input->post('idProveedor');
		$idDepartamento				= strlen($idDepartamento)==0?0:$idDepartamento;
		$idProducto					= strlen($idProducto)==0?0:$idProducto;
		$idGasto					= strlen($idGasto)==0?0:$idGasto;		
		$idLicencia					= $this->input->post('idLicencia');
		
		$idLicencia			= $this->input->post('idLicencia');
		
		$data['sumaGastos'] = $this->reportes->sumarGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia);
		$data['gastos']		= $this->reportes->obtenerGastos($inicio,$fin,$idCuenta,$idDepartamento,$idProducto,$idGasto,$idProveedor,$idLicencia,0,0);
		
		$this->load->view("reportes/gastos/excelGastos", $data); 
	}
	
	//REPORTE DE FACTURACIÓN ELECTRONICA
	public function facturacion()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		= $this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));
		
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['emisores']		= $this->configuracion->obtenerEmisoresFacturacion();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['permisoNota']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,20):1;
		$data['permisoManual']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,21):1;
		$data['permisoGlobal']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,22):1;
		$data['permisoNomina']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,35):1;
		$data['idRol'] 			= $this->_role;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/facturacion/index", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerFacturas($limite=0)
	{
		error_reporting(1);
		ini_set("memory_limit","2500M");
		set_time_limit(0); 
		
		$idEmisor		= $this->input->post('idEmisor');
		$fecha			= $this->input->post('fecha');
		$mes			= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio			= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$idCliente		= $this->input->post('idCliente');
		$cancelada		= $this->input->post('cancelada');
		$pagadas		= $this->input->post('pagadas');
		
		$folio			= $this->input->post('folio');
		$folioVenta		= $this->input->post('folioVenta');
		
		$idLicencia		= $this->input->post('idLicencia');
		
		$documento		= $this->input->post('documento');
		$duplicidad		= $this->input->post('duplicidad');
		
		#-----------------------------PAGINACION--------------------------------------#
		$paginacion["base_url"]		= base_url()."reportes/obtenerFacturas/";
		$paginacion["total_rows"]	= $this->reportes->contarFacturas($mes,$anio,$idCliente,$cancelada,$pagadas,$idLicencia,$idEmisor,$folio,$folioVenta,$documento,$duplicidad);
		$paginacion["per_page"]		= 50;
		$paginacion["num_links"]	= 5;
		
		$this->pagination->initialize($paginacion);
		
		$data['permiso']=$this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));
		
		$data['emisores']			= $this->configuracion->obtenerEmisoresFacturacion();
		$data['facturas'] 			= $this->reportes->obtenerFacturas($mes,$anio,$idCliente,$paginacion["per_page"],$limite,$cancelada,$pagadas,$idLicencia,$idEmisor,$folio,$folioVenta,$documento,$duplicidad);
		$data['duplicadas'] 		= $duplicidad ==1?$this->reportes->sumarFacturasDuplicadas($mes,$anio,$idCliente,0,0,$cancelada,$pagadas,$idLicencia,$idEmisor,$folio,$folioVenta,$documento,$duplicidad):0;
		$data['mes'] 				= $mes;
		$data['anio'] 				= $anio;
		$data['idCliente'] 			= $idCliente;
		$data['cancelada'] 			= $cancelada;
		$data['pagadas'] 			= $pagadas;
		$data['idLicencia']			= $idLicencia;
		$data['idLicenciaActual']	= $this->idLicencia;
		$data['idEmisor']			= $idEmisor;
		$data['limite'] 			= $limite;
		$data['documento'] 			= $documento;
		$data['idRol'] 				= $this->_role;
		$data['permisoCancelar']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,11):1;
		$data['permisoNomina']		= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,35):1;
		$data['matriz'] 			= $this->matriz;
		$data['duplicidad'] 		= $duplicidad;
		
		$this->load->view("reportes/facturacion/obtenerFacturas", $data);
	}
	
	public function reporteFacturacion($mes,$anio,$idCliente,$cancelada,$pagadas)
	{
		$idLicencia			= $this->input->post('idLicencia');
		$idEmisor			= $this->input->post('idEmisor');
		$folio				= $this->input->post('folio');
		$folioVenta			= $this->input->post('folioVenta');
		$documento			= $this->input->post('documento');
		$duplicidad			= $this->input->post('duplicidad');
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['facturas'] 	= $this->reportes->obtenerFacturas($mes,$anio,$idCliente,0,0,$cancelada,$pagadas,$idLicencia,$idEmisor,$folio,$folioVenta,$documento,$duplicidad);
		$data['emisor']		= $this->configuracion->obtenerEmisor($idEmisor);
		$data['mes'] 		= $mes;
		$data['anio'] 		= $anio;
		$data['reporte'] 	= 'reportes/facturacion/reporteFacturacion';

		$html				= $this->load->view('reportes/principal',$data,true);
		#$pie				=$this->load->view('reportes/pie',$data,true);

		$this->mpdf->mPDF('en-x','Letter','','',10,10,39,16,7,10);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		#$this->mpdf->Output('Facturación '.$anio.'_'.$mes.'.pdf','D');
		
		$this->mpdf->Output('media/ficheros/facturacion.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte facturación','Reportes',''); //Registrar bitácora
		
		echo 'facturacion';
		
		
	}
	
	public function excelFacturacion($mes,$anio,$idCliente,$cancelada,$pagadas)
	{
		$this->load->library('excel/PHPExcel');
		
		$idLicencia			= $this->input->post('idLicencia');
		$idEmisor			= $this->input->post('idEmisor');
		$folio				= $this->input->post('folio');
		$folioVenta			= $this->input->post('folioVenta');
		$documento			= $this->input->post('documento');
		$duplicidad			= $this->input->post('duplicidad');
		
		$data['facturas'] 	= $this->reportes->obtenerFacturas($mes,$anio,$idCliente,0,0,$cancelada,$pagadas,$idLicencia,$idEmisor,$folio,$folioVenta,$documento,$duplicidad);
		$data['emisor']		= $this->configuracion->obtenerEmisor($idEmisor);
		
		$this->configuracion->registrarBitacora('Exportar excel reporte facturación','Reportes',''); //Registrar bitácora

		$this->load->view("reportes/facturacion/excelFacturacion", $data);
	}
	
	public function crearFacturaFisica($idFactura)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0);
		
		#$this->load->library('ccantidadletras');
		#$this->load->library('mpdf/mpdf');
		$this->load->library('ccantidadletras');
		$this->load->library('mpdf/mpdf');
		
		$this->load->helper('sat');
		$this->load->helper('qrlib');
		
		$data['factura'] 		= $this->facturacion->obtenerFactura($idFactura);
		$data['configuracion'] 	= $this->configuracion->obtenerEmisor($data['factura']->idEmisor);
		
		$ruta					= carpetaCfdi.$data['factura']->idLicencia.'_facturacion/cfdi/'.$data['configuracion']->rfc.'/folio'.$data['factura']->serie.$data['factura']->folio.'/';
		
		if(!file_exists($ruta))
		{
			crearDirectorio($ruta);
		}
		
		$data['cliente'] 		= $this->clientes->obtenerDatosCliente($data['factura']->idCliente);
		$data['retencion'] 		= $this->facturacion->obtenerRetencion($idFactura);
		$data['productos'] 		= $this->facturacion->obtenerProductosFacturados($idFactura);
		$data['pago']			= $this->reportes->obtenerPagadoVenta($data['factura']->idCotizacion);	
		$data['cuentas']		= $this->configuracion->obtenerCuentasFactura();	
		$data['valor'] 			= 1;
		#$data['reporte'] 		= 'facturacion/factura';
		
		if($data['factura']->idCotizacion!=0)
		{
			$data['cotizacion']			= $this->ventas->obtenerRemision($data['factura']->idCotizacion);
		}
		
		if($data['factura']->pago=='1')
		{
			$data['pago'] 		= $this->pagos->obtenerPago($idFactura);
			$data['relacion'] 	= $this->pagos->obtenerFacturaRelacion($idFactura);
		}
		
		if($data['factura']->version=='1')
		{
			$data['reporte'] 		= $data['factura']->pago=='0'?'facturacion/3.3/factura':'facturacion/pagos/pago';	
		}
		else
		{
			$data['reporte'] 		= 'facturacion/factura';	
		}
		
		generarCodigoBidimensional($data['factura'],$data['configuracion']); //Generar código bidimensional
		
		$this->ccantidadletras->setIdioma("ES");
        $this->ccantidadletras->setNumero($data['factura']->total);
		$this->ccantidadletras->setMoneda($data['factura']->divisa);//
		
		$CantidadLetras			=$this->ccantidadletras->PrimeraMayuscula();
		$data['cantidadLetra']	=$CantidadLetras;

		$html	=$this->load->view('facturacion/principal',$data,true);
		#$pie 	= $this->load->view('facturacion/pie',$data,true);
		
		if($data['factura']->version=='1')
		{
			$pie 					= $this->load->view('facturacion/3.3/pie',$data,true);
		}
		else
		{
			$pie 					= $this->load->view('facturacion/pie',$data,true);
		}
		
		if($data['cotizacion']!=null)
		{
			$this->mpdf->mPDF('en-x','Letter','','',5,5,4,107,6,0);	
		}
		else
		{
			$this->mpdf->mPDF('en-x','Letter','','',5,5,4,70,6,0);
		}
		
		
		#$this->mpdf->mPDF('en-x','Letter','','',10,10,10,70,6,0);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);

		$pdf				=$ruta.$data['configuracion']->rfc.'_'.$data['factura']->serie.$data['factura']->folio.'.pdf';
		$xml				=$ruta.$data['configuracion']->rfc.'_'.$data['factura']->serie.$data['factura']->folio.'.xml';
		
		$this->mpdf->Output($pdf,'F');
		
		#CREAR EL XML FISICO
		$fichero	=fopen($xml,"w");	
		fwrite($fichero,$data['factura']->xml);
		fclose($fichero);
		
		return true;
	}
	
	public function zipearFacturas($mes,$anio,$idCliente,$idFactura=0,$pagadas=0)
	{
		$idLicencia			= $this->input->post('idLicencia');
		$idEmisor			= $this->input->post('idEmisor');
		$folio				= $this->input->post('folio');
		$folioVenta			= $this->input->post('folioVenta');
		$documento			= $this->input->post('documento');
		$duplicidad			= $this->input->post('duplicidad');
		
		$configuracion		= $this->configuracion->obtenerEmisor($idEmisor);
		$facturas 			= $this->reportes->obtenerFacturas($mes,$anio,$idCliente,0,0,$idFactura,$pagadas,$idLicencia,$idEmisor,$folio,$folioVenta,$documento,$duplicidad);
		#$configuracion		= $this->configuracion->obtenerConfiguraciones(1);
		
		$this->configuracion->registrarBitacora('Zippear reporte facturación','Reportes',''); //Registrar bitácora
		
		if($facturas!=null)
		{
			$zip = new ZipArchive();
			
			#--------------------------------------------------------------------------------#
			#PARA OBTENER EL NOMBRE DEL FICHERO

			$nombre="FACTURAS.zip";
			
			if($mes!='mes')
			{
				$nombre='FACTURAS_'.obtenerNombreMes($mes).$anio.'.zip';
			}

			#--------------------------------------------------------------------------------#
			
			$fichero 	= carpetaCfdi.$idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/'.$nombre;
			
			if(file_exists($fichero))
			{
				unlink($fichero);
			}
			
			if ($zip->open($fichero, ZIPARCHIVE::CREATE)!==TRUE) 
			{
				echo "0";
				return;
			}
			
			foreach($facturas as $row)
			{
				#if(!file_exists('media/fel/1_facturacion/cfdi/folio'.$row->folio.'/'.$configuracion->rfc.'_'.$row->serie.$row->folio.'.xml'))
				if($row->documento!='Recibo de Nómina')
				{
					$this->crearFacturaFisica($row->idFactura);
				}
				else
				{
					#$this->load->library('../controllers/pdf','pdf');
			
					#$this->pdf->reciboNomina($row->idFactura,1);
					$this->reportes->reciboNomina($row->idFactura,1);
				}
				
				if(file_exists(carpetaCfdi.$row->idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/folio'.$row->serie.$row->folio.'/'.$configuracion->rfc.'_'.$row->serie.$row->folio.'.xml'))
				{
					$zip->addFile('media/fel/'.$row->idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/folio'.$row->serie.$row->folio.'/'.$configuracion->rfc.'_'.$row->serie.$row->folio.'.xml', $configuracion->rfc.'_'.$row->serie.$row->folio.'.xml');
				}
				
				if(file_exists('media/fel/'.$row->idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/folio'.$row->serie.$row->folio.'/'.$configuracion->rfc.'_'.$row->serie.$row->folio.'.pdf'))
				{
					$zip->addFile('media/fel/'.$row->idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/folio'.$row->serie.$row->folio.'/'.$configuracion->rfc.'_'.$row->serie.$row->folio.'.pdf', $configuracion->rfc.'_'.$row->serie.$row->folio.'.pdf');
				}
			}

			$zip->close();

			sleep(2);
			
			if(!file_exists($fichero))
			{
				echo "1";
			}
			else
			{
				echo $nombre;
			}
		}
		else
		{
			echo "1";
		}
	}
	
	public function descargaZip($idEmisor,$idLicencia,$nombre)
	{
		$this->load->helper('download');
		
		#$fichero 	= carpetaCfdi.$idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/'.$nombre;
		$configuracion		= $this->configuracion->obtenerEmisor($idEmisor);
		$data 				= file_get_contents(carpetaCfdi.$idLicencia.'_facturacion/cfdi/'.$configuracion->rfc.'/'.$nombre); // Read the file's contents
		
		force_download($nombre, $data); 
	}
	
	//REPORTE DE FACTURACIÓN ELECTRONICA
	public function facturacionPagos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		=$this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['emisores']		= $this->configuracion->obtenerEmisoresFacturacion();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['permisoNota']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,20):1;
		$data['permisoManual']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,21):1;
		$data['permisoGlobal']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,22):1;
		
		$this->load->view("reportes/facturacion/pagos/index", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerFacturasPagos($limite=0)
	{
		$idEmisor		= $this->input->post('idEmisor');
		$fecha			= $this->input->post('fecha');
		$mes			= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio			= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$idCliente		= $this->input->post('idCliente');
		$cancelada		= $this->input->post('cancelada');
		$pagadas		= $this->input->post('pagadas');
		
		$idLicencia		= $this->input->post('idLicencia');
		
		#-----------------------------PAGINACION--------------------------------------#
		$paginacion["base_url"]		= base_url()."reportes/obtenerFacturas/";
		$paginacion["total_rows"]	= $this->reportes->contarFacturasPagos($mes,$anio,$idCliente,$idLicencia,$idEmisor);
		$paginacion["per_page"]		= 50;
		$paginacion["num_links"]	= 5;
		
		$this->pagination->initialize($paginacion);
		
		$data['permiso']=$this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));
		
		$data['emisores']			= $this->configuracion->obtenerEmisoresFacturacion();
		$data['facturas'] 			= $this->reportes->obtenerFacturasPagos($mes,$anio,$idCliente,$paginacion["per_page"],$limite,$idLicencia,$idEmisor);
		$data['mes'] 				= $mes;
		$data['anio'] 				= $anio;
		$data['idCliente'] 			= $idCliente;
		$data['cancelada'] 			= $cancelada;
		$data['pagadas'] 			= $pagadas;
		$data['idLicencia']			= $idLicencia;
		$data['idEmisor']			= $idEmisor;
		$data['limite'] 			= $limite;
		$data['permisoCancelar']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,11):1;
		
		$this->load->view("reportes/facturacion/pagos/obtenerFacturasPagos", $data);
	}
	
	//REPORTE DE FLUJO DE EFECTIVO
	public function flujoEfectivo()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];

		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('39',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/flujoEfectivo/flujoEfectivo",$data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerFlujoEfectivo()
	{
		$fecha				= $this->input->post('fecha');
		$anio				= substr($fecha,0,4);
		$mes				= substr($fecha,5,2);
		$idLicencia			= $this->input->post('idLicencia');

		#SALDOS INICIALES
		$data['cuentas']	= $this->bancos->obtenerCuentasLicenciaReporte($idLicencia);
		$data['permiso']	= $this->configuracion->obtenerPermisosId('39',$this->session->userdata('rol'));
		$data['fecha']		= $fecha;
		$data['anio']		= $anio;
		$data['mes']		= $mes;
		$data['idLicencia']	= $idLicencia;
		
		$this->load->view("reportes/flujoEfectivo/obtenerFlujoEfectivo",$data);
	}
	
	public function reporteFlujo($mes,$anio,$idLicencia)
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte flujo efectivo','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['cuentas'] 	= $this->bancos->obtenerCuentasLicenciaReporte($idLicencia);
		$data['mes'] 		= $mes;
		$data['anio'] 		= $anio;
		$data['idLicencia']	= $idLicencia;
		$data['reporte'] 	= 'reportes/flujoEfectivo/reporteFlujo';

		$html				= $this->load->view('reportes/principal',$data,true);
		#$pie				=$this->load->view('reportes/pie',$data,true);

		$this->mpdf->mPDF('en-x','Letter','','',15,10,31,16,7,10);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function excelFlujoEfectivo($mes,$anio)
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte flujo efectivo','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');

		$data['cuentas'] 	= $this->bancos->obtenerCuentasLicenciaReporte($this->input->post('idLicencia'));
		$data['mes'] 		= $mes;
		$data['anio'] 		= $anio;
		$data['idLicencia']	= $this->input->post('idLicencia');
		
		$this->load->view('reportes/flujoEfectivo/excelFlujoEfectivo',$data);
	}
	
	//REPORTE DE AUXILIAR DE PROVEEDORES
	public function auxiliarProveedores()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];

		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='auxiliarProveedores'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('31',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['proveedores']		=$this->reportes->obtenerProveedores(); 

		$this->load->view("reportes/auxiliarProveedores/auxiliarProveedores",$data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerAuxiliarProveedores()
	{
		$inicio			=$this->input->post('inicio');
		$fin			=$this->input->post('fin');
		$inicio			=strlen($inicio)>7?$inicio:'fecha';
		$fin			=strlen($fin)>7?$fin:'fecha';
		
		$idProveedor	=$this->input->post('idProveedor');
		$auxiliar		=$this->reportes->obtenerAuxiliarProveedores($inicio,$fin,$idProveedor);
		$proveedor		=$this->reportes->obtenerProveedor($idProveedor);
		
		if($auxiliar!=null)
		{
			echo'
			<table class="admintable" width="100%">
				<tr>
					<th colspan="9">';
					
					echo $proveedor!=null?$proveedor->empresa:'Todos los  proveedores';
					
					echo'
					<img src="'.base_url().'img/pdf.png" width="22" title="Imprimir" 
							onclick="window.open(\''.base_url().'reportes/reporteAuxiliar/'.$inicio.'/'.$fin.'/'.$idProveedor.'\')" />
					</th>
				</tr>
				<tr>
					<th width="3%">#</th>
					<th width="8%">Fecha</th>
					<th width="13%">Num. Orden Comp.</th>
					<th>Remisión</th>
					<th align="right">Monto</th>
				</tr>';
			
			$i		=1;
			$total	=0;
			foreach($auxiliar as $row)
			{
				$estilo	=$i%2>0?'class="sinSombra"':'class="sombreado"';
				#$monto	=$row->cantidad*$row->precio;
				$monto	=$row->monto;
				
				echo'
				<tr '.$estilo.'>
					<td align="center">'.$i.'</td>
					<td align="center">'.substr($row->fecha,0,10).'</td>
					<td align="center">'.$row->orden.'</td>
					<td align="center">'.$row->remision.'</td>
					<td align="right">$'.number_format($row->monto,2).'</td>
				</tr>';
				
				
				$i++;
			}
			
			echo '
			</table>';
		}
		else
		{
			echo '<div class="Error_validar">Sin registro de auxiliar de proveedores</div';
		}
	}
	
	public function reporteAuxiliar($inicio,$fin,$idProveedor)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		$this->load->library('mpdf/mpdf');
		
		$proveedor			=$this->reportes->obtenerProveedor($idProveedor);
		
		$data['auxiliar'] 	=$this->reportes->obtenerAuxiliarProveedores($inicio,$fin,$idProveedor);
		$data['proveedor'] 	=$proveedor!=null?$proveedor->empresa:'Todos los proveedores';
		$data['reporte'] 	='reportes/auxiliarProveedores/auxiliarPDF';
		$data['inicio'] 	=$inicio;
		$data['fin'] 		=$fin;

		$html				=$this->load->view('reportes/principal',$data,true);
		#$pie				=$this->load->view('reportes/pie',$data,true);

		$this->mpdf->mPDF('en-x','Letter','','',15,10,39,16,7,10);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	//REPORTE DE PRONOSTICO DE PAGOS
	public function pronosticoPagos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];

		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='pronosticoPagos'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('32',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['proveedores']		=$this->reportes->obtenerProveedores(); 

		$this->load->view("reportes/pronosticoPagos/pronosticoPagos",$data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function reportePronostico($idProveedor,$fechaInicio,$fechaFin)
	{
		$this->load->library('mpdf/mpdf');
		$this->load->library('ccantidadletras');
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 

		$data['proveedores'] 		= $this->compras->obtenerProveedoresCompras($idProveedor,$fechaInicio,$fechaFin);
		$data['fechaInicio']		=$fechaInicio;
		$data['fechaFin']			=$fechaFin;
		$data['reporte']			='reportes/pronosticoPagos/pronosticoPDF';
		#$this->load->view('compras/pronostico',$data);
		
		$html	=$this->load->view('reportes/principal',$data,true);
		#$pie	=$this->load->view('reportes/pie',$data,true);
		#$pie=$this->load->view('clientes/formatos/paquetes/pie',$data,true);

		$this->mpdf->mPDF('en-x','Letter-L','','',10,10,41,16,7,10);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->useSubstitutions=false; 
		$this->mpdf->simpleTables = true;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	
	public function obtenerPronostico()
	{
		$idProveedor	=$this->input->post('idProveedor');
		$fechaInicio	=$this->input->post('fechaInicio');
		$fechaFin		=$this->input->post('fechaFin');
		
		$fechaInicio	=strlen($fechaInicio)>7?$fechaInicio:'fecha';
		$fechaFin		=strlen($fechaFin)>7?$fechaFin:'fecha';
		$proveedores	=$this->compras->obtenerProveedoresCompras($idProveedor,$fechaInicio,$fechaFin);
		
		if($proveedores!=null)
		{
			echo '
			<table class="admintable" width="100%">
				<tr>
					<th colspan="6" class="encabezadoPrincipal">
					<img src="'.base_url().'img/pdf.png" width="22" 
						onclick="window.open(\''.base_url().'reportes/reportePronostico/'.$idProveedor.'/'.$fechaInicio.'/'.$fechaFin.'\')" /><br />
					PDF
					</th>
				</tr>
				<tr>
					<th colspan="2">Proveedores</th>
					<th colspan="4">
						Desglose de saldos por pagar en días
						
					</th>
				</tr>
				<tr>
					<th>Compras</th>
					<th width="13%">Saldo</th>
					<th width="13%">1-7</th>
					<th width="13%">8-14</th>
					<th width="13%">15-21</th>
					<th width="13%">22 o más</th>
				</tr>';
			
			$i=1;
			foreach($proveedores as $row)
			{
				echo'
				<tr>
					<td class="totales" align="left" colspan="9">'.$i.' '.$row->empresa.'</td>
				</tr>';
				
				#$compras=$this->compras->obtenerComprasProveedor($row->idProveedor,$fechaInicio,$fechaFin);
				$compras	=$this->reportes->obtenerComprasProveedor($fechaInicio,$fechaFin,$row->idProveedor);
				
				$total		=0;
				$total1		=0;
				$total8		=0;
				$total14	=0;
				$total22	=0;
				
				foreach($compras as $compra)
				{
					$pagado		=$this->reportes->sumarPagadoCompra($compra->idCompras);
					$saldo		=$compra->total-$pagado;
					$pronostico	=$this->compras->obtenerDiferenciaFecha($compra->fechaCompra);
					
					$pro1	=0;
					$pro8	=0;
					$pro14	=0;
					$pro22	=0;
					
					switch($pronostico)
					{
						case $pronostico>=1 and $pronostico<=7:
						$pro1	=$saldo;
						break;
						
						case $pronostico>=8 and $pronostico<=14:
						$pro8	=$saldo;
						break;
						
						case $pronostico>=15 and $pronostico<=21:
						$pro14	=$saldo;
						break;
						
						case $pronostico>21:
						$pro22	=$saldo;
						break;
					}
					
					$total 		+=$saldo;
					$total1		+=$pro1;
					$total8		+=$pro8;
					$total14	+=$pro14;
					$total22	+=$pro22;
				
					echo'
					<tr>
						<td class="sinBordes"  align="right">';
							echo $compra->nombre.' | '.substr($compra->fechaCompra,0,10);
							echo'
						</td>
						<td width="13%" class="sinBordes" align="right">$'.number_format($saldo,2).'</td>
						<td width="13%" class="sinBordes" align="right">$'.number_format($pro1,2).'</td>
						<td width="13%" class="sinBordes" align="right">$'.number_format($pro8,2).'</td>
						<td width="13%" class="sinBordes" align="right">$'.number_format($pro14,2).'</td>
						<td width="13%" class="sinBordes" align="right">$'.number_format($pro22,2).'</td>
						
					</tr>';
				}
				
				echo '
				<tr>
					<td width=""  class="sinBordes" align="center"></td>
					<td width="13%" align="right" class="totales">$'.number_format($total,2).'</td>
					<td width="13%" align="right" class="totales">$'.number_format($total1,2).'</td>
					<td width="13%" align="right" class="totales">$'.number_format($total8,2).'</td>
					<td width="13%" align="right" class="totales">$'.number_format($total14,2).'</td>
					<td width="13%" align="right" class="totales">$'.number_format($total22,2).'</td>
					
					
				</tr>';
			
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Sin registro de pronóstico</div>';
		}
	}
	
	#PARA EL REPORTE DE CAJA CHICA
	
	public function cajaChica()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];

		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='cajaChica'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('33',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		#$data['proveedores']		=$this->reportes->obtenerProveedores(); 

		$this->load->view("reportes/cajaChica/index"); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function reporteCajaChica($mes,$anio,$criterio)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		$this->load->library('ccantidadletras');
	
		$data['cajaChica']	=$this->reportes->obtenerReporteCajaChica(0,0,$mes,$anio,$criterio);
		$data['sumaCaja']	=$this->reportes->sumarReporteCajaChica($mes,$anio,$criterio);
		$data['reporte'] 	='reportes/cajaChica/cajaChicaPdf';

		$html=$this->load->view('reportes/principal',$data,true);

		$this->mpdf->mPDF('en-x','Letter-L','','',10,10,32,10,5,10);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function obtenerCajaChica($limite=0)
	{
		$fecha		=$this->input->post('fecha');
		$criterio	=$this->input->post('criterio');
		$criterio	=strlen($criterio)>0?$criterio:'criterio';
		
		$mes		=substr($fecha,5,2);
		$anio		=substr($fecha,0,4);
		
		$url		=base_url()."reportes/obtenerCajaChica/";
		$registros	=$this->reportes->contarReporteCajaChica($mes,$anio,$criterio);
		$numero		=5;
		$links		=5;
		$uri		=3;
		
		$paginador	=$this->paginas->paginar($url,$registros,$numero,$links,$uri);
		$this->pagination->initialize($paginador);
		
		$cajaChica	=$this->reportes->obtenerReporteCajaChica($numero,$limite,$mes,$anio,$criterio);
		
		
		#echo '<input type="hidden" id="txtIdProducto" value="'.$idProducto.'">';
		
		if($cajaChica!=null)
		{
			$sumaCaja	=$this->reportes->sumarReporteCajaChica($mes,$anio,$criterio);
			
			 echo'
			 <div style="width:90%">
			 	<ul id="pagination-digg" class="ajax-pagCaja">'.$this->pagination->create_links().'</ul>
			 </div>';
			
			echo'
			<script>
				$("#tablaEgresos tr:even").addClass("arriba");
				$("#tablaEgresos tr:odd").addClass("abajo");
			</script>
			<table class="admintable" id="tablaEgresos" width="100%">
				<tr>
					<th style="text-align:right" colspan="10">Suma caja chica: $'.number_format($sumaCaja,2).'</th>
				</tr>
				<tr>
					<th>#</th>
					<th>Fecha</th>
					<th>
						Concepto
						<img src="'.base_url().'img/pdf.png" width="30" title="Generar PDF" 
							onclick="window.open(\''.base_url().'reportes/reporteCajaChica/'.$mes.'/'.$anio.'/'.$criterio.'\')" />
					</th>
					<th>Monto</th>
					<th>Forma de pago</th>
					<th>Cheque / Trasferencia</th>
					<th>Nombre</th>
					<th>Departamento</th>
					<th>Descripción del producto</th>
					<th>Tipo</th>
				</tr>';
			
			$i=1;
			
			foreach($cajaChica as $row)
			{
				$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
				$producto		=$this->configuracion->obtenerProducto($row->idProducto);
				$departamento	=$this->configuracion->obtenerDepartamento($row->idDepartamento);
				$gasto			=$this->configuracion->obtenerGasto($row->idGasto);
				$nombre			=$this->configuracion->obtenerNombre($row->idGasto);
				
				echo'
				<tr '.$estilo.'>
					<td class="vinculos">'.$i.'</td>
					<td class="vinculos">'.substr($row->fecha,0,10).'</td>
					<td class="vinculos" class="vinculos">';
					echo $producto!=null?$producto->nombre:'';
					echo'</td>
					<td class="vinculos" align="right">$'.number_format($row->pago,2).'</td>
					<td class="vinculos">'.$row->formaPago.'</td>
					<td class="vinculos" align="center">'.$row->cheque.$row->transferencia.'</td>
					<td class="vinculos">';
					echo $nombre!=null?$nombre->nombre:'';
					echo'</td>
					<td class="vinculos">';
					echo $departamento!=null?$departamento->nombre:'';
					echo'</td>
					
					<td class="vinculos">';
					echo $row->producto;
					
					echo'
					</td>
					<td class="vinculos">';
					echo $gasto!=null?$gasto->nombre:'';
					echo'</td>
				</tr>';
				
				$cajas=$this->administracion->obtenerCajaChica($row->idEgreso);
				
				foreach($cajas as $caja)
				{
					echo'
					<tr>
						<td class="vinculos"></td>
						<td class="vinculos">'.substr($caja->fecha,0,10).'</td>
						<td class="vinculos" class="vinculos">'.$caja->concepto.'</td>
						<td class="vinculos" align="right">$'.number_format($caja->importe,2).'</td>
						<td class="vinculos"></td>
						<td class="vinculos"></td>
						<td class="vinculos"></td>
						<td class="vinculos"></td>
						<td class="vinculos"></td>
						<td class="vinculos"></td>
					</tr>';
				}
				
				$i++;
			}
			
			echo '</table>';
			
			 echo'
			 <div style="width:90%;">
			 	<ul id="pagination-digg" class="ajax-pagCaja">'.$this->pagination->create_links().'</ul>
			 </div>';
		}
		else
		{
			 echo'
			 <div class="Error_validar" style="margin-top:2px; width:95%; float:left margin-bottom: 5px;">
             	Sin registros de caja chica.
           	 </div>';
		}
	}
	
	#FLUJO DE CAJA CHICA
	#----------------------------------------------------------------------------------------------------------------#
	
	public function flujoCajaChica()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];

		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='flujoCajaChica'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('34',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$this->load->view("reportes/flujoCaja/flujoCaja"); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function reporteFlujoCaja($mes,$anio)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['cajas'] 		=$this->administracion->obtenerCajasChicas();
		$data['mes'] 		=$mes;
		$data['anio'] 		=$anio;
		$data['reporte'] 	='reportes/flujoCaja/reporteFlujo';

		$html				=$this->load->view('reportes/principal',$data,true);
		#$pie				=$this->load->view('reportes/pie',$data,true);

		$this->mpdf->mPDF('en-x','Letter','','',15,10,31,16,7,10);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function obtenerFlujoCaja()
	{
		$fecha	=$this->input->post('fecha');
		$anio	=substr($fecha,0,4);
		$mes	=substr($fecha,5,2);
		
		#$caja	=$this->administracion->obtenerEntradasCaja($mes,$anio);
		$cajas	=$this->administracion->obtenerCajasChicas();
		
		echo'
		<table class="admintable" width="100%">';
		
		echo '
		<tr>
			
			<th colspan="3" class="encabezadoPrincipal">
				<img src="'.base_url().'img/pdf.png" width="22" title="Generar PDF Flujo Caja" 
					onclick="window.open(\''.base_url().'reportes/reporteFlujoCaja/'.$mes.'/'.$anio.'\')" />
					<br />
				PDF
			</th>
		</tr>
		<tr>
			
			<th colspan="3">
				Saldo inicial
			</th>
		</tr>';
		
		$sumaCajas	=0;
		
		foreach($cajas as $row)
		{
			$ingreso		=$this->reportes->obtenerIngresoCajaChica($row->idProducto,$mes,$anio);
			$egreso			=$this->reportes->obtenerEgresoCajaChica($row->idProducto,$mes,$anio);
			$saldoInicial	=$ingreso-$egreso;
			
			$sumaCajas	+=$saldoInicial;
			echo '
			<tr>
				<td>'.$row->cajaChica.'</td>
				<td align="right">$'.number_format($saldoInicial,2).'</td>
				<td></td>
			</tr>';
		}
		
		echo '
			<tr>
				<th colspan="3">
					Entradas en caja chica
				</th>
			</tr>';
		
		
		foreach($cajas as $row)
		{
			$entradas		=$this->administracion->obtenerEntradasCaja($row->idProducto,$mes,$anio);
			#$egreso			=$this->reportes->obtenerEgresoCajaChica($row->idProducto,$mes,$anio);
			#$saldoInicial	=$ingreso-$egreso;

			$sumaCajas	+=$entradas;
			
			echo '
			<tr>
				<td>'.$row->cajaChica.'</td>
				<td align="right">$'.number_format($entradas,2).'</td>
				<td></td>
			</tr>';
		}
		
		echo '
		<tr>
			<td class="totales" colspan="2">Suma de entradas en caja</td>
			<td class="totales" align="right">$'.number_format($sumaCajas,2).'</td>
		</tr>';
		
		
		$salidas	=$this->administracion->obtenerSalidasCaja($mes,$anio);
		echo '
		<tr>
			<th colspan="3">Salidas en caja chica</th>
		</tr>';
		
		$salida		=0;
		$i			=1;
		foreach($salidas as $row)
		{
			$estilo			=$i%2>0?"class='sinSombra'":'class="sombreado"';
			
			$salida	+=$row->importe;
			
			#onclick="obtenerSalidasCajaDetalles('.$row->idDepartamento.')"
			echo '
			<tr '.$estilo.' >
				<td>'.$row->concepto.'</td>
				<td align="right">$'.number_format($row->importe,2).'</td>
				<td></td>
			</tr>';
			
			$i++;
		}
		
		echo '
		<tr>
			<td class="totales" colspan="2">Suma de salidas en caja</td>
			<td class="totales" align="right">$'.number_format($salida,2).'</td>
		</tr>
		
		<tr>
			<td class="totales" colspan="2">Entradas menos salidas</td>
			<td class="totales" align="right">$'.number_format($sumaCajas-$salida,2).'</td>
		</tr>';
		
		echo '
		<tr>
			<th colspan="3">Saldos en caja</th>
		</tr>';
		
		$saldos	=0;
		$saldo	=0;
		#$mes=04;
		foreach($cajas as $row)
		{
			$entradas		=$this->administracion->obtenerEntradasCaja($row->idProducto,$mes,$anio);
			$salida			=$this->administracion->obtenerSalidaCaja($mes,$anio,$row->idProducto);
			#$saldo	=$row->pago-$saldo;
			
			$ingreso		=$this->reportes->obtenerIngresoCajaChica($row->idProducto,$mes,$anio);
			$egreso			=$this->reportes->obtenerEgresoCajaChica($row->idProducto,$mes,$anio);
			$saldo			=$ingreso-$egreso;

			$saldo			=$entradas+$saldo-$salida;
			#$sumaCajas	+=$saldoInicial;
			
			$saldos	+=$saldo;
			
			echo '
			<tr>
				<td>'.$row->cajaChica.'</td>
				<td align="right">$'.number_format($saldo,2).'</td>
				<td></td>
			</tr>';
		}
		
		echo '
		<tr>
			<td class="totales" colspan="2">Suma de saldos en caja</td>
			<td class="totales" align="right">$'.number_format($saldos,2).'</td>
		</tr>';
		
		echo '</table>';
	}
	
	//EL EXCEL DE LOS PRODUCTOS
	public function excelProductos()
	{
		$this->load->library('excel/PHPExcel');
		
		PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
	
		$excel = new PHPExcel();
		
		$excel
		->getProperties()
		->setCreator("Flores lorez")
		->setLastModifiedBy("Maarten Balliauw")
		->setTitle("Nómina textil arte")
		->setSubject("Office 2007 XLSX Test Document")
		->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
		->setKeywords("office 2007 openxml php")
		->setCategory("Test result file");
		
		$m=1;
		$excel->setActiveSheetIndex(0)->mergeCells('A'.$m.':N'.$m.'');
		
		$excel->getActiveSheet()->getStyle('A'.$m.':N'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':N'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':N'.$m)->getFont()->setSize(10);
		
		$excel->getActiveSheet()->setCellValue('A'.$m, 'TEXTIL ARTE CONTEMPORÁNEO S.A. DE C.V.');
		$excel->getActiveSheet()->getStyle('A'.$m)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		
		$m++;

		$excel->getActiveSheet()->getStyle('A'.$m.':N'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':N'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':N'.$m)->getFont()->setSize(9);
		
		$excel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
		$excel->getActiveSheet()->getColumnDimension('B')->setWidth(50);
		$excel->getActiveSheet()->getColumnDimension('C')->setWidth(13);
		$excel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
		$excel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
		$excel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
		$excel->getActiveSheet()->getColumnDimension('G')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('H')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('I')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('J')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('K')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('L')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('M')->setWidth(21);
		$excel->getActiveSheet()->getColumnDimension('N')->setWidth(40);
		
		$excel->getActiveSheet()->setCellValue('A'.$m, 'ID');
		$excel->getActiveSheet()->setCellValue('B'.$m, 'Producto');
		$excel->getActiveSheet()->setCellValue('C'.$m, 'Color');
		$excel->getActiveSheet()->setCellValue('D'.$m, 'Diseño');
		$excel->getActiveSheet()->setCellValue('E'.$m, 'Stock');
		$excel->getActiveSheet()->setCellValue('F'.$m, 'SKU');
		$excel->getActiveSheet()->setCellValue('G'.$m, 'UPC');
		$excel->getActiveSheet()->setCellValue('H'.$m, 'Precio cadenas');
		$excel->getActiveSheet()->setCellValue('I'.$m, 'Precio mueblerias');
		$excel->getActiveSheet()->setCellValue('J'.$m, 'Precio saldo');
		$excel->getActiveSheet()->setCellValue('K'.$m, 'Ancho');
		$excel->getActiveSheet()->setCellValue('L'.$m, 'Largo');
		$excel->getActiveSheet()->setCellValue('M'.$m, 'Unidad');
		$excel->getActiveSheet()->setCellValue('N'.$m, 'Cliente');
		

		$producto		=$this->reportes->obtenerProductoReporte();

		$i		=$m+1;
		
		foreach($producto as $row)
		{
			$cliente	=$this->reportes->obtenerClienteProducto($row->idCliente);
			$cliente	=$cliente!=null?$cliente->empresa:'Pendiente';
			
			$excel->getActiveSheet()->setCellValue('A'.$i, $row->idProducto);
		    $excel->getActiveSheet()->setCellValue('B'.$i, $row->nombre);
			$excel->getActiveSheet()->setCellValue('C'.$i, $row->color);
			$excel->getActiveSheet()->setCellValue('D'.$i, $row->diseno);
			$excel->getActiveSheet()->setCellValue('E'.$i, $row->stock);
			$excel->getActiveSheet()->setCellValue('F'.$i, $row->sku);
			$excel->getActiveSheet()->setCellValue('G'.$i, $row->codigoInterno);
			$excel->getActiveSheet()->setCellValue('H'.$i, $row->precioD);
			$excel->getActiveSheet()->setCellValue('I'.$i, $row->precioE);
			$excel->getActiveSheet()->setCellValue('J'.$i, $row->precioF);
			$excel->getActiveSheet()->setCellValue('K'.$i, $row->ancho);
			$excel->getActiveSheet()->setCellValue('L'.$i, $row->largo);
			$excel->getActiveSheet()->setCellValue('N'.$i, $cliente);

			$i++;
		}

		$fichero= rand(50,90);
	
		$excel->getActiveSheet()->setTitle('Reportes firestone');
		$excel->setActiveSheetIndex(0);
		$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
		
		$objWriter->save(str_replace('.php', '.xls',"media/ficheros/".$fichero.".xls"));
		
		echo $fichero;
	}
	
	//PARA EL REPORTE DE PRONOSTICO DE INGRESOS
	public function obtenerPronosticoIngresos()
	{
		$inicio				=$this->input->post('inicio');
		$fin				=$this->input->post('fin');
		$idCliente			=$this->input->post('idCliente');

		$pronostico 		= $this->reportes->obtenerPronosticoIngresos($inicio,$fin,$idCliente);
		$ingresos 			= $this->reportes->sumarPronosticoIngresos($inicio,$fin,$idCliente);

		if($pronostico!=null)
		{
			echo '
			<div id="generandoReporte"></div>
			<table class="admintable" width="100%">
				<tr>
					<th colspan="4" style="border-right:none">
						<img onclick="window.open(\''.base_url().'reportes/reportePronosticoIngresos/'.$inicio.'/'.$fin.'/'.$idCliente.'\')" 
						src="'.base_url().'img/pdf.png" width="22" title="Pdf" />
					
					<img onclick="excelPronosticoIngresos(\''.$inicio.'\',\''.$fin.'\','.$idCliente.')" 
						src="'.base_url().'img/excel.png" width="22" title="Excel" />
					</th>
					<th align="right" style="border-left:none">
						Total: $'.number_format($ingresos,2).'
					</th>
				</tr>
				<tr>
					<th>#</th>
					<th>Fecha</th>
					<th>Cliente</th>
					<th>Concepto</th>
					<th align="right">Importe</th>
				</tr>';
			
			$i=1;
			foreach($pronostico as $row)
			{
				$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
				
				echo '
				<tr '.$estilo.'>
					<td align="right">'.$i.'</td>
					<td align="center">'.obtenerFechaMesCortoHora($row->fecha).'</td>
					<td align="center">';
					$cliente	=$this->clientes->obtenerCliente($row->idCliente);
					echo $cliente!=null?$cliente->empresa:'';
					echo'</td>
					<td>'.$row->producto.'</td>
					<td align="right">$'.number_format($row->pago,2).'</td>
				</tr>';
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Sin registro de pronóstico</div>';
		}
	}
	
	public function reportePronosticoIngresos($inicio,$fin,$idCliente)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['pronostico'] = $this->reportes->obtenerPronosticoIngresos($inicio,$fin,$idCliente);
		$data['ingresos']	= $this->reportes->sumarPronosticoIngresos($inicio,$fin,$idCliente);
		$data['inicio'] 	= $inicio;
		$data['fin'] 		= $fin;
		$data['reporte'] 	= 'reportes/pronosticoIngresos/reportePronosticoIngresos';

		$html=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,36,47,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function pronosticoIngresos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='pronosticoIngresos'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('35',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']=$this->bancos->obtenerCuentas();
		
		$this->load->view("reportes/pronosticoIngresos/index", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	//EL EXCEL DEL PRONÓSTICO DE INGRESOS
	public function excelPronosticoIngresos($inicio,$fin,$idCliente)
	{
		$this->load->library('excel/PHPExcel');
		
		$pronostico		=$this->reportes->obtenerPronosticoIngresos($inicio,$fin,$idCliente);
		$ingresos 		= $this->reportes->sumarPronosticoIngresos($inicio,$fin,$idCliente);
		
		PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
	
		$excel = new PHPExcel();
		
		$excel
		->getProperties()
		->setCreator("Redisoftsystem")
		->setLastModifiedBy("Redisoftsystem")
		->setTitle("Redisoftsystem")
		->setSubject("Redisoftsystem")
		->setDescription("Redisoftsystem")
		->setKeywords("Redisoftsystem")
		->setCategory("Redisoftsystem");
		
		$i=1;
		$excel->setActiveSheetIndex(0)->mergeCells('A'.$i.':D'.$i.'');
		
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->setSize(10);
		
		$excel->getActiveSheet()->setCellValue('A'.$i, 'REPORTE DE PRONÓSTICO DE COBROS');
		$excel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		
		$i++;

		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->setSize(9);
		
		$excel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('B')->setWidth(35);
		$excel->getActiveSheet()->getColumnDimension('C')->setWidth(35);
		$excel->getActiveSheet()->getColumnDimension('D')->setWidth(25);

		$excel->getActiveSheet()->setCellValue('C'.$i, 'TOTAL:');
		$excel->getActiveSheet()->setCellValue('D'.$i, $ingresos);
		
		$i++;

		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$i.':D'.$i)->getFont()->setSize(9);
		
		$excel->getActiveSheet()->setCellValue('A'.$i, 'Fecha');
		$excel->getActiveSheet()->setCellValue('B'.$i, 'Cliente');
		$excel->getActiveSheet()->setCellValue('C'.$i, 'Concepto');
		$excel->getActiveSheet()->setCellValue('D'.$i, 'Importe');

		$i++;
		foreach($pronostico as $row)
		{
			$cliente	=$this->clientes->obtenerCliente($row->idCliente);
			
			#$excel->getActiveSheet()->setCellValue('A'.$i, $row->fecha);
			$excel->getActiveSheet()->getCell('A'.$i)->setValueExplicit(obtenerFechaMesCortoHora($row->fecha), PHPExcel_Cell_DataType::TYPE_STRING);
		    $excel->getActiveSheet()->setCellValue('B'.$i, $cliente!=null?$cliente->empresa:'');
			$excel->getActiveSheet()->setCellValue('C'.$i, $row->producto);
			$excel->getActiveSheet()->setCellValue('D'.$i, $row->pago);


			$i++;
		}

		$fichero= rand(50,90);
	
		$excel->getActiveSheet()->setTitle('Reportes firestone');
		$excel->setActiveSheetIndex(0);
		$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
		
		$objWriter->save(str_replace('.php', '.xls',"media/ficheros/".$fichero.".xls"));
		
		echo $fichero;
	}
	
	//PARA EL REPORTE DE PRONOSTICO DE PAGOS
	public function obtenerPronosticoGastos()
	{
		$inicio				=$this->input->post('inicio');
		$fin				=$this->input->post('fin');
		$idProveedor		=$this->input->post('idProveedor');

		$pronostico 		= $this->reportes->obtenerPronosticoGastos($inicio,$fin,$idProveedor);
		$gastos 			= $this->reportes->sumarPronosticoGastos($inicio,$fin,$idProveedor);

		if($pronostico!=null)
		{
			echo '
			<div id="generandoReporte"></div>
			<table class="admintable" width="100%">
				<tr>
					<th colspan="4" style="border-right:none">
						<img onclick="window.open(\''.base_url().'reportes/reportePronosticoGastos/'.$inicio.'/'.$fin.'/'.$idProveedor.'\')" 
						src="'.base_url().'img/pdf.png" width="22" title="Pdf" />
					
					<img onclick="excelPronosticoGastos(\''.$inicio.'\',\''.$fin.'\','.$idProveedor.')" 
						src="'.base_url().'img/excel.png" width="22" title="Excel" />
					</th>
					<th align="right" style="border-left:none">
						Total $'.number_format($gastos,2).'
					</th>
				</tr>
				<tr>
					<th>#</th>
					<th>Fecha</th>
					<th>Proveedor</th>
					<th>Concepto</th>
					<th align="right">Importe</th>
				</tr>';
			
			$i=1;
			foreach($pronostico as $row)
			{
				$estilo		=$i%2>0?'class="sinSombra"':'class="sombreado"';
				
				
				echo '
				<tr '.$estilo.'>
					<td align="right">'.$i.'</td>
					<td align="center">'.obtenerFechaMesCortoHora($row->fecha).'</td>
					<td align="center">';
					$proveedor	=$this->proveedores->obtenerProveedor($row->idProveedor);
					echo $proveedor!=null?$proveedor->empresa:'';
					echo'</td>
					<td>'.$row->producto.'</td>
					<td align="right">$'.number_format($row->pago,2).'</td>
				</tr>';
				
				$i++;
			}
			
			echo '</table>';
		}
		else
		{
			echo '<div class="Error_validar">Sin registro de pronóstico</div>';
		}
	}
	
	public function reportePronosticoGastos($inicio,$fin,$idProveedor)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['pronostico']	= $this->reportes->obtenerPronosticoGastos($inicio,$fin,$idProveedor);
		$data['gastos']	= $this->reportes->sumarPronosticoGastos($inicio,$fin,$idProveedor);
		$data['inicio'] 	= $inicio;
		$data['fin'] 		= $fin;
		$data['reporte'] 	= 'reportes/pronosticoGastos/reportePronosticoGastos';

		$html=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter','','',10,10,30,47,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function pronosticoGastos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['jvalidate']		=$this->_jss['jvalidate'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='pronosticoGastos'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('36',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']=$this->bancos->obtenerCuentas();
		
		$this->load->view("reportes/pronosticoGastos/index", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	//EL EXCEL DEL PRONÓSTICO DE INGRESOS
	public function excelPronosticoGastos($inicio,$fin,$idProveedor)
	{
		$this->load->library('excel/PHPExcel');
		
		$gastos			= $this->reportes->sumarPronosticoGastos($inicio,$fin,$idProveedor);
		$pronostico		=$this->reportes->obtenerPronosticoGastos($inicio,$fin,$idProveedor);
		
		PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
	
		$excel = new PHPExcel();
		
		$excel
		->getProperties()
		->setCreator("Redisoftsystem")
		->setLastModifiedBy("Redisoftsystem")
		->setTitle("Redisoftsystem")
		->setSubject("Redisoftsystem")
		->setDescription("Redisoftsystem")
		->setKeywords("Redisoftsystem")
		->setCategory("Redisoftsystem");
		
		$m=1;
		$excel->setActiveSheetIndex(0)->mergeCells('A'.$m.':D'.$m.'');
		
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->setSize(10);
		
		$excel->getActiveSheet()->setCellValue('A'.$m, 'REPORTE DE PRONÓSTICO DE PAGOS');
		$excel->getActiveSheet()->getStyle('A'.$m)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		
		$m++;

		$excel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('B')->setWidth(35);
		$excel->getActiveSheet()->getColumnDimension('C')->setWidth(35);
		$excel->getActiveSheet()->getColumnDimension('D')->setWidth(25);

		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->setSize(9);
		
		$excel->getActiveSheet()->setCellValue('C'.$m, 'TOTAL');
		$excel->getActiveSheet()->setCellValue('D'.$m, $gastos);
		
		$m++;
		
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':D'.$m)->getFont()->setSize(9);
		
		$excel->getActiveSheet()->setCellValue('A'.$m, 'Fecha');
		$excel->getActiveSheet()->setCellValue('B'.$m, 'Proveedor');
		$excel->getActiveSheet()->setCellValue('C'.$m, 'Concepto');
		$excel->getActiveSheet()->setCellValue('D'.$m, 'Importe');

		

		$i		=$m+1;
		
		foreach($pronostico as $row)
		{
			$proveedor	=$this->proveedores->obtenerProveedor($row->idProveedor);
			
			#$excel->getActiveSheet()->setCellValue('A'.$i, $row->fecha);
			$excel->getActiveSheet()->getCell('A'.$i)->setValueExplicit(obtenerFechaMesCortoHora($row->fecha), PHPExcel_Cell_DataType::TYPE_STRING);
		    $excel->getActiveSheet()->setCellValue('B'.$i, $proveedor!=null?$proveedor->empresa:'');
			$excel->getActiveSheet()->setCellValue('C'.$i, $row->producto);
			$excel->getActiveSheet()->setCellValue('D'.$i, $row->pago);


			$i++;
		}

		$fichero= rand(50,90);
	
		$excel->getActiveSheet()->setTitle('Reportes firestone');
		$excel->setActiveSheetIndex(0);
		$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
		
		$objWriter->save(str_replace('.php', '.xls',"media/ficheros/".$fichero.".xls"));
		
		echo $fichero;
	}
	
	
	//PARA EL REPORTE DE STOCK
	
	public function stock()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('37',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/stock/reporteStock",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerStock($limite=0)
	{
		#error_reporting(1);
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		#$inicio			=$this->input->post('inicio');
		#$fin			=$this->input->post('fin');
		$idProducto				= $this->input->post('idProducto');
		
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$idCategoria			= $this->input->post('idCategoria');
		$idCategoria			= strlen($idCategoria)>0?$idCategoria:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
		
		
		$Pag["base_url"]		= base_url()."reportes/obtenerStock/";
		$Pag["total_rows"]		=$this->reportes->contarStockProductos($idProducto,$idLicencia,$medida,$producto);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('37',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		#echo 'Producto: '.$producto.'<br />';
		$data['productos'] 		=$this->reportes->obtenerStockProductos($Pag["per_page"],$limite,$idProducto,$idLicencia,$medida,$producto);
		$data['arreglos']		=$this->arreglos->obtenerCodigos($this->reportes->obtenerStockProductos(0,0,0,0,0,0));
		$data['stock'] 			=$this->reportes->sumarStock($idProducto,$idLicencia,$medida,$producto);
		#$data['licencias'] 		=$this->configuracion->obtenerLicenciasFirestone();
		#$data['dias']			=$this->reportes->obtenerDiferenciaDias($inicio, $fin);
		#$data['inicio']			=$inicio;
		$data['limite']			=$limite+1;
		$data['idProducto']		=$idProducto;
		$data['marca']			=$marca;
		$data['rin']			=$rin;
		$data['idCategoria']	=$idCategoria;
		$data['idSubCategoria']	=$idSubCategoria;
		$data['medida']			=$medida;
		$data['producto']		=$producto;
		
		$this->load->view(sistemaActivo=='jenrab'?"reportes/stock/obtenerStock":"reportes/stock/perfectire/obtenerStock", $data); 
	}
	
	public function reporteStock($idProducto=0)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte stock','Reportes',''); //Registrar bitácora
		
		$idProducto				= $this->input->post('idProducto');
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$idCategoria			= $this->input->post('idCategoria');
		$idCategoria			= strlen($idCategoria)>0?$idCategoria:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		$idLicencia				= $this->input->post('idLicencia');
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';

		$data['productos'] 		= $this->reportes->obtenerStockProductos(0,0,$idProducto,$idLicencia,$medida,$producto);
		$data['stock'] 			= $this->reportes->sumarStock($idProducto,$idLicencia,$medida,$producto);
		$data['idProducto']		= $idProducto;
		$data['reporte'] 		= sistemaActivo=='jenrab'?'reportes/stock/stockPdf':'reportes/stock/perfectire/stockPdf';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		sistemaActivo=='jenrab'?$this->mpdf->mPDF('en-x','A2-L','','',5,5,35,10,2,0):$this->mpdf->mPDF('en-x','Legal-L','','',5,5,29,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteStock.pdf','F');

		echo 'reporteStock';
	}
	
	
	
	public function excelStock()
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('excel/PHPExcel');
		
		$idProducto				= $this->input->post('idProducto');
		$marca					=$this->input->post('marca');
		$marca					=strlen($marca)>0?$marca:'0';
		$rin					=$this->input->post('rin');
		$rin					=strlen($rin)>0?$rin:'0';
		$idCategoria			=$this->input->post('idCategoria');
		$idCategoria			=strlen($idCategoria)>0?$idCategoria:'0';
		$idSubCategoria			=$this->input->post('idSubCategoria');
		$idSubCategoria			=strlen($idSubCategoria)>0?$idSubCategoria:'0';
		$idLicencia				= $this->input->post('idLicencia');
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';

		$data['productos'] 		= $this->reportes->obtenerStockProductos(0,0,$idProducto,$idLicencia,$medida,$producto);
		$data['stock'] 			= $this->reportes->sumarStock($idProducto,$idLicencia,$medida,$producto);
		$data['idProducto']		= $idProducto;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte stock','Reportes',''); //Registrar bitácora

		$this->load->view(sistemaActivo=='jenrab'?'reportes/stock/excelStock':'reportes/stock/perfectire/excelStock',$data);
	}
	
	//PARA LOS PRODUCTOS Y SERVICIOS
	public function productosServicios()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='productosServicios'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('28',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']	=	$this->configuracion->obtenerLineas();
		
		$this->load->view("reportes/productosServicios/productosServicios",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerProductosServicios($limite=0)
	{
		$inicio					=$this->input->post('inicio');
		$fin					=$this->input->post('fin');
		$tipo					=$this->input->post('tipo');
		$idLinea				=$this->input->post('idLinea');
		
		$codigoInterno			=$this->input->post('codigoInterno');
		$codigoInterno			=strlen($codigoInterno)>0?$codigoInterno:'0';
		$medida					=$this->input->post('medida');
		$medida					=strlen($medida)>0?$medida:'0';
		$rin					=$this->input->post('rin');
		$rin					=strlen($rin)>0?$rin:'0';
		$producto				=$this->input->post('producto');
		$producto				=strlen($producto)>0?$producto:'0';
		
		$Pag["base_url"]		= base_url()."reportes/obtenerProductosServicios/";
		$Pag["total_rows"]		=$this->reportes->contarProductosServicios($inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);//Total de Registros
		$Pag["per_page"]		=100;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('14',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos']		=$this->reportes->obtenerProductosServicios($Pag["per_page"],$limite,$inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);
		$data['totales']		=$this->reportes->obtenerTotalProductosServicios($inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);
		
		$data['arreglos']		=$this->arreglos->obtenerCodigos($this->reportes->obtenerProductosServicios(0,0,$inicio,$fin,$tipo,$idLinea,0,0,0,0));
		
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		$data['tipo']			=$tipo;
		$data['idLinea']		=$idLinea;
		$data['limite']			=$limite+1;
		
		$data['codigoInterno']	=$codigoInterno;
		$data['medida']			=$medida;
		$data['rin']			=$rin;
		$data['producto']		=$producto;
		
		$this->load->view("reportes/productosServicios/obtenerProductosServicios", $data); 
	}
	
	public function reporteProductosServicios($inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['productos'] 		= $this->reportes->obtenerProductosServicios(0,0,$inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);
		$data['totales']		= $this->reportes->obtenerTotalProductosServicios($inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/productosServicios/productosServiciosPdf';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter-L','','',10,10,41,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function excelProductosServicios($inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto)
	{
		$this->load->library('excel/PHPExcel');
		
		$productos 		= $this->reportes->obtenerProductosServicios(0,0,$inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);
		$totales		= $this->reportes->obtenerTotalProductosServicios($inicio,$fin,$tipo,$idLinea,$codigoInterno,$medida,$rin,$producto);

		PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() );
	
		$excel = new PHPExcel();
		
		$excel
		->getProperties()
		->setCreator("Redisoftsystem")
		->setLastModifiedBy("Redisoftsystem")
		->setTitle("Redisoftsystem")
		->setSubject("Redisoftsystem")
		->setDescription("Redisoftsystem")
		->setKeywords("Redisoftsystem")
		->setCategory("Redisoftsystem");
		
		$m=1;
		$excel->setActiveSheetIndex(0)->mergeCells('A'.$m.':K'.$m.'');
		
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->setSize(10);
		
		$excel->getActiveSheet()->setCellValue('A'.$m, 'REPORTE DE PRODUCTOS/SERVICIOS');
		$excel->getActiveSheet()->getStyle('A'.$m)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		
		$m++;

		$excel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('B')->setWidth(35);
		
		$excel->getActiveSheet()->getColumnDimension('C')->setWidth(25);
		$excel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
		$excel->getActiveSheet()->getColumnDimension('E')->setWidth(25);
		
		$excel->getActiveSheet()->getColumnDimension('F')->setWidth(25);
		$excel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('J')->setWidth(20);
		$excel->getActiveSheet()->getColumnDimension('K')->setWidth(20);

		
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->setSize(9);
		
		$iva			=$this->session->userdata('iva')/100;
		$subTotal		=$totales/($iva+1);

		$excel->getActiveSheet()->setCellValue('F'.$m, 'Subtotal:');
		$excel->getActiveSheet()->setCellValue('G'.$m, $subTotal);
		
		$excel->getActiveSheet()->setCellValue('H'.$m, 'IVA:');
		$excel->getActiveSheet()->setCellValue('I'.$m, $totales-$subTotal);
		
		$excel->getActiveSheet()->setCellValue('J'.$m, 'Total:');
		$excel->getActiveSheet()->setCellValue('K'.$m, $totales);
		
		$m++;
		
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->getColor()->setARGB('00200F');
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->setName('Arial Black');
		$excel->getActiveSheet()->getStyle('A'.$m.':K'.$m)->getFont()->setSize(9);
		
		$excel->getActiveSheet()->setCellValue('A'.$m, 'Fecha');
		$excel->getActiveSheet()->setCellValue('B'.$m, 'Producto/Servicio');
		
		$excel->getActiveSheet()->setCellValue('C'.$m, 'Código');
		$excel->getActiveSheet()->setCellValue('D'.$m, 'Medida');
		$excel->getActiveSheet()->setCellValue('E'.$m, 'Rin');
		
		$excel->getActiveSheet()->setCellValue('F'.$m, 'Tipo');
		$excel->getActiveSheet()->setCellValue('G'.$m, 'Subtotal');
		$excel->getActiveSheet()->setCellValue('H'.$m, 'Descuento');
		$excel->getActiveSheet()->setCellValue('I'.$m, 'Comisión');
		$excel->getActiveSheet()->setCellValue('J'.$m, 'IVA');
		$excel->getActiveSheet()->setCellValue('K'.$m, 'Total');

		$i		=$m+1;
		
		foreach($productos as $row)
		{
			#if($this->reportes->comprobarCotizacionPagada($row->idCotizacion)>0)
			#{
				$precioDescuento	=$row->importe-$row->descuento;
				$porcentaje			=$row->porcentaje>0?$row->porcentaje/100:0;
				$interes			=0;
			
				if(date(substr($row->fechaCompra,0,10))<=date('2014-01-23'))
				{
					$interes			=$precioDescuento*$porcentaje;
					$precioDescuento	+=$interes;
				}
				
				$iva				=$precioDescuento*$row->iva;
				
				#$excel->getActiveSheet()->setCellValue('A'.$i, $row->fecha);
				$excel->getActiveSheet()->getCell('A'.$i)->setValueExplicit(obtenerFechaMesCortoHora($row->fechaCompra), PHPExcel_Cell_DataType::TYPE_STRING);
				$excel->getActiveSheet()->setCellValue('B'.$i, $row->producto);
				
				$excel->getActiveSheet()->setCellValue('C'.$i, $row->codigoInterno);
				$excel->getActiveSheet()->setCellValue('D'.$i, $row->medida);
				$excel->getActiveSheet()->setCellValue('E'.$i, round($row->rin,2));
				
				$excel->getActiveSheet()->setCellValue('F'.$i, $row->servicio==1?'Servicio':'Producto');
				$excel->getActiveSheet()->setCellValue('G'.$i, $row->importe);
				$excel->getActiveSheet()->setCellValue('H'.$i, $row->descuento);
				$excel->getActiveSheet()->setCellValue('I'.$i, $interes);
				$excel->getActiveSheet()->setCellValue('J'.$i, $iva);
				$excel->getActiveSheet()->setCellValue('K'.$i, $precioDescuento+$iva);
	
	
				$i++;
			#}
		}

		$fichero= rand(50,90);
	
		$excel->getActiveSheet()->setTitle('Reportes firestone');
		$excel->setActiveSheetIndex(0);
		$objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5');
		
		$objWriter->save(str_replace('.php', '.xls',"media/ficheros/".$fichero.".xls"));
		
		echo $fichero;
	}
	
	//PARA LOS PAQUETES
	public function paquetes()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='paquetes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('27',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']	=	$this->configuracion->obtenerLineas();
		
		$this->load->view("reportes/paquetes/paquetes",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerPaquetes($limite=0)
	{
		$inicio					=$this->input->post('inicio');
		$fin					=$this->input->post('fin');
		$idProducto				=$this->input->post('idProducto');
		$criterio				=$this->input->post('criterio');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerPaquetes/";
		$Pag["total_rows"]		=$this->reportes->contarPaquetes($inicio,$fin,$idProducto);//Total de Registros
		$Pag["per_page"]		=30;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('14',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos']		=$this->reportes->obtenerPaquetes($Pag["per_page"],$limite,$inicio,$fin,$idProducto);
		$data['totales']		=$this->reportes->sumarPaquetes($inicio,$fin,$idProducto,$criterio);
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		#$data['tipo']			=$tipo;
		$data['idProducto']		=0;#$idProducto;
		$data['criterio']		=$criterio;
		$data['limite']			=$limite+1;
		
		$this->load->view("reportes/paquetes/obtenerPaquetes", $data); 
	}
	
	public function reportePaquetes($inicio,$fin,$idProducto,$criterio)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['productos'] 		= $this->reportes->obtenerPaquetes(0,0,$inicio,$fin,$idProducto);
		$data['totales']		=$this->reportes->sumarPaquetes($inicio,$fin,$idProducto,$criterio);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['criterio']		=$criterio;
		$data['reporte'] 		= 'reportes/paquetes/paquetesPdf';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter-L','','',10,10,45,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	
	//PARA LAS LLANTAS
	public function llantas()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='llantas'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('22',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/llantas/reporteLlantas",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerLlantas($limite=0)
	{
		$inicio					=$this->input->post('inicio');
		$fin					=$this->input->post('fin');
		$idProducto				=$this->input->post('idProducto');
		$criterio				=$this->input->post('criterio');
		$pagadas				=$this->input->post('pagadas'); //Filtro de llantas pagadas
		
		$folioVentas			=$this->input->post('folioVentas');
		$folioFactura			=$this->input->post('folioFactura');
		$tipoPrecio				=$this->input->post('tipoPrecio');
		$tipoPrecio				=strlen($tipoPrecio)>0?$tipoPrecio:'0';
		
		$codigoInterno			=$this->input->post('codigoInterno');
		$codigoInterno			=strlen($codigoInterno)>0?$codigoInterno:'0';
		$medida					=$this->input->post('medida');
		$medida					=strlen($medida)>0?$medida:'0';
		$rin					=$this->input->post('rin');
		$rin					=strlen($rin)>0?$rin:'0';
		$producto				=$this->input->post('producto');
		$producto				=strlen($producto)>0?$producto:'0';
		$idCliente				=$this->input->post('idCliente');
		$idCliente				=strlen($idCliente)>0?$idCliente:'0';
		$idVendedor				=$this->input->post('idVendedor');
		$idVendedor				=strlen($idVendedor)>0?$idVendedor:'0';
		$marca					=$this->input->post('marca');
		$marca					=strlen($marca)>0?$marca:'0';
		$diseno					=$this->input->post('diseno');
		$diseno					=strlen($diseno)>0?$diseno:'0';
		$sbu					=$this->input->post('sbu');
		$sbu					=strlen($sbu)>0?$sbu:'0';
		$idSubCategoria			=$this->input->post('idSubCategoria');
		$idSubCategoria			=strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
		$idMecanico				= $this->input->post('idMecanico');
		
		
		$Pag["base_url"]		= base_url()."reportes/obtenerLlantas/";
		$Pag["total_rows"]		= $this->reportes->contarLlantas($inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idLicencia,$idMecanico);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('22',$this->session->userdata('rol'));

		$data['productos']		= $this->reportes->obtenerLlantas($Pag["per_page"],$limite,$inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idSubCategoria,$idLicencia,$idMecanico);
		$data['totales']		= $this->reportes->sumarLlantas($inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idSubCategoria,$idLicencia,$idMecanico);
		$data['responsable'] 	= $this->reportes->obtenerResponsable(1);
		
		#$data['codigos']		=$this->arreglos->obtenerCodigos($data['productos']);
		$data['arreglos']		= $this->arreglos->obtenerCodigos($this->reportes->obtenerLlantas(0,0,$inicio,$fin,$idProducto,0,0,0,0,0,0,0,0,0,0,$folioVentas,$folioFactura,0,0,0));
		$data['vendedores']		= $this->configuracion->obtenerVendedoresReporte($idLicencia);
		$data['mecanicos'] 		= $this->configuracion->obtenerMecanicosReporte($idLicencia);
		$data['lineas']			= $this->configuracion->obtenerLineas();
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias(1);
		
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		#$data['tipo']			=$tipo;
		$data['idProducto']		=0;#$idProducto;
		
		$data['criterio']		=$criterio;
		
		$data['codigoInterno']	=$codigoInterno;
		$data['medida']			=$medida;
		$data['rin']			=$rin;
		$data['producto']		=$producto;
		$data['idCliente']		=$idCliente;
		$data['idVendedor']		=$idVendedor;
		
		$data['marca']			= $marca;
		$data['diseno']			= $diseno;
		$data['pagadas']		= $pagadas;
		$data['sbu']			= $sbu;
		$data['tipoPrecio']		= $tipoPrecio;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['idMecanico']		= $idMecanico;
		
		$data['limite']			=$limite+1;
		
		$this->load->view("reportes/llantas/obtenerLlantas", $data); 
	}
	
	public function reporteLlantas($inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$folioVentas			=$this->input->post('folioVentas');
		$folioFactura			=$this->input->post('folioFactura');
		$tipoPrecio				=$this->input->post('tipoPrecio');
		$idSubCategoria			=$this->input->post('idSubCategoria');
		$idLicencia				= $this->input->post('idLicencia');
		$idMecanico				= $this->input->post('idMecanico');

		$data['productos'] 		= $this->reportes->obtenerLlantas(0,0,$inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idSubCategoria,$idLicencia,$idMecanico);
		$data['totales']		=$this->reportes->sumarLlantas($inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idSubCategoria,$idLicencia,$idMecanico);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['criterio']		=$criterio;
		$data['pagadas']		=$pagadas;
		$data['reporte'] 		= 'reportes/llantas/llantasPdf';
		$data['responsable'] 	= $this->reportes->obtenerResponsable();

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','A1-L','','',2,2,40,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		#$this->mpdf->Output();
		$this->mpdf->Output('media/ficheros/reporteLlantas.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte de llantas','Reportes',''); //Registrar bitácora
		
		echo 'reporteLlantas';
	}
	
	public function descargarPdfReportes($fichero,$reporte)
	{
		$this->load->helper('download');
		
		$nombreFisico 	= $fichero.'.pdf';
		$descarga 		= $reporte.'_'.date('Y-m-d').'.pdf';
		$data 			= file_get_contents("media/ficheros/$nombreFisico"); 

		force_download($descarga, $data); 
	}
	
	public function excelLlantas($inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu)
	{
		$folioVentas			=$this->input->post('folioVentas');
		$folioFactura			=$this->input->post('folioFactura');
		$tipoPrecio				=$this->input->post('tipoPrecio');
		$idSubCategoria			=$this->input->post('idSubCategoria');
		$idLicencia				= $this->input->post('idLicencia');
		$idMecanico				= $this->input->post('idMecanico');
		
		$this->load->library('excel/PHPExcel');
		
		$data['productos'] 		= $this->reportes->obtenerLlantas(0,0,$inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idSubCategoria,$idLicencia,$idMecanico);
		$data['totales']		= $this->reportes->sumarLlantas($inicio,$fin,$idProducto,$codigoInterno,$medida,$rin,$producto,$idCliente,$idVendedor,$marca,$diseno,$pagadas,$sbu,$folioVentas,$folioFactura,$tipoPrecio,$idSubCategoria,$idLicencia,$idMecanico);
		$data['pagadas']		= $pagadas;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte de llantas','Reportes',''); //Registrar bitácora

		$this->load->view("reportes/llantas/excelLlantas",$data); 
	}
	
	//PARA LA MANO DE OBRA
	public function manoObra()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('23',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/manoObra/manoObra",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerManoObra($limite=0)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$inicio					=$this->input->post('inicio');
		$fin					=$this->input->post('fin');
		$idProducto				=$this->input->post('idProducto');
		$pagadas				=$this->input->post('pagadas');
		
		$codigoInterno			=$this->input->post('codigoInterno');
		$codigoInterno			=strlen($codigoInterno)>0?$codigoInterno:'0';
		$producto				=$this->input->post('producto');
		$producto				=strlen($producto)>0?$producto:'0';
		$idCliente				=$this->input->post('idCliente');
		$idCliente				=strlen($idCliente)>0?$idCliente:'0';
		$idVendedor				=$this->input->post('idVendedor');
		$idVendedor				=strlen($idVendedor)>0?$idVendedor:'0';
		$idPersonal				=$this->input->post('idPersonal');
		$idPersonal				=strlen($idPersonal)>0?$idPersonal:'0';
		$tipoPrecio				=$this->input->post('tipoPrecio');
		$tipoPrecio				=strlen($tipoPrecio)>0?$tipoPrecio:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerManoObra/";
		$Pag["total_rows"]		=$this->reportes->contarManoObra($inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$idVendedor,$idPersonal,$pagadas,$idLicencia);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('23',$this->session->userdata('rol'));

		$data['productos']		= $this->reportes->obtenerManoObra($Pag["per_page"],$limite,$inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$idVendedor,$idPersonal,$pagadas,$idLicencia);
		$data['totales']		= $this->reportes->sumarManoObra($inicio,$fin,$idProducto,1,$codigoInterno,$producto,$idCliente,$idVendedor,$idPersonal,$pagadas,$idLicencia);
		$data['arreglos']		= $this->arreglos->obtenerCodigos($this->reportes->obtenerManoObra(0,0,$inicio,$fin,$idProducto,0,0,0,0,0,0,0));
		$data['usuarios'] 		= $this->configuracion->obtenerResponsablesReporte($idLicencia);
		$data['mecanicos'] 		= $this->configuracion->obtenerMecanicosReporte($idLicencia);
		$data['vendedores']		= $this->configuracion->obtenerVendedoresReporte($idLicencia);
		
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		$data['idProducto']		=0;#$idProducto;
		$data['criterio']		=1;
		$data['limite']			=$limite+1;
		$data['responsable'] 	= $this->reportes->obtenerResponsable();
		
		$data['codigoInterno']	=$codigoInterno;
		$data['producto']		=$producto;
		$data['idCliente']		=$idCliente;
		$data['idVendedor']		=$idVendedor;
		$data['idPersonal']		=$idPersonal;
		$data['pagadas']		=$pagadas;
		$data['tipoPrecio']		=$tipoPrecio;

		$this->load->view("reportes/manoObra/obtenerManoObra", $data); 
	}
	
	public function reporteManoObra($inicio,$fin,$idProducto,$criterio,$codigoInterno,$producto,$idCliente,$idUsuario,$idPersonal,$pagadas)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$idLicencia				= $this->input->post('idLicencia');

		$data['productos'] 		= $this->reportes->obtenerManoObra(0,0,$inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$idUsuario,$idPersonal,$pagadas,$idLicencia);
		$data['totales']		=$this->reportes->sumarManoObra($inicio,$fin,$idProducto,$criterio,$codigoInterno,$producto,$idCliente,$idUsuario,$idPersonal,$pagadas,$idLicencia);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['criterio']		=$criterio;
		$data['pagadas']		=$pagadas;
		$data['reporte'] 		= 'reportes/manoObra/reporteManoObraPdf';
		$data['responsable'] 	= $this->reportes->obtenerResponsable();

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','A2-L','','',5,5,43,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteManoObra.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte mano de obra','Reportes',''); //Registrar bitácora
		
		echo 'reporteManoObra';
	}
	
	public function excelManoObra($inicio,$fin,$idProducto,$criterio,$codigoInterno,$producto,$idCliente,$idUsuario,$idPersonal,$pagadas)
	{
		$this->load->library('excel/PHPExcel');
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$data['productos'] 		= $this->reportes->obtenerManoObra(0,0,$inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$idUsuario,$idPersonal,$pagadas,$idLicencia);
		$data['totales']		= $this->reportes->sumarManoObra($inicio,$fin,$idProducto,$criterio,$codigoInterno,$producto,$idCliente,$idUsuario,$idPersonal,$pagadas,$idLicencia);
		$data['pagadas']		= $pagadas;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte mano de obra','Reportes',''); //Registrar bitácora

		$this->load->view("reportes/manoObra/excelManoObra",$data); 
	}
	
	//PARA LA MANO DE OBRA
	public function refacciones()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('24',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/refacciones/refacciones",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerRefacciones($limite=0)
	{
		$inicio					=$this->input->post('inicio');
		$fin					=$this->input->post('fin');
		$idProducto				=$this->input->post('idProducto');
		$pagadas				=$this->input->post('pagadas');
		$codigoInterno			=$this->input->post('codigoInterno');
		$codigoInterno			=strlen($codigoInterno)>0?$codigoInterno:'0';
		$producto				=$this->input->post('producto');
		$producto				=strlen($producto)>0?$producto:'0';
		$idVendedor				=$this->input->post('idVendedor');
		$idVendedor				=strlen($idVendedor)>0?$idVendedor:'0';
		$tipoPrecio				=$this->input->post('tipoPrecio');
		$tipoPrecio				=strlen($tipoPrecio)>0?$tipoPrecio:'0';
		$idPersonal				=$this->input->post('idPersonal');
		$idPersonal				=strlen($idPersonal)>0?$idPersonal:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerRefacciones/";
		$Pag["total_rows"]		=$this->reportes->contarRefacciones($inicio,$fin,$idProducto,$codigoInterno,$producto,$idVendedor,$pagadas,$idLicencia);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('24',$this->session->userdata('rol'));
		
		$data['productos']		=$this->reportes->obtenerRefacciones($Pag["per_page"],$limite,$inicio,$fin,$idProducto,$codigoInterno,$producto,$idVendedor,$pagadas,$idLicencia);
		$data['totales']		=$this->reportes->sumarRefacciones($inicio,$fin,$idProducto,2,$codigoInterno,$producto,$idVendedor,$pagadas,$idLicencia);
		$data['arreglos']		=$this->arreglos->obtenerCodigos($this->reportes->obtenerRefacciones(0,0,$inicio,$fin,$idProducto,0,0,0,0,0));
		$data['vendedores']		= $this->configuracion->obtenerVendedoresReporte($idLicencia);
		$data['mecanicos'] 		= $this->configuracion->obtenerMecanicosReporte($idLicencia);
		
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		$data['idProducto']		=0;#$idProducto;
		$data['criterio']		=2;
		$data['limite']			=$limite+1;
		
		$data['codigoInterno']	=$codigoInterno;
		$data['producto']		=$producto;
		$data['idVendedor']		=$idVendedor;
		$data['idPersonal']		=$idPersonal;
		$data['pagadas']		=$pagadas;
		$data['tipoPrecio']		=$tipoPrecio;
		
		$this->load->view("reportes/refacciones/obtenerRefacciones", $data); 
	}
	
	public function reporteRefacciones($inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$pagadas)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$idLicencia				= $this->input->post('idLicencia');

		$data['productos'] 		= $this->reportes->obtenerRefacciones(0,0,$inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$pagadas,$idLicencia);
		$data['totales']		=$this->reportes->sumarRefacciones($inicio,$fin,$idProducto,2,$codigoInterno,$producto,$idCliente,$pagadas,$idLicencia);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['pagadas']		=$pagadas;
		$data['criterio']		=2;
		$data['reporte'] 		= 'reportes/refacciones/refaccionesPdf';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','A3-L','','',5,5,43,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteRefacciones.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte de refacciones','Reportes',''); //Registrar bitácora
		
		echo 'reporteRefacciones';
	}
	
	public function excelRefacciones($inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$pagadas)
	{
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$data['productos'] 		= $this->reportes->obtenerRefacciones(0,0,$inicio,$fin,$idProducto,$codigoInterno,$producto,$idCliente,$pagadas,$idLicencia);
		$data['totales']		= $this->reportes->sumarRefacciones($inicio,$fin,$idProducto,2,$codigoInterno,$producto,$idCliente,$pagadas,$idLicencia);
		$data['pagadas']		= $pagadas;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte de refacciones','Reportes',''); //Registrar bitácora
		
		$this->load->view("reportes/refacciones/excelRefacciones",$data); 
	}
	
	public function borrarIngresosFacturas()
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$sql=" select a.idIngreso, b.idCotizacion,
		c.idFactura
		from catalogos_ingresos as a
		inner join cotizaciones as b
		on a.idVenta=b.idCotizacion
		inner join facturas as c
		on c.idFactura=b.idFactura
		where c.cancelada=1 ";
		
		$ingresos=$this->db->query($sql)->result();
		
		foreach($ingresos as $row)
		{
			$this->db->where('idIngreso',$row->idIngreso);
			$this->db->delete('catalogos_ingresos');
		}
		
		redirect('reportes/ingresos','refresh');
	}
	
	//PARA EL REPORTE DE VENTAS CANCELADAS
	public function ventasCanceladas()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='reporteVentasCanceladas'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('25',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/ventasCanceladas/ventasCanceladas",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerVentasCanceladas($limite=0)
	{
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idCliente				= $this->input->post('idCliente');
		$idLicencia				= $this->input->post('idLicencia');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerVentasCanceladas/";
		$Pag["total_rows"]		= $this->reportes->contarVentasCanceladas($inicio,$fin,$idCliente,$idLicencia);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('25',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['ventas'] 		= $this->reportes->obtenerVentasCanceladas($Pag["per_page"],$limite,$inicio,$fin,$idCliente,$idLicencia);
		$data['total'] 			= $this->reportes->sumarVentasCanceladas($inicio,$fin,$idCliente,$idLicencia);
		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idCliente']		= $idCliente;
		$data['idLicencia']		= $idLicencia;
		
		$this->load->view("reportes/ventasCanceladas/obtenerVentasCanceladas", $data); 
	}
	
	public function reporteVentasCanceladas($inicio,$fin,$idCliente,$idLicencia)
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte ventas canceladas','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['ventas'] 		= $this->reportes->obtenerVentasCanceladas(0,0,$inicio,$fin,$idCliente,$idLicencia);
		$data['total'] 			=$this->reportes->sumarVentasCanceladas($inicio,$fin,$idCliente,$idLicencia);
		$data['idCliente']		= $idCliente;
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/ventasCanceladas/reporteVentasCanceladas';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter','','',5,5,40.5,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function excelVentasCanceladas($inicio,$fin,$idCliente)
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte ventas canceladas','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$idLicencia		=$this->input->post('idLicencia');
		
		$data['ventas'] 		= $this->reportes->obtenerVentasCanceladas(0,0,$inicio,$fin,$idCliente,$idLicencia);
		$data['total'] 			= $this->reportes->sumarVentasCanceladas($inicio,$fin,$idCliente,$idLicencia);

		$this->load->view("reportes/ventasCanceladas/excelVentasCanceladas",$data); 
	}

	//PARA EL REPORTE DE VENTAS DESGLOSADAS
	public function ventasDesglosadas()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('26',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/ventasDesglosadas/ventasDesglosadas",$data); 
		$this->load->view("pie", $Data);
	}

	public function obtenerVentasDesglosadas($limite=0)
	{
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$cliente				= $this->input->post('cliente');
		
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		
		$idForma				= $this->input->post('idForma');
		$idForma				= strlen($idForma)>0?$idForma:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerVentasDesglosadas/";
		$Pag["total_rows"]		= $this->reportes->contarVentasDesglosadas($inicio,$fin,$cliente,$idLicencia);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('26',$this->session->userdata('rol'));

		$data['ventas'] 		= $this->reportes->obtenerVentasDesglosadas($Pag["per_page"],$limite,$inicio,$fin,$cliente,$idLicencia);
		$data['arreglos'] 		= $this->arreglos->obtenerCodigos($this->reportes->obtenerVentasDesglosadas(0,0,$inicio,$fin,'',0));
		$data['total'] 			= $this->reportes->sumarVentasDesglosadas($inicio,$fin,$cliente,$idLicencia);
		$data['formas'] 		= $this->configuracion->obtenerFormas();
		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['cliente']		= $cliente;
		$data['producto']		= $producto;
		$data['idForma']		= $idForma;
		$data['limite']			= $limite;
		$data['idCliente']		= 0;
		
		$this->load->view("reportes/ventasDesglosadas/obtenerVentasDesglosadas", $data); 
	}
	
	public function reporteVentasDesglosadas($inicio,$fin)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$idLicencia				= $this->input->post('idLicencia');
		$cliente				= $this->input->post('cliente');

		$data['ventas'] 		= $this->reportes->obtenerVentasDesglosadas(0,0,$inicio,$fin,$cliente,$idLicencia);
		$data['total'] 			=$this->reportes->sumarVentasDesglosadas($inicio,$fin,$cliente,$idLicencia);
		#$data['total'] 		=	 $this->reportes->sumarReporteVentas($inicio,$fin,$idCliente,0,0);
		$data['idCliente']		= $idCliente;
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/ventasDesglosadas/reporteVentasDesglosadas';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Legal-L','','',5,5,44,10,2,0);
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteVentasDesglosadas.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte corte de caja','Reportes',''); //Registrar bitácora
		
		echo 'reporteVentasDesglosadas';
	}
	
	public function excelVentasDesglosadas($inicio,$fin)
	{
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		$cliente				= $this->input->post('cliente');
		
		$data['ventas'] 		= $this->reportes->obtenerVentasDesglosadas(0,0,$inicio,$fin,$cliente,$idLicencia);
		$data['total'] 			=$this->reportes->sumarVentasDesglosadas($inicio,$fin,$cliente,$idLicencia);
		
		$this->configuracion->registrarBitacora('Exportar excel reporte corte de caja','Reportes',''); //Registrar bitácora

		$this->load->view("reportes/ventasDesglosadas/excelVentasDesglosadas",$data); 
	}
	
	//PARA EL REPORTE DE VENTAS SOLO PARA PÚBLICO GENERAL
	public function reporteVentasPublico($inicio,$fin,$idCliente)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['ventas'] 		= $this->reportes->obtenerVentasPublico(0,0,$inicio,$fin,$idCliente);
		$data['total'] 			=$this->reportes->sumarVentasPublico($inicio,$fin,$idCliente);
		$data['idCliente']		= $idCliente;
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/ventasPublico/reporteVentasPublico';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter-L','','',5,5,41,10,2,0);
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output();
	}
	
	public function obtenerVentasPublico($limite=0)
	{
		$inicio					=$this->input->post('inicio');
		$fin					=$this->input->post('fin');
		$idCliente				=$this->input->post('idCliente');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerVentasPublico/";
		$Pag["total_rows"]		=$this->reportes->contarVentasPublico($inicio,$fin,$idCliente);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		/*#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('14',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}*/
		
		$data['ventas'] 		=$this->reportes->obtenerVentasPublico($Pag["per_page"],$limite,$inicio,$fin,$idCliente);
		$data['total'] 			=$this->reportes->sumarVentasPublico($inicio,$fin,$idCliente);
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		$data['idCliente']		=$idCliente;
		$data['limite']			=$limite;
		
		$this->load->view("reportes/ventasPublico/obtenerVentasPublico", $data); 
	}
	
	public function ventasPublico()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='reporteVentasDesglosadas'; 
		
		#----------------------------------PERMISOS------------------------------------#
		/*$data['permiso']=$this->configuracion->obtenerPermisosId('1',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}*/
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$this->load->view("reportes/ventasPublico/ventasPublico"); 
		$this->load->view("pie", $Data);
	}
	
	
	//PARA EL REPORTE DE VENTAS CANCELADAS
	public function bitacoraUnidades()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('41',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/bitacoraUnidades/bitacoraUnidades",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerBitacoraUnidades($limite=0)
	{
		$inicio			= $this->input->post('inicio');
		$fin			= $this->input->post('fin');
		$cliente		= $this->input->post('cliente');
		
		$motor			=$this->input->post('motor');
		$motor			=strlen($motor)>0?$motor:'0';
		$marca			=$this->input->post('marca');
		$marca			=strlen($marca)>0?$marca:'0';
		$modelo			=$this->input->post('modelo');
		$modelo			=strlen($modelo)>0?$modelo:'0';
		$color			=$this->input->post('color');
		$color			=strlen($color)>0?$color:'0';
		$anio			=$this->input->post('anio');
		$anio			=strlen($anio)>0?$anio:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
		
		
		$Pag["base_url"]		= base_url()."reportes/obtenerBitacoraUnidades/";
		$Pag["total_rows"]		=$this->reportes->contarBitacoraUnidades($inicio,$fin,$cliente,$idLicencia);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		=$this->configuracion->obtenerPermisosId('41',$this->session->userdata('rol'));
		$data['ventas'] 		=$this->reportes->obtenerBitacoraUnidades($Pag["per_page"],$limite,$inicio,$fin,$cliente,$idLicencia);
		$data['arreglos'] 		=$this->arreglos->obtenerCodigos($this->reportes->obtenerBitacoraUnidades(0,0,$inicio,$fin,$cliente,$idLicencia));
		$data['inicio']			=$inicio;
		$data['fin']			=$fin;
		$data['cliente']		=$cliente;
		$data['motor']			=$motor;
		$data['marca']			=$marca;
		$data['modelo']			=$modelo;
		$data['color']			=$color;
		$data['anio']			=$anio;
		$data['limite']			=$limite+1;
		
		
		$this->load->view("reportes/bitacoraUnidades/obtenerBitacoraUnidades", $data); 
	}
	
	public function reporteBitacoraUnidades($inicio,$fin)
	{
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$idLicencia				= $this->input->post('idLicencia');
		$cliente				= $this->input->post('cliente');

		$data['ventas'] 		= $this->reportes->obtenerBitacoraUnidades(0,0,$inicio,$fin,$cliente,$idLicencia);
		$data['cliente']		= $idCliente;
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/bitacoraUnidades/reporteBitacoraUnidades';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Letter-L','','',10,10,30,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteBitacoraUnidades.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte bitácora de unidades','Reportes',''); //Registrar bitácora
		
		echo 'reporteBitacoraUnidades';
	}
	
	public function excelBitacoraUnidades($inicio,$fin)
	{
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		$cliente				= $this->input->post('cliente');
		
		$data['ventas'] 		= $this->reportes->obtenerBitacoraUnidades(0,0,$inicio,$fin,$cliente,$idLicencia);
		
		$this->configuracion->registrarBitacora('Exportar excel reporte bitácora de unidades','Reportes',''); //Registrar bitácora

		$this->load->view("reportes/bitacoraUnidades/excelBitacoraUnidades",$data); 
	}
	
	
	
	//PARA LAS LLANTAS
	public function llantasVendidas()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('43',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $this->idLicencia;
		$data['reporte']		= $this->reportes->obtenerFiltroLlantas(1);
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/llantasVendidas/llantasVendidas",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerLlantaVendida()
	{
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$ventaMinima			= $this->input->post('ventaMinima');
		$sbu					= $this->input->post('sbu');
		$sbu					= strlen($sbu)>0?$sbu:'0';
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$idLicencia				= $this->input->post('idLicencia');
	
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('43',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos']		= $this->reportes->obtenerLlantaVendida($inicio,$fin,$ventaMinima,$idSubCategoria,$idLicencia);
		$data['arreglos']		= $this->arreglos->obtenerCodigos($this->reportes->obtenerLlantaVendida($inicio,$fin,$ventaMinima,0,$idLicencia));
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias(28);
		$data['sucursal']		= $this->configuracion->obtenerSucursal();

		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['ventaMinima']	= $ventaMinima;
		$data['sbu']			= $sbu;
		$data['marca']			= $marca;
		$data['producto']		= $producto;
		$data['rin']			= $rin;
		$data['medida']			= $medida;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['idLicencia']		= $idLicencia;
		$data['criterio']		= $this->input->post('criterio');
		
		#$data['filtro']			= obtenerFiltroPedido($this->input->post('filtroSbu'),$this->input->post('filtroMarca'),$this->input->post('filtroSubCategoria'),$this->input->post('filtroDiseno'),$this->input->post('filtroMedida'),$this->input->post('filtroRin'),$this->input->post('filtroCodigoInterno'));
		
		$data['filtroSbu']				= $this->input->post('filtroSbu');
		$data['filtroMarca']			= $this->input->post('filtroMarca');
		$data['filtroSubCategoria']		= $this->input->post('filtroSubCategoria');
		$data['filtroDiseno']			= $this->input->post('filtroDiseno');
		$data['filtroMedida']			= $this->input->post('filtroMedida');
		$data['filtroRin']				= $this->input->post('filtroRin');
		$data['filtroCodigoInterno']	= $this->input->post('filtroCodigoInterno');
		
		$this->load->view(sistemaActivo=='jenrab'?"reportes/llantasVendidas/obtenerLlantaVendida":"reportes/llantasVendidas/perfectire/obtenerLlantaVendida", $data); 
	}
	
	public function reporteLlantaVendida()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte de llantas más vendidas','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$ventaMinima			= $this->input->post('ventaMinima');
		$sbu					= $this->input->post('sbu');
		$sbu					= strlen($sbu)>0?$sbu:'0';
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$idLicencia				= $this->input->post('idLicencia');

		$data['productos']		= $this->reportes->obtenerLlantaVendida($inicio,$fin,$ventaMinima,$idSubCategoria,$idLicencia);

		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['ventaMinima']	= $ventaMinima;
		$data['sbu']			= $sbu;
		$data['marca']			= $marca;
		$data['producto']		= $producto;
		$data['rin']			= $rin;
		$data['medida']			= $medida;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['idLicencia']		= $idLicencia;
		$data['criterio']		= $this->input->post('criterio');
		
		$data['filtroSbu']				= $this->input->post('filtroSbu');
		$data['filtroMarca']			= $this->input->post('filtroMarca');
		$data['filtroSubCategoria']		= $this->input->post('filtroSubCategoria');
		$data['filtroDiseno']			= $this->input->post('filtroDiseno');
		$data['filtroMedida']			= $this->input->post('filtroMedida');
		$data['filtroRin']				= $this->input->post('filtroRin');
		$data['filtroCodigoInterno']	= $this->input->post('filtroCodigoInterno');
		
		$data['reporte'] 		= sistemaActivo=='jenrab'?'reportes/llantasVendidas/reporteLlantaVendida':'reportes/llantasVendidas/perfectire/reporteLlantaVendida';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		sistemaActivo=='jenrab'?$this->mpdf->mPDF('en-x','A2-L','','',5,5,49,10,2,0):$this->mpdf->mPDF('en-x','Legal-L','','',5,5,45,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteLlantaVendida.pdf','F');
		
		echo 'reporteLlantaVendida';
	}
	
	public function excelLlantaVendida()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte de llanta más vendida','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$ventaMinima			= $this->input->post('ventaMinima');
		$sbu					= $this->input->post('sbu');
		$sbu					= strlen($sbu)>0?$sbu:'0';
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$idLicencia				= $this->input->post('idLicencia');

		$data['productos']		= $this->reportes->obtenerLlantaVendida($inicio,$fin,$ventaMinima,$idSubCategoria,$idLicencia);

		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['ventaMinima']	= $ventaMinima;
		$data['sbu']			= $sbu;
		$data['marca']			= $marca;
		$data['producto']		= $producto;
		$data['rin']			= $rin;
		$data['medida']			= $medida;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['idLicencia']		= $idLicencia;
		$data['criterio']		= $this->input->post('criterio');
		
		$data['filtroSbu']				= $this->input->post('filtroSbu');
		$data['filtroMarca']			= $this->input->post('filtroMarca');
		$data['filtroSubCategoria']		= $this->input->post('filtroSubCategoria');
		$data['filtroDiseno']			= $this->input->post('filtroDiseno');
		$data['filtroMedida']			= $this->input->post('filtroMedida');
		$data['filtroRin']				= $this->input->post('filtroRin');
		$data['filtroCodigoInterno']	= $this->input->post('filtroCodigoInterno');

		$this->load->view(sistemaActivo=='jenrab'?"reportes/llantasVendidas/excelLlantaVendida":"reportes/llantasVendidas/perfectire/excelLlantaVendida",$data); 
	}
	
	public function obtenerLlantaVendidaProducto()
	{
		error_reporting(0);
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$ventaMinima			= $this->input->post('ventaMinima');
		$idLicencia				= $this->input->post('idLicencia');
		$idProducto				= $this->input->post('idProducto');
		$filtro					= $this->input->post('filtro');
		$valor					= $this->input->post('valor');
		$criterio				= $this->input->post('criterio');
		
		$data['productos']		= $this->reportes->obtenerLlantaVendidaProducto($inicio,$fin,$ventaMinima,$idLicencia,$filtro,$valor,$criterio);
		$data['ventaMinima']	= $ventaMinima;

		$this->load->view("reportes/llantasVendidas/obtenerLlantaVendidaProducto", $data); 
	}
	
	public function comisiones()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('42',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['personal']		= $this->configuracion->obtenerMecanicos();
		$data['vendedores']		= $this->configuracion->obtenerVendedores();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/comisiones/comisiones",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerComisiones($limite=0)
	{
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idPersonal				= $this->input->post('idPersonal');
		$idPersonal				= strlen($idPersonal)>0?$idPersonal:'0';
		$criterio				= $this->input->post('criterio');
		$criterio				= strlen($criterio)>0?$criterio:'0';
		$idPuesto				= $this->input->post('idPuesto');
		$idPuesto				= strlen($idPuesto)>0?$idPuesto:'0';
		$idLicencia				= $this->input->post('idLicencia');
		
		$reportes				= $this->input->post('reporte');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerComisiones/";
		$Pag["total_rows"]		= $this->reportes->contarComisiones($inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);//Total de Registros
		$Pag["per_page"]		= 30;
		$Pag["num_links"]		= 5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('42',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['comisiones']		= $this->reportes->obtenerComisiones($Pag["per_page"],$limite,$inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);
		$data['totales']		= $this->reportes->sumarComisiones($inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);
		$data['puestos']		= $this->configuracion->obtenerPuestos();
		
		if($reportes=='1')
		{
			$data['personal']		= $this->configuracion->obtenerPersonalReporte($idLicencia);
		}
		else
		{
			$data['personal']		= $this->configuracion->obtenerPersonalReporteComisiones($idLicencia);
		}
		

		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idPersonal']		= $idPersonal;	
		$data['idPuesto']		= $idPuesto;
		$data['criterio']		= $criterio;
		$data['idLicencia']		= $idLicencia;	
		$data['reportes']		= $reportes;	
		
		$this->load->view("reportes/comisiones/obtenerComisiones", $data); 
	}
	
	public function reporteComisiones()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte comisiones','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idPersonal				= $this->input->post('idPersonal');
		$idPersonal				= strlen($idPersonal)>0?$idPersonal:'0';
		$criterio				= $this->input->post('criterio');
		$criterio				= strlen($criterio)>0?$criterio:'0';
		$idPuesto				= $this->input->post('idPuesto');
		$idPuesto				= strlen($idPuesto)>0?$idPuesto:'0';
		$idLicencia				= $this->input->post('idLicencia');
		$reportes				= $this->input->post('reporte');

		$data['comisiones']		= $this->reportes->obtenerComisiones(0,0,$inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);
		$data['totales']		= $this->reportes->sumarComisiones($inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);
		$data['puestos']		= $this->configuracion->obtenerPuestos();
		#$data['personal']		= $this->configuracion->obtenerListaPersonalReporte();
		#$data['personal']		= $this->configuracion->obtenerPersonalReporte($idLicencia);
		
		if($reporte=='1')
		{
			$data['personal']		= $this->configuracion->obtenerPersonalReporte($idLicencia);
		}
		else
		{
			$data['personal']		= $this->configuracion->obtenerPersonalReporteComisiones($idLicencia);
		}

		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idPersonal']		= $idPersonal;	
		$data['idPuesto']		= $idPuesto;
		$data['criterio']		= $criterio;
		$data['idLicencia']		= $idLicencia;
		$data['reportes']		= $reportes;
		$data['reporte'] 		= 'reportes/comisiones/reporteComisiones';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','Legal-L','','',5,5,40.5,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteComisiones.pdf','F');
		
		echo 'reporteComisiones';
	}
	
	public function excelComisiones()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte comisiones','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idPersonal				= $this->input->post('idPersonal');
		$idPersonal				= strlen($idPersonal)>0?$idPersonal:'0';
		$criterio				= $this->input->post('criterio');
		$criterio				= strlen($criterio)>0?$criterio:'0';
		$idPuesto				= $this->input->post('idPuesto');
		$idPuesto				= strlen($idPuesto)>0?$idPuesto:'0';
		$idLicencia				= $this->input->post('idLicencia');
		$reportes				= $this->input->post('reporte');

		$data['comisiones']		= $this->reportes->obtenerComisiones(0,0,$inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);
		$data['totales']		= $this->reportes->sumarComisiones($inicio,$fin,$idPersonal,$criterio,$idPuesto,$idLicencia,$reportes);
		$data['puestos']		= $this->configuracion->obtenerPuestos();
		#$data['personal']		= $this->configuracion->obtenerListaPersonalReporte();
		if($reportes=='1')
		{
			$data['personal']		= $this->configuracion->obtenerPersonalReporte($idLicencia);
		}
		else
		{
			$data['personal']		= $this->configuracion->obtenerPersonalReporteComisiones($idLicencia);
		}

		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idPersonal']		= $idPersonal;	
		$data['idPuesto']		= $idPuesto;
		$data['criterio']		= $criterio;
		$data['idLicencia']		= $idLicencia;
		$data['reportes']		= $reportes;

		$this->load->view("reportes/comisiones/excelComisiones",$data); 
	}
	
	//REPORTE DE PEDIDO DE LLANTAS
	public function pedidoLlantas()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('44',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);

		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $this->idLicencia;
		$data['reporte']		= $this->reportes->obtenerFiltroLlantas(2);
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/pedidoLlantas/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerPedidoLlantas()
	{
		$anio					= $this->input->post('anio');
		$sbu					= $this->input->post('sbu');
		$sbu					= strlen($sbu)>0?$sbu:'0';
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$codigoInterno			= $this->input->post('codigoInterno');
		$codigoInterno			= strlen($codigoInterno)>0?$codigoInterno:'0';
		
		/*$inicio					= $this->input->post('inicio').'-01';
		$fin					= $this->reportes->obtenerUltimoDia($this->input->post('fin').'-01');*/
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idLicencia				= $this->input->post('idLicencia');

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('44',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos']		= $this->reportes->obtenerPedidoLlantas($inicio,$fin,$idSubCategoria,$codigoInterno,$idLicencia);
		$data['arreglos']		= $this->arreglos->obtenerCodigos($this->reportes->obtenerPedidoLlantas($inicio,$fin,0,0,$idLicencia));
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias(1);
		$data['meses']			= $this->reportes->obtenerDiferenciaMeses($inicio,$fin);

		$data['anio']			= $anio;
		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['sbu']			= $sbu;
		$data['marca']			= $marca;
		$data['producto']		= $producto;
		$data['rin']			= $rin;
		$data['medida']			= $medida;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['codigoInterno']	= $codigoInterno;
		$data['idLicencia']		= $idLicencia;
		$data['criterio']			= $this->input->post('criterio');
		#$data['filtro']			= obtenerFiltroPedido($this->input->post('filtroSbu'),$this->input->post('filtroMarca'),$this->input->post('filtroSubCategoria'),$this->input->post('filtroDiseno'),$this->input->post('filtroMedida'),$this->input->post('filtroRin'),$this->input->post('filtroCodigoInterno'));
		$data['filtroSbu']				= $this->input->post('filtroSbu');
		$data['filtroMarca']			= $this->input->post('filtroMarca');
		$data['filtroSubCategoria']		= $this->input->post('filtroSubCategoria');
		$data['filtroDiseno']			= $this->input->post('filtroDiseno');
		$data['filtroMedida']			= $this->input->post('filtroMedida');
		$data['filtroRin']				= $this->input->post('filtroRin');
		$data['filtroCodigoInterno']	= $this->input->post('filtroCodigoInterno');
		
		$this->load->view("reportes/pedidoLlantas/obtenerPedidoLlantas", $data); 
	}
	
	public function obtenerPedidoLlantasDetalles()
	{
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idLicencia				= $this->input->post('idLicencia');
		$filtro					= $this->input->post('filtro');
		$valor					= $this->input->post('valor');
		$criterio				= $this->input->post('criterio');

		$data['productos']		= $this->reportes->obtenerPedidoLlantasDetalles($inicio,$fin,$filtro,$valor,$idLicencia,$criterio);
		$data['meses']			= $this->reportes->obtenerDiferenciaMeses($inicio,$fin);
		$data['idLicencia']		= $idLicencia;
		
		$this->load->view("reportes/pedidoLlantas/obtenerPedidoLlantasDetalles", $data); 
	}
	
	public function reportePedidoLlantas()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte pedido de llantas','Reportes',''); //Registrar bitácora
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');
		
		$anio					= $this->input->post('anio');
		$sbu					= $this->input->post('sbu');
		$sbu					= strlen($sbu)>0?$sbu:'0';
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$codigoInterno			= $this->input->post('codigoInterno');
		$codigoInterno			= strlen($codigoInterno)>0?$codigoInterno:'0';
		
		/*$inicio					= $this->input->post('inicio').'-01';
		$fin					= $this->reportes->obtenerUltimoDia($this->input->post('fin').'-01');*/
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idLicencia				= $this->input->post('idLicencia');

		$data['productos']		= $this->reportes->obtenerPedidoLlantas($inicio,$fin,$idSubCategoria,$codigoInterno,$idLicencia);
		#$data['arreglos']		= $this->arreglos->obtenerCodigos($this->reportes->obtenerPedidoLlantas($inicio,$fin,0,0));
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias(28);
		$data['meses']			= $this->reportes->obtenerDiferenciaMeses($inicio,$fin);

		$data['anio']			= $anio;
		$data['sbu']			= $sbu;
		$data['marca']			= $marca;
		$data['producto']		= $producto;
		$data['rin']			= $rin;
		$data['medida']			= $medida;
		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['codigoInterno']	= $codigoInterno;
		$data['idLicencia']		= $idLicencia;
		#$data['filtro']			= obtenerFiltroPedido($this->input->post('filtroSbu'),$this->input->post('filtroMarca'),$this->input->post('filtroSubCategoria'),$this->input->post('filtroDiseno'),$this->input->post('filtroMedida'),$this->input->post('filtroRin'),$this->input->post('filtroCodigoInterno'));
		$data['criterio']			= $this->input->post('criterio');
		$data['filtroSbu']				= $this->input->post('filtroSbu');
		$data['filtroMarca']			= $this->input->post('filtroMarca');
		$data['filtroSubCategoria']		= $this->input->post('filtroSubCategoria');
		$data['filtroDiseno']			= $this->input->post('filtroDiseno');
		$data['filtroMedida']			= $this->input->post('filtroMedida');
		$data['filtroRin']				= $this->input->post('filtroRin');
		$data['filtroCodigoInterno']	= $this->input->post('filtroCodigoInterno');
		$data['reporte'] 		= 'reportes/pedidoLlantas/reportePedidoLlantas';

		$html	=$this->load->view('reportes/principal',$data,true);

		
		$this->mpdf->mPDF('en-x','A3-L','','',5,5,44,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reportePedidoLlantas.pdf','F');
		
		echo 'reportePedidoLlantas';
	}
	
	public function excelPedidoLlantas()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte pedido de llantas','Reportes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');
		
		$anio					= $this->input->post('anio');
		$sbu					= $this->input->post('sbu');
		$sbu					= strlen($sbu)>0?$sbu:'0';
		$marca					= $this->input->post('marca');
		$marca					= strlen($marca)>0?$marca:'0';
		$producto				= $this->input->post('producto');
		$producto				= strlen($producto)>0?$producto:'0';
		$rin					= $this->input->post('rin');
		$rin					= strlen($rin)>0?$rin:'0';
		$medida					= $this->input->post('medida');
		$medida					= strlen($medida)>0?$medida:'0';
		$idSubCategoria			= $this->input->post('idSubCategoria');
		$idSubCategoria			= strlen($idSubCategoria)>0?$idSubCategoria:'0';
		
		$codigoInterno			= $this->input->post('codigoInterno');
		$codigoInterno			= strlen($codigoInterno)>0?$codigoInterno:'0';
		
		/*$inicio					= $this->input->post('inicio').'-01';
		$fin					= $this->reportes->obtenerUltimoDia($this->input->post('fin').'-01');*/
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idLicencia				= $this->input->post('idLicencia');

		$data['productos']		= $this->reportes->obtenerPedidoLlantas($inicio,$fin,$idSubCategoria,$codigoInterno,$idLicencia);
		#$data['arreglos']		= $this->arreglos->obtenerCodigos($this->reportes->obtenerPedidoLlantas($inicio,$fin,0,0));
		$data['subCategorias']	= $this->configuracion->obtenerSubCategorias(28);
		$data['meses']			= $this->reportes->obtenerDiferenciaMeses($inicio,$fin);

		$data['anio']			= $anio;
		$data['sbu']			= $sbu;
		$data['marca']			= $marca;
		$data['producto']		= $producto;
		$data['rin']			= $rin;
		$data['medida']			= $medida;
		$data['inicio']			= $inicio;
		$data['fin']			= $fin;
		$data['idSubCategoria']	= $idSubCategoria;
		$data['codigoInterno']	= $codigoInterno;
		$data['idLicencia']		= $idLicencia;
		#$data['filtro']			= obtenerFiltroPedido($this->input->post('filtroSbu'),$this->input->post('filtroMarca'),$this->input->post('filtroSubCategoria'),$this->input->post('filtroDiseno'),$this->input->post('filtroMedida'),$this->input->post('filtroRin'),$this->input->post('filtroCodigoInterno'));
		$data['criterio']			= $this->input->post('criterio');
		$data['filtroSbu']				= $this->input->post('filtroSbu');
		$data['filtroMarca']			= $this->input->post('filtroMarca');
		$data['filtroSubCategoria']		= $this->input->post('filtroSubCategoria');
		$data['filtroDiseno']			= $this->input->post('filtroDiseno');
		$data['filtroMedida']			= $this->input->post('filtroMedida');
		$data['filtroRin']				= $this->input->post('filtroRin');
		$data['filtroCodigoInterno']	= $this->input->post('filtroCodigoInterno');

		$this->load->view("reportes/pedidoLlantas/excelPedidoLlantas",$data); 
	}
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	//REPORTE DE FACTURACIÓN ELECTRONICA DEL SAT
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	public function facturacionSat()
	{
		#$this->reportes->procesarFacturasSat(); //LLENAR LOS CAMPOS FALTANTES
		
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']	=$this->configuracion->obtenerPermisosId('45',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['emisores']		= $this->reportes->obtenerEmisoresSat(); 
		
		$this->load->view("reportes/facturacionSat/index", $data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerFacturasSat($limite=0)
	{
		$fecha					= $this->input->post('fecha');
		$mes					= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio					= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$criterio				= $this->input->post('criterio');
		$recibida				= $this->input->post('recibida');
		$emisor					= $this->input->post('emisor');
		$vigencia				= $this->input->post('vigencia');
		
		#-----------------------------PAGINACION--------------------------------------#
		$paginacion["base_url"]		= base_url()."reportes/obtenerFacturasSat/";
		$paginacion["total_rows"]	=$this->reportes->contarFacturasSat($mes,$anio,$criterio,$recibida,$emisor,$vigencia);
		$paginacion["per_page"]		=20;
		$paginacion["num_links"]	=5;
		
		$this->pagination->initialize($paginacion);

		$data['facturas'] 		= $this->reportes->obtenerFacturasSat($mes,$anio,$paginacion["per_page"],$limite,$criterio,$recibida,$emisor,$vigencia);
		$data['permiso']		= $this->configuracion->obtenerPermisosId('45',$this->session->userdata('rol'));
		
		$data['mes']			= $mes;
		$data['anio']			= $anio;
		$data['criterio']		= $criterio;
		$data['emisor']			= $emisor;
		$data['limite']			= $limite;
		
		$this->load->view('reportes/facturacionSat/obtenerFacturas',$data);
	}
	
	public function zipearFacturasSat()
	{
		$this->load->library('../controllers/pdf','pdf');
		
		$this->configuracion->registrarBitacora('Zippear reporte facturación sat','Reportes',''); //Registrar bitácora
		
		$fecha					= $this->input->post('fecha');
		$mes					= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio					= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$criterio				= $this->input->post('criterio');
		$recibida				= $this->input->post('recibida');
		$emisor					= $this->input->post('emisor');
		$vigencia				= $this->input->post('vigencia');
		
		$data['facturas'] 		= $this->reportes->obtenerFacturasSat($mes,$anio,0,0,$criterio,$recibida,$emisor,$vigencia,"1");
		$data['pdf']			= new $this->pdf;
		$data['mes']			= $mes;
		$data['anio']			= $anio;
		$data['criterio']		= $criterio;
		$data['emisor']			= $emisor;
		
		$this->load->view('reportes/facturacionSat/zipearFacturasSat',$data);
	}
	
	
	public function descargaZipSat($nombre)
	{
		$this->load->helper('download');

		$data = file_get_contents("media/sat/".$nombre); // Read the file's contents

		force_download($nombre, $data); 
	}
	
	function descargarXMLSat($idFactura) #Descargar el archivo XML
	{
		$this->load->helper('download');
		
		$carpeta	= "media/sat/";
		$factura	= $this->reportes->obtenerFacturaSat($idFactura);
		$fichero	= $factura->rfcEmisor.'_'.obtenerFechaMesCorto($factura->fecha).'_'.$factura->serie.$factura->folio.'.xml';
		
		guardarFichero($carpeta.$fichero,$factura->xml);

		$data 		= file_get_contents($carpeta.$fichero); 
		
		force_download($fichero, $data); 
	}
	
	public function lista()
	{
		error_reporting(0);
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['traspasos'] 		= $this->reportes->contarTraspasosAlerta();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/lista",$data); 
		$this->load->view("pie", $Data);
	}

	public function listaEjecutivos()
	{
		error_reporting(0);
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['traspasos'] 		= $this->reportes->contarTraspasosAlerta();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/listaEjecutivos",$data); 
		$this->load->view("pie", $Data);
	}
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	//REPORTE DE MOVIMIENTOS
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	
	public function historialMovimientos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['jvalidate']		= $this->_jss['jvalidate'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('52',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']		= $this->bancos->obtenerCuentas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/historialMovimientos/historialMovimientos", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerHistorialMovimientos($limite=0)
	{
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$usuario					= $this->input->post('usuario');
		$modulo						= $this->input->post('modulo');

		//-----------------------------PAGINACION--------------------------------------
		$paginacion["base_url"]		= base_url()."reportes/obtenerHistorialMovimientos/";
		$paginacion["total_rows"]	= $this->reportes->contarHistorialMovimientos($inicio,$fin,$idLicencia,$usuario,$modulo);
		$paginacion["per_page"]		= 50;
		$paginacion["num_links"]	= 5;
		
		$this->pagination->initialize($paginacion);
		$data['permiso']			= $this->configuracion->obtenerPermisosId('52',$this->session->userdata('rol'));
		$data['movimientos']		= $this->reportes->obtenerHistorialMovimientos($paginacion["per_page"],$limite,$inicio,$fin,$idLicencia,$usuario,$modulo);
		
		$data['usuarios'] 			= $this->reportes->obtenerUsuariosHistorialMovimientos($inicio,$fin,$idLicencia);
		$data['modulos']			= $this->reportes->obtenerModulosHistorialMovimientos($inicio,$fin,$idLicencia);
		
		$data['inicio'] 			= $inicio;
		$data['fin'] 				= $fin;
		$data['usuario'] 			= $usuario;
		$data['modulo'] 			= $modulo;
		$data['limite'] 			= $limite+1;
		
		$this->load->view('reportes/historialMovimientos/obtenerHistorialMovimientos',$data);
	}
	
	public function reporteHistorialMovimientos()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte historial de movimientos','Reportes',''); //Registrar bitácora
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idLicencia				= $this->input->post('idLicencia');
		$usuario				= $this->input->post('usuario');
		$modulo					= $this->input->post('modulo');
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['movimientos']	= $this->reportes->obtenerHistorialMovimientos(0,0,$inicio,$fin,$idLicencia,$usuario,$modulo);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/historialMovimientos/reporteHistorialMovimientos';
		$html					= $this->load->view('reportes/principal',$data,true);

		$this->mpdf->mPDF('en-x','Letter-L','','',3,3,30,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/historialMovimientos.pdf','F');
		#var_dump($data['movimientos']);
		echo 'historialMovimientos';
	}
	
	//EL EXCEL DE LOS INGRESOS
	public function excelHistorialMovimientos()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte historial de movimientos','Reportes',''); //Registrar bitácora
		
		$inicio					= $this->input->post('inicio');
		$fin					= $this->input->post('fin');
		$idLicencia				= $this->input->post('idLicencia');
		$usuario				= $this->input->post('usuario');
		$modulo					= $this->input->post('modulo');
		
		$this->load->library('excel/PHPExcel');

		$data['movimientos']	= $this->reportes->obtenerHistorialMovimientos(0,0,$inicio,$fin,$idLicencia,$usuario,$modulo);

		$this->load->view("reportes/historialMovimientos/excelHistorialMovimientos", $data);
	}
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	//REPORTE DE MOVIMIENTOS
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	
	public function autorizaciones()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['jvalidate']		= $this->_jss['jvalidate'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('53',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']		= $this->bancos->obtenerCuentas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/autorizaciones/autorizaciones", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerAutorizaciones($limite=0)
	{
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$criterio					= $this->input->post('criterio');

		//-----------------------------PAGINACION--------------------------------------
		$paginacion["base_url"]		= base_url()."reportes/obtenerAutorizaciones/";
		$paginacion["total_rows"]	= $this->reportes->contarAutorizaciones($inicio,$fin,$idLicencia,$criterio);
		$paginacion["per_page"]		= 50;
		$paginacion["num_links"]	= 5;
		
		$this->pagination->initialize($paginacion);
		$data['permiso']			= $this->configuracion->obtenerPermisosId('53',$this->session->userdata('rol'));
		$data['autorizaciones']		= $this->reportes->obtenerAutorizaciones($paginacion["per_page"],$limite,$inicio,$fin,$idLicencia,$criterio);
		$data['inicio'] 			= $inicio;
		$data['fin'] 				= $fin;
		
		$this->load->view('reportes/autorizaciones/obtenerAutorizaciones',$data);
	}
	
	public function reporteAutorizaciones()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte de autorizaciones de crédito','Reportes',''); //Registrar bitácora
		
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$criterio					= $this->input->post('criterio');
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['autorizaciones']	= $this->reportes->obtenerAutorizaciones(0,0,$inicio,$fin,$idLicencia,$criterio);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/autorizaciones/reporteAutorizaciones';
		$html					= $this->load->view('reportes/principal',$data,true);

		$this->mpdf->mPDF('en-x','Letter-L','','',3,3,30,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/autorizaciones.pdf','F');
		#var_dump($data['movimientos']);
		echo 'autorizaciones';
	}
	
	//EL EXCEL DE LOS INGRESOS
	public function excelAutorizaciones()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte de autorizaciones de crédito','Reportes',''); //Registrar bitácora
		
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$criterio					= $this->input->post('criterio');
		
		$this->load->library('excel/PHPExcel');

		$data['autorizaciones']	= $this->reportes->obtenerAutorizaciones(0,0,$inicio,$fin,$idLicencia,$criterio);

		$this->load->view("reportes/autorizaciones/excelAutorizaciones", $data);
	}
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	//REPORTE DE CHECADOR
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	
	public function checador()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['jvalidate']		= $this->_jss['jvalidate'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('54',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/checador/checador", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerChecador($limite=0)
	{
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$criterio					= $this->input->post('criterio');

		//-----------------------------PAGINACION--------------------------------------
		$paginacion["base_url"]		= base_url()."reportes/obtenerChecador/";
		$paginacion["total_rows"]	= $this->reportes->contarChecador($inicio,$fin,$idLicencia,$criterio);
		$paginacion["per_page"]		= 50;
		$paginacion["num_links"]	= 5;
		
		$this->pagination->initialize($paginacion);
		$data['permiso']			= $this->configuracion->obtenerPermisosId('54',$this->session->userdata('rol'));
		$data['checador']			= $this->reportes->obtenerChecador($paginacion["per_page"],$limite,$inicio,$fin,$idLicencia,$criterio);
		$data['inicio'] 			= $inicio;
		$data['fin'] 				= $fin;
		
		$this->load->view('reportes/checador/obtenerChecador',$data);
	}
	
	public function reporteChecador()
	{
		$this->configuracion->registrarBitacora('Exportar pdf reporte de checador','Reportes',''); //Registrar bitácora
		
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$criterio					= $this->input->post('criterio');
		
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['checador']		= $this->reportes->obtenerChecador(0,0,$inicio,$fin,$idLicencia,$criterio);
		$data['inicio'] 		= $inicio;
		$data['fin'] 			= $fin;
		$data['reporte'] 		= 'reportes/checador/reporteChecador';
		$html					= $this->load->view('reportes/principal',$data,true);

		$this->mpdf->mPDF('en-x','Letter-L','','',3,3,30,10,2,0);
		#$this->mpdf->SetHTMLFooter($pie);
		#$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/Checador.pdf','F');
		#var_dump($data['movimientos']);
		echo 'Checador';
	}
	
	//EL EXCEL DE LOS INGRESOS
	public function excelChecador()
	{
		$this->configuracion->registrarBitacora('Exportar excel reporte de checador','Reportes',''); //Registrar bitácora
		
		$inicio						= $this->input->post('inicio');
		$fin						= $this->input->post('fin');
		$idLicencia					= $this->input->post('idLicencia');
		$criterio					= $this->input->post('criterio');
		
		$this->load->library('excel/PHPExcel');

		$data['checador']			= $this->reportes->obtenerChecador(0,0,$inicio,$fin,$idLicencia,$criterio);

		$this->load->view("reportes/checador/excelChecador", $data);
	}
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	//REPORTE X
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	
	public function datos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['jvalidate']		= $this->_jss['jvalidate'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	
		$data['permiso']=$this->configuracion->obtenerPermisosId('53',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['cuentas']		= $this->bancos->obtenerCuentas();
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['licencia']		= $this->configuracion->obtenerLicencia($this->idLicencia);
		$data['idLicencia'] 	= $this->idLicencia;
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/datos/datos", $data); //principal lista de clientes
		$this->load->view("pie", $Data);
	}
	
	public function obtenerDatos($limite=0)
	{
		//-----------------------------PAGINACION--------------------------------------
	
		$data['permiso']			= $this->configuracion->obtenerPermisosId('53',$this->session->userdata('rol'));
		
		$data['inicio'] 			= $this->input->post('inicio');
		$data['fin'] 				= $this->input->post('fin');
		$data['tipo'] 				= $this->input->post('tipo');
		$data['idSubCategoria'] 	= $this->input->post('idSubCategoria');
		$data['numeroLicencias'] 	= $this->input->post('txtNumeroLicencias');
		
		$data['subCategorias']		= $this->configuracion->obtenerSubCategorias($data['tipo']=='Llantas'?28:26);
		$data['subCategoria']		= $this->configuracion->obtenerSubCategoria($data['idSubCategoria']);
		
		
		if($data['tipo']=='Llantas')
		{
			$this->load->view('reportes/datos/obtenerLlantas',$data);
		}
		
		if($data['tipo']=='Refacciones')
		{
			$this->load->view('reportes/datos/obtenerRefacciones',$data);
		}
		
		if($data['tipo']=='Mano de obra')
		{
			$this->load->view('reportes/datos/obtenerManoObra',$data);
		}
		
	}
	
	public function reporteDatos()
	{
		#$this->configuracion->registrarBitacora('Exportar pdf reporte de autorizaciones de crédito','Reportes',''); //Registrar bitácora
		ini_set("memory_limit","1500M");
		set_time_limit(0); 
		
		$this->load->library('mpdf/mpdf');

		$data['inicio'] 			= $this->input->post('inicio');
		$data['fin'] 				= $this->input->post('fin');
		$data['tipo'] 				= $this->input->post('tipo');
		$data['idSubCategoria'] 	= $this->input->post('idSubCategoria');
		$data['numeroLicencias'] 	= $this->input->post('txtNumeroLicencias');
		
		$data['subCategoria']		= $this->configuracion->obtenerSubCategoria($data['idSubCategoria']);
		
		
		if($data['tipo']=='Llantas')
		{
			#$this->load->view('reportes/datos/obtenerLlantas',$data);
			$data['reporte'] 		= 'reportes/datos/reporteLlantas';
		}
		
		if($data['tipo']=='Refacciones')
		{
			$data['reporte'] 		= 'reportes/datos/reporteRefacciones';
		}
		
		if($data['tipo']=='Mano de obra')
		{
			$data['reporte'] 		= 'reportes/datos/reporteManoObra';
		}
		
		$html					= $this->load->view('reportes/principal',$data,true);
		$pie			= $this->load->view('reportes/pie',$data,true);

		$this->mpdf->mPDF('en-x','Letter-L','','',3,3,10,10,2,0);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		$this->mpdf->mirrorMargins = 1;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/Reporte.pdf','F');

		echo 'reporte';
	}
	
	//EL EXCEL DE LOS INGRESOS
	public function excelDatos()
	{
		$data['inicio'] 			= $this->input->post('inicio');
		$data['fin'] 				= $this->input->post('fin');
		$data['tipo'] 				= $this->input->post('tipo');
		$data['idSubCategoria'] 	= $this->input->post('idSubCategoria');
		$data['numeroLicencias'] 	= $this->input->post('txtNumeroLicencias');
		
		$data['subCategoria']		= $this->configuracion->obtenerSubCategoria($data['idSubCategoria']);
		
		$this->load->library('excel/PHPExcel');

		if($data['tipo']=='Llantas')
		{
			$this->load->view("reportes/datos/excelLlantas", $data);
		}
		
		if($data['tipo']=='Refacciones')
		{
			$this->load->view("reportes/datos/excelRefacciones", $data);
		}
		
		if($data['tipo']=='Mano de obra')
		{
			$this->load->view("reportes/datos/excelMano", $data);
		}
	}
	
	//ACUSE DE CANCELACIÓN
	public function descargarAcuse($folio,$rfc,$idLicencia=0)
	{
		$this->load->helper('download');
		$data 			= file_get_contents(carpetaCfdi.$idLicencia.'_facturacion/cfdi/'.$rfc.'/folio'.$folio.'/acuse'.$folio.'.pdf'); 
		$acuse 		    = 'acuse'.$folio.'.pdf';
		
		force_download($acuse, $data); 
	}
	
	//VENTAS NO FACTURADAS
	public function ventasNoFacturadas()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		= $this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/ventasNoFacturadas/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerVentasNoFacturadas($limite=0)
	{
		$fecha					= $this->input->post('fecha');
		$mes					= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio					= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');

		$Pag["base_url"]		= base_url()."reportes/obtenerVentasNoFacturadas/";
		$Pag["total_rows"]		= $this->reportes->contarVentasNoFacturadas($criterio,$mes,$anio,$idLicencia);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		$Pag["uri_segment"]		= 3;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['clientes'] 		= $this->clientes->obtenerClientes();
		$data['ventas'] 		= $this->reportes->obtenerVentasNoFacturadas($Pag["per_page"],$limite,$criterio,$mes,$anio,$idLicencia);
		$data['emisores']		= $this->configuracion->obtenerEmisoresFacturacion();
		#$data['totales'] 		= $this->reportes->sumarReporteVentas($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);
		#$data['ventasCredito']	= $this->reportes->sumarVentasCredito($inicio,$fin,$cliente,$idZona,$idVendedor,$idMecanico,$cotizacion,$factura,$idLicencia,$idVendedorTienda);

		$data['limite'] 		= $limite+1;

		$data['idLicencia'] 	= $idLicencia;
		$data['criterio'] 		= $criterio;
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/ventasNoFacturadas/obtenerVentas",$data); 
	}
	
	public function reporteVentasNoFacturadas()
	{
		set_time_limit(0); 
		ini_set("memory_limit","1500M");
		
		$fecha					= $this->input->post('fecha');
		$mes					= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio					= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');
		
		$this->load->library('mpdf/mpdf');
		
		$data['ventas'] 		= $this->reportes->obtenerVentasNoFacturadas(0,0,$criterio,$mes,$anio,$idLicencia);
		
		$data['mes'] 			= $mes;
		$data['anio'] 			= $anio;
		$data['criterio'] 		= $criterio;

		$data['reporte']		= 'reportes/ventasNoFacturadas/reporteVentas';
		$data['permiso']		=  $this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));

		$html			= $this->load->view('reportes/principal',$data,true);
		$pie			= $this->load->view('reportes/pie',$data,true);
		$cabecera		= $this->load->view('reportes/ventasNoFacturadas/cabecera',$data,true);
		
		$this->mpdf->mPDF('en-x','Legal-L','','',2,2,30,10,2,0);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->SetHTMLHeader ($cabecera);
		$this->mpdf->SetHTMLHeader ($cabecera,'E');
		
		$this->mpdf->mirrorMargins 		= 1;
		$this->mpdf->useSubstitutions	= true; 
		$this->mpdf->simpleTables 		= true;
		$this->mpdf->packTableData 		= true;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteVentasNoFacturadas.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte ventas a clientes no facturadas','Reportes',''); //Registrar bitácora
		
		echo 'reporteVentasNoFacturadas';
	}
	
	public function excelVentasNoFacturadas()
	{
		$this->load->library('excel/PHPExcel');
		
		$fecha					= $this->input->post('fecha');
		$mes					= strlen($fecha)>4?substr($fecha,5,2):'mes';
		$anio					= strlen($fecha)>4?substr($fecha,0,4):'anio';
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');
		
		$data['ventas'] 		= $this->reportes->obtenerVentasNoFacturadas(0,0,$criterio,$mes,$anio,$idLicencia);
		
		$data['mes'] 			= $mes;
		$data['anio'] 			= $anio;
		$data['criterio'] 		= $criterio;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte ventas a clientes no facturadas','Reportes',''); //Registrar bitácora
		
		$this->load->view('reportes/ventasNoFacturadas/excelVentas',$data);
	}
	
	public function obtenerVentaEditar()
	{
		$data['venta']			= $this->ventas->obtenerVentaEditar($this->input->post('idCotizacion'));
		
		$this->load->view('reportes/ventasNoFacturadas/obtenerVentaEditar',$data);
	}
	
	public function editarVenta()
	{
		if(!empty($_POST))
		{
			echo $this->ventas->editarVentaCliente();
		}
		else
		{
			echo "0";
		}
	}
	
	public function traspasos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		= $this->configuracion->obtenerPermisosId('55',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 			= $this->idLicencia;
		$data['licencias'] 				= $this->configuracion->obtenerLicenciasFirestone(1);
		$data['permisoTraspaso']		= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,30):1;
		#$data['permisoTraspaso']		= $this->configuracion->comprobarPermisoAsignado($this->_iduser,30);

		$this->load->view("reportes/traspasos/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	//ENTRADAS Y SALIDAS
	
	public function entradasSalidas()
	{
		$Data['title'] 			="Panel de Administración";
		$Data['cassadmin'] 		=$this->_csstyle["cassadmin"];
		$Data['csmenu'] 		=$this->_csstyle["csmenu"];
		$Data['csvalidate'] 	=$this->_csstyle["csvalidate"];
		$Data['csui'] 			=$this->_csstyle["csui"];
		$Data['nameusuario'] 	=$this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	=$this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['JFuntPagClien']	=$this->_jss['JFuntPagClien'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['menuActivo']		='listaReportes'; 
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('58',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
		
		$data['licencias']		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia'] 	= $this->idLicencia;
		$data['categorias']		= $this->configuracion->obtenerLineas();
		$data['matriz'] 		= $this->matriz;
		
		$this->load->view("reportes/entradasSalidas/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerEntradasSalidas($limite=0)
	{
		#error_reporting(1);
		ini_set("memory_limit","1500M");
		set_time_limit(0); 

		$criterio				= $this->input->post('criterio');
		$idLicencia				= $this->input->post('idLicencia');
		$diferencias			= $this->input->post('diferencias');
		$idLinea				= $this->input->post('idLinea');
		
		$Pag["base_url"]		= base_url()."reportes/obtenerEntradasSalidas/";
		$Pag["total_rows"]		=$this->reportes->contarEntradasSalidas($idLicencia,$criterio,$diferencias,$idLinea);//Total de Registros
		$Pag["per_page"]		=50;
		$Pag["num_links"]		=5;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('58',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['productos'] 		= $this->reportes->obtenerEntradasSalidas($Pag["per_page"],$limite,$idLicencia,$criterio,$diferencias,$idLinea);
		$data['permisoAjustes']	= $this->_role!=1?$this->configuracion->comprobarPermisoAsignado($this->_iduser,36):1;

		$data['limite']			= $limite+1;
		$data['idLicencia']		= $idLicencia;

		$this->load->view("reportes/entradasSalidas/obtenerEntradasSalidas", $data); 
	}
	
	public function ajuste0()
	{
		if(!empty($_POST))
		{
			$criterio				= $this->input->post('criterio');
			$idLicencia				= $this->input->post('idLicencia');
			$diferencias			= $this->input->post('diferencias');
			$idLinea				= $this->input->post('idLinea');

			echo json_encode($this->reportes->ajuste0($idLicencia,$criterio,$diferencias,$idLinea));
		}
		else
		{
			echo json_encode(array("0",'Sin datos que procesar'));
		}
	}
	
	public function ajusteFisico()
	{
		if(!empty($_POST))
		{
			$criterio				= $this->input->post('criterio');
			$idLicencia				= $this->input->post('idLicencia');
			$diferencias			= $this->input->post('diferencias');
			$idLinea				= $this->input->post('idLinea');

			echo json_encode($this->reportes->ajusteFisico($idLicencia,$criterio,$diferencias,$idLinea));
		}
		else
		{
			echo json_encode(array("0",'Sin datos que procesar'));
		}
	}
	
	public function reporteEntradasSalidas()
	{
		set_time_limit(0); 
		ini_set("memory_limit","1500M");
		
		$criterio				= $this->input->post('criterio');
		$idLicencia				= $this->input->post('idLicencia');
		$diferencias			= $this->input->post('diferencias');
		$idLinea				= $this->input->post('idLinea');
		
		$this->load->library('mpdf/mpdf');
		
		$data['productos'] 		= $this->reportes->obtenerEntradasSalidas(0,0,$idLicencia,$criterio,$diferencias,$idLinea);
		$data['reporte']		= 'reportes/entradasSalidas/reporteEntradasSalidas';
		$data['permiso']		=  $this->configuracion->obtenerPermisosId('29',$this->session->userdata('rol'));
		$data['idLicencia']		= $idLicencia;

		$html			= $this->load->view('reportes/principal',$data,true);
		$pie			= $this->load->view('reportes/pie',$data,true);
		$cabecera		= $this->load->view('reportes/entradasSalidas/cabecera',$data,true);
		
		$this->mpdf->mPDF('en-x','Legal-L','','',2,2,30,10,2,0);
		$this->mpdf->SetHTMLFooter($pie);
		$this->mpdf->SetHTMLFooter($pie,'E');
		
		$this->mpdf->SetHTMLHeader ($cabecera);
		$this->mpdf->SetHTMLHeader ($cabecera,'E');
		
		$this->mpdf->mirrorMargins 		= 1;
		$this->mpdf->useSubstitutions	= true; 
		$this->mpdf->simpleTables 		= true;
		$this->mpdf->packTableData 		= true;
		$this->mpdf->WriteHTML($html);
		$this->mpdf->Output('media/ficheros/reporteEntradasSalidas.pdf','F');
		
		$this->configuracion->registrarBitacora('Exportar pdf reporte de entradas y salidas','Reportes',''); //Registrar bitácora
		
		echo 'reporteEntradasSalidas';
	}
	
	public function excelEntradasSalidas()
	{
		$this->load->library('excel/PHPExcel');
		
		$criterio				= $this->input->post('criterio');
		$idLicencia				= $this->input->post('idLicencia');
		$diferencias			= $this->input->post('diferencias');
		$idLinea				= $this->input->post('idLinea');
		
		$data['productos'] 		= $this->reportes->obtenerEntradasSalidas(0,0,$idLicencia,$criterio,$diferencias,$idLinea);
		$data['idLicencia']		= $idLicencia;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte de entradas y salidas','Reportes',''); //Registrar bitácora
		
		$this->load->view('reportes/entradasSalidas/excelEntradasSalidas',$data);
	}
	
	//INVENTARIO IDEAL
	public function inventarioIdeal()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		= $this->configuracion->obtenerPermisosId('59',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();

		$this->load->view("reportes/inventarioIdeal/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerInventarioIdeal2($limite=0)
	{
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');

		$Pag["base_url"]		= base_url()."reportes/obtenerInventarioIdeal/";
		$Pag["total_rows"]		= $this->reportes->contarInventarioIdeal($criterio,$idLicencia);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		$Pag["uri_segment"]		= 3;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('59',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos'] 		= $this->reportes->obtenerInventarioIdeal($Pag["per_page"],$limite,$criterio,$idLicencia);
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['limite'] 		= $limite+1;
		$data['idLicencia'] 	= $idLicencia;
		$data['criterio'] 		= $criterio;

		$this->load->view("reportes/inventarioIdeal/obtenerReporte",$data); 
	}
	
	public function obtenerInventarioIdeal($limite=0)
	{
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');

		$Pag["base_url"]		= base_url()."reportes/obtenerInventarioIdeal/";
		$Pag["total_rows"]		= $this->reportes->contarInventarioIdeal($criterio,$idLicencia);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		$Pag["uri_segment"]		= 3;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('59',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos'] 		= $this->reportes->obtenerInventarioIdeal($Pag["per_page"],$limite,$criterio,$idLicencia);
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['limite'] 		= $limite+1;
		$data['idLicencia'] 	= $idLicencia;
		$data['criterio'] 		= $criterio;

		$this->load->view("reportes/inventarioIdeal/obtenerReporte",$data); 
	}
	
	public function excelInventarioIdeal()
	{
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');
		
		$data['productos'] 		= $this->reportes->obtenerInventarioIdeal(0,0,$criterio,$idLicencia);
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $idLicencia;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte de inventario ideal','Reportes',''); //Registrar bitácora
		
		$this->load->view('reportes/inventarioIdeal/excelReporte',$data);
	}
	
	//REPORTE NUEDVO
	public function costoInventario()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			= $this->_jss['jquery'];
		$Data['Jqui']			= $this->_jss['jqueryui'];
		$Data['Jquical']		= $this->_jss['jquerycal'];
		$Data['permisos']		= $this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		= 'listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']		= $this->configuracion->obtenerPermisosId('57',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();

		$this->load->view("reportes/costoInventario/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerCostoInventario($limite=0)
	{
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');

		$Pag["base_url"]		= base_url()."reportes/obtenerCostoInventario/";
		$Pag["total_rows"]		= $this->reportes->contarCostoInventario($criterio,$idLicencia);//Total de Registros
		$Pag["per_page"]		= 50;
		$Pag["num_links"]		= 5;
		$Pag["uri_segment"]		= 3;
		
		$this->pagination->initialize($Pag);
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('57',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		$data['productos'] 		= $this->reportes->obtenerCostoInventario($Pag["per_page"],$limite,$criterio,$idLicencia);
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['limite'] 		= $limite+1;
		$data['idLicencia'] 	= $idLicencia;
		$data['criterio'] 		= $criterio;

		$this->load->view("reportes/costoInventario/obtenerReporte",$data); 
	}
	
	public function excelCostoInventario()
	{
		$this->load->library('excel/PHPExcel');
		
		$idLicencia				= $this->input->post('idLicencia');
		$criterio				= $this->input->post('criterio');
		
		$data['productos'] 		= $this->reportes->obtenerCostoInventario(0,0,$criterio,$idLicencia);
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['idLicencia']		= $idLicencia;
		
		$this->configuracion->registrarBitacora('Exportar excel reporte de costo inventario','Reportes',''); //Registrar bitácora
		
		$this->load->view('reportes/costoInventario/excelReporte',$data);
	}
	
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	//REPORTE DE CLIENTES
	//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	public function exportarClientes()
	{
		set_time_limit(0); 
		ini_set("memory_limit","1500M");
		
		$this->configuracion->registrarBitacora('Exportar excel clientes','Clientes',''); //Registrar bitácora
		
		$this->load->library('excel/PHPExcel');

		$data['clientes']	= $this->reportes->obtenerClientesExportar();

		$this->load->view("reportes/clientes/excel", $data);
	}
	

	//GASTOS ADMINISTRATIVOS
	public function gastosAdministrativos()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/gastosAdministrativos/index",$data); 
		$this->load->view("pie", $Data);
	}
	
	public function obtenerGastosAdministrativos($limite=0)
	{
		$tipoFecha		= $this->input->post('tipoFecha');
		$fecha			= $this->input->post('fecha');
		$anio			= $this->input->post('anio');
		
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		
		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}
		
		if($tipoFecha=='0')
		{
			$fecha					= obtenerFechaCortada($fecha);
			$data['mes'] 			= $fecha[1];
			$data['anio'] 			= $fecha[0];
			$data['registros'] 		= $this->reportes->obtenerGastosAdministrativosMes($fecha[1],$fecha[0]);
			$data['total'] 			= $this->reportes->obtenerGastosAdministrativosTotal($fecha[1],$fecha[0]);

			$this->load->view("reportes/gastosAdministrativos/obtenerRegistros",$data); 
		}
		else
		{
			$data['registros'] 		= $this->reportes->obtenerGastosAdministrativosAnio($anio);
			$data['total'] 			= $this->reportes->obtenerGastosAdministrativosTotalAnio($anio);
			$data['anio'] 			= $anio;

			$this->load->view("reportes/gastosAdministrativos/obtenerRegistrosAnio",$data); 
		}
	}
		
	//CUENTAS COBRAR
	public function cuentasCobrar()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/cuentasCobrar/index",$data); 
		$this->load->view("pie", $Data);
		
	}

	public function obtenerCuentasCobrar($limite=0)
	{
		$criterio			= $this->input->post('criterio');
		
		$data['registros'] 		= $this->reportes->obtenerClientesCuentasCobrar($criterio);

		$this->load->view("reportes/cuentasCobrar/obtenerRegistros",$data);
	}

	//CUENTAS COBRAR
	public function cuentasPagar()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/cuentasPagar/index",$data); 
		$this->load->view("pie", $Data);
	}

	public function obtenerCuentasPagar($limite=0)
	{
		$criterio				= $this->input->post('criterio');
		
		$data['registros'] 		= $this->reportes->obtenerProveedoresCuentasPagar($criterio);

		$this->load->view("reportes/cuentasPagar/obtenerRegistros",$data);
	}

	//REPORTE DIARIO
	public function reporteDiario()
	{
		$Data['title'] 			= "Panel de Administración";
		$Data['cassadmin'] 		= $this->_csstyle["cassadmin"];
		$Data['csmenu'] 		= $this->_csstyle["csmenu"];
		$Data['csvalidate'] 	= $this->_csstyle["csvalidate"];
		$Data['csui'] 			= $this->_csstyle["csui"];
		$Data['nameusuario'] 	= $this->modelousuario->getUsuarios($this->_iduser);
		$Data['Fecha_actual'] 	= $this->_fechaActual;
		$Data['Jry']			=$this->_jss['jquery'];
		$Data['Jqui']			=$this->_jss['jqueryui'];
		$Data['Jquical']		=$this->_jss['jquerycal'];
		$Data['permisos']		=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		$Data['menuActivo']		='listaReportes'; 
		
		$this->load->view("cabezera", $Data);
		$this->load->view('header', $Data);
		$this->load->view("principal", $Data);
	

		#----------------------------------PERMISOS------------------------------------#
		$data['permiso']=$this->configuracion->obtenerPermisosId('13',$this->session->userdata('rol'));
		
		if($data['permiso']->leer=='0' and $data['permiso']->escribir=='0')
		{
			redirect('principal/permisosUsuario','refresh');
			return;
		}

		$data['idLicencia'] 	= $this->idLicencia;
		$data['licencias'] 		= $this->configuracion->obtenerLicenciasFirestone();
		$data['matriz'] 		= $this->matriz;

		$this->load->view("reportes/reporteDiario/index",$data); 
		$this->load->view("pie", $Data);
	}

	public function obtenerReporteDiario()
	{
		$fecha							= $this->input->post('fecha');
		
		$data['ventasFacturas'] 		= $this->reportes->obtenerFacturasCreditoContado($fecha);
		$data['ventasRemisiones'] 		= $this->reportes->obtenerRemisionesCreditoContado($fecha);
		$data['cobranzaFacturas'] 		= $this->reportes->obtenerFacturasCobranza($fecha);
		$data['cobranzaRemisiones'] 	= $this->reportes->obtenerRemisionesCobranza($fecha);

		$this->load->view("reportes/reporteDiario/obtenerRegistros",$data);
	}

	public function descargarPdfPrevia($fichero,$reporte)
	{
		$this->load->helper('download');
		
		$descarga 		= $reporte.'_'.date('Y-m-d').'.pdf';
		$data 			= file_get_contents(carpetaCfdi.$fichero.'.pdf'); 

		force_download($descarga, $data); 
	}
}
?>
