<?php
class Factura_ventas extends CI_Controller
{
    protected $_fechaActual;
	protected $_iduser;
	protected $_csstyle;
    protected $_tables;

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

		if( ! $this->redux_auth->logged_in() )
		{//verificar si el el usuario ha iniciado sesion
 			redirect(base_url().'login');
 		}
		
		$this->load->library('MY_Letras');
                
        $datestring   = "%Y-%m-%d %H:%i:%s";
	    $this->_fechaActual = mdate($datestring,now());
		
	    $this->_iduser = $this->session->userdata('id');
        $this->config->load('datatables', TRUE);
  	    $this->_tables = $this->config->item('datatables');

	    $this->config->load('style', TRUE);
	    $this->_csstyle = $this->config->item('style');

		$this->config->load('js',TRUE);
		$this->_jss=$this->config->item('js');
		
		$this->load->model("modelousuario","model");
		$this->load->model("modelo_configuracion","configuracion");
          //  $this->load->model("modelcotizar","modelocotizar");
	   // $this->load->model('productos_model','modelproductos');
            //$this->load->model('modelcatalogos','modelcliente');
            //$this->load->model('proveedores_model','modeloproveedores');

            $this->load->model('facturav_model','modelofacturas');
            
	}//construct

public function remision($idcl,$idct)
{
      $Data['title']= "Panel de Administración";
      $Data['cassadmin']=$this->_csstyle["cassadmin"];
      $Data['csmenu']=$this->_csstyle["csmenu"];
      $Data['csvalidate']=$this->_csstyle["csvalidate"];
$Conte['cotizacion']=$idct;
$Conte['idcliente']=$idcl;

     $Data['csui']=$this->_csstyle["csui"];
     //$Data['csuidemo']=$this->_csstyle["csuidemo"];

   $Data['nameusuario']=$this->model->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'));

	    $this->load->view("cabezera",$Data);
	    $this->load->view('header',$Data);
	    $this->load->view("principal",$Data);

    $Conte['Categoria']=$this->uri->segment(1);
$Conte['datos']=$this->modelofacturas->remision($idcl,$idct);

	 $this->load->view("factura_ventas/remision",$Conte);

	 $this->load->view("pie",$Data);
}

public function ver($idc,$idct){
    
      $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['csuidemo']=$this->_csstyle["csuidemo"];

   $Data['nameusuario']=$this->model->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'));

	    $this->load->view("cabezera",$Data);
	    $this->load->view('header',$Data);
	    $this->load->view("principal",$Data);

    $Conte['Categoria']=$this->uri->segment(1);
$Conte['datos']=$this->modelofacturas->verdatos($idc,$idct);
$Conte['cotizacion']=$idct;
	 $this->load->view("factura_ventas/factura",$Conte);

	 $this->load->view("pie",$Data);
    

    }//Fin de Facturar

function ejem()
{
echo substr('$ 78',2);

}


public function actualiza_factura(){

	if(!empty($_POST)){//si trae datos el objeto POST
	          $idct = $this->input->post('idtc');
	          $idcl = $this->input->post('idcl');
	  if($this->modelofacturas->actualiza_factura()){		  		  
             $this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'La factura se ha actualizado correctamente.'));
	 redirect("factura_ventas/ver/$idcl/$idct","refresh");		 		  		  		   
	   }//Fin del IF
	  else{
             $this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'La factura se ha actualizado correctamente.'));
	 redirect("factura_ventas/ver/$idcl/$idct","refresh");		 		  		  		   

	  }		  	
   }//Fin del POST
   
}//Fin de SaveNewFactura


	public function saveNewFactura()
	{
		if(!empty($_POST))
		{//si trae datos el objeto POST
			$idct = $this->input->post('idtc');
			$idcl = $this->input->post('idcl');
			
			$configuracion=$this->configuracion->obtenerConfiguracion;
			
			if($this->modelofacturas->addNuevaFactura() == NULL)
			{
				$this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'La factura se ha almacenado correctamente.'));
				redirect("factura_ventas/productos_cliente/$idcl/$idct","refresh");
			}//Fin del IF
			else
			{
				$this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'Ocurrio un error.'));
				redirect("factura_ventas/productos_cliente/$idcl/$idct","refresh");
			}		  	
		}//Fin del POST
	}//Fin de SaveNewFactura

	public function agregarFactura()
	{
		if(!empty($_POST))
		{//si trae datos el objeto POST
			$idct = $this->input->post('idtc');
			$idcl = $this->input->post('idcl');
			
			$configuracion=$this->configuracion->obtenerConfiguracion();
			
			if($this->modelofacturas->generarFactura($configuracion) == NULL)
			{
				$this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'La factura se ha almacenado correctamente.'));
				redirect("factura_ventas/productos_cliente/$idcl/$idct","refresh");
			}//Fin del IF
			else
			{
				$this->session->set_flashdata('message', array('messageType' => 'success','Message' => 'Ocurrio un error.'));
				redirect("factura_ventas/productos_cliente/$idcl/$idct","refresh");
			}		  	
		}//Fin del POST
	}//Fin de SaveNewFactura
	
public function cantidadletras(){
	
	if(!empty($_POST)){//si trae datos el objeto POST
	
	$this->load->library('MY_Letras');
    $letra = $this->my_letras->ValorEnLetras($this->input->post('Num'),'pesos');
	
	print($letra);				
	
	}//Fin del IF
	
}//Fin del cantidadletras

//funciones creadas el dia 08-dic-2010:luis

	public function formato()
	{
		$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->model->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['jvalidate']=$this->_jss['jvalidate'];
		$Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];  
		$Data['Jquical']=$this->_jss['jquerycal'];
		$Data['permisos']=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$Conte['factura']='hola';
		
		$this->load->view('factura_ventas/formato',$Conte);
		
		$this->load->view("pie",$Data);
	}

	public function productos_cliente($cliente,$cotizacion)
	{
		$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['csuidemo']=$this->_csstyle["csuidemo"];
		
		$Data['nameusuario']=$this->model->getUsuarios($this->_iduser);
		$Data['Fecha_actual']=$this->_fechaActual;
		
		$Data['Jry']=$this->_jss['jquery'];
		$Data['Jqui']=$this->_jss['jqueryui'];
		$Data['jvalidate']=$this->_jss['jvalidate'];
		 $Data['jFicha_cliente']=$this->_jss['jFicha_cliente'];  
		
		$Data['Jquical']=$this->_jss['jquerycal'];
		$Data['permisos']=$this->configuracion->obtenerRolPermisos($this->session->userdata('rol'));
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$Conte['Categoria']=$this->uri->segment(1);
		$Conte['Facturas']=$this->modelofacturas->facturas_deproductos($cotizacion);
		$Conte['Cotizaciones']=$this->modelofacturas->productos_deventas($cliente,$cotizacion);
		$Conte['cotizacion']=$cotizacion;
		$Conte['cliente']=$cliente;
		$this->load->view('factura_ventas/productos_cotizacion/index',$Conte);
		
		$this->load->view("pie",$Data);
	}

	function cheka_factura($a,$b)
	{
		$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['csuidemo']=$this->_csstyle["csuidemo"];
		
		$Data['nameusuario']=$this->model->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'];
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$Conte['Categoria']=$this->uri->segment(1);
		$Conte['datos']=$this->modelofacturas->lee($a,$b);
		$Conte['folio']=$this->modelofacturas->obtenerFolio();
		$Conte['cotizacion']=$_POST['cotizacion'];
		$Conte['cliente']=$a;
		
		 $global="0";
			
		 $this->session->set_userdata('global',$global);
		
		$Conte['datos_cliente']=$this->modelofacturas->datos_cliente($a);
		$this->load->view("factura_ventas/factura",$Conte);
		
		$this->load->view("pie",$Data);
	}

	function ver_facturado($a,$b,$c)
	{
		$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['csuidemo']=$this->_csstyle["csuidemo"];
		
		$Data['nameusuario']=$this->model->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'];
		
		$this->load->view("cabezera",$Data);
		$this->load->view('header',$Data);
		$this->load->view("principal",$Data);
		
		$Conte['Categoria']=$this->uri->segment(1);
		
		$Conte['datos_cliente']=$this->modelofacturas->datos_cliente($b);
		$Conte['datos']=$this->modelofacturas->lee_facturado($a,$b,$c);
		
		$Conte['datosa']=$this->modelofacturas->facturas_deproductos2($a,$b,$c);
		//$Conte['datosf']=$this->modelofacturas->lee($a,$b);
		$this->load->view("factura_ventas/factura2",$Conte);
		
		$this->load->view("pie",$Data);
	}

	function descargarXML($idFactura)
	{
		$this->load->helper('download');
		
		$xml=$this->modelofacturas->obtenerXML($idFactura);
		$folio=$xml->folio;
		
		$adjunto = $xml->name_xml;
		
		$nombre_fisico = $adjunto;
		$nombre_descarga = $adjunto;
		$data = file_get_contents("media/xmls/xml_".$folio."/$nombre_fisico"); 
		
		force_download($nombre_descarga, $data); 
	}
	
	public function cancelarFactura()
	{
		if(!empty($_POST))
		{
			$cancelar=$this->modelofacturas->cancelarFactura();
			print($cancelar);
		}
	}
	
	public function facturaGlobal()
	{
		if(!empty($_POST))
		{
			$configuracion=$this->configuracion->obtenerConfiguracion();
			
			$global=$this->modelofacturas->generarFactura($configuracion);
			
			if($global=="1")
			{
				$this->session->set_userdata('notificacion','La factura se ha creado correctamente');
			}
			
			print($global);
		}
	}
}//Clase

?>
