<?php
defined('BASEPATH') OR exit('No direct script access allowed');
header('Access-Control-Allow-Origin: *');

//Agregamos la librería
require 'FilePDF.php'; 

class ReimprimirPDF extends CI_Controller
{
	public function __construct()
    {
        parent::__construct();
    
        //cargar la base de datos
        $this->load->database();
        //parser de json y xml
        $this->load->library("parser");

        //$this->load->model('Sesion_Model');
        $this->load->library('form_validation');
        //$this->load->library("Form_validation");
        $this->load->helper("url");
        $this->load->helper('form');
        $this->load->helper('text');
        
        //Cargando los modelos para gestion de la data sistema pena
        $this->load->model('Reservas_Model');
        $this->load->model('RecibosCaja_Model');
		$this->load->model('Bitacora_Model');
    }
	
	public function generar_pdf($ReciboId)
	{
		if ($this->session->userdata('iduser')=='') {
            redirect(base_url().'/admin');
        }

        //Cargar Modelos
        $this->load->model('Reservas_Model');
        $this->load->model('RecibosCaja_Model');
        $this->load->model('Usuarios_Model'); 

        //capturar los datos de busqueda
		
		//Creo el objeto de pdf
	    $pdf= new PDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);	   
	   
	    $this->Body($pdf,$ReciboId);
	}

	//Cuerpo del PDF
	public function Body(&$pdf,$ReciboId)
	{
		 //Cargar Modelos
		 $this->load->model('Reservas_Model');
		 $this->load->model('Vehiculos_Model');
		 $this->load->model('RecibosCaja_Model');
		 $this->load->model('Usuarios_Model'); 

		 //Configurando el array para consulta de Reserva
		$datorb = array('2', $ReciboId, 'null', 'null','null','null','null','null');
        $recibos = $this->RecibosCaja_Model->getRecibosCajaforParameter(null,null,$datorb);
			foreach($recibos as $k1) 
			{	
				$ReservaId         = $k1['IdReserva'];
				$HuespedId         = $k1['IdHuesped'];
				$FechaRecibo       = $k1['FechaRecibo']; 	
				$ValorRecibo       = $k1['ValorRecibo'];
				$TipoRecibo        = $k1['IdTipoRecibo'];
				$NombreFac         = $k1['NombreFac'];
				$IdentificacionFac = $k1['IdentificacionFac'];
			}

			//Configurando el array para consulta de Reserva
			$datorv = array('2',$ReservaId,'null','null','null','null','null','null','null','null');
			$reservas = $this->Reservas_Model->getReservasforParameter(null,null,$datorv);
			foreach($reservas as $k0) 
			{	
				$FechaIni       = $k0['FechaIni'];
				$HoraIni        = $k0['HoraIni'];
				$NumeroHab      = $k0['NumeroHabitacion']; 	
				$NombreHab      = $k0['TipoHabitacion'];
				$NombreHus      = $k0['NomHPrincipal'];
				$Identificacion = $k0['Identificacion'];
				$Acompanantes   = $k0['CantAcompanantes'];
				$VrHabitacion   = $k0['PrecioHabitacion'];
				$VrAdicional    = $k0['PrecioAdicional'];
				$Descuento      = $k0['Descuento']; 
				$BaseIva        = $k0['Iva'];
				$VrTotal        = $k0['PrecioTotal'];
				$CargoAdicional = $k0['CargoAdicional'];
				$Observacion    = $k0['Observacion'];
				$Placa          = $K0['Placa'];
			}
			
			$Iva = (($VrHabitacion - $Descuento) * 0.19);
			$ValorTotal = $ValorRecibo + $CargoAdicional - $Descuento ;

		
		//pasar observacion a tipo titulo
		$Observa     =  strtolower($Observacion);
		$Observacion =  ucwords($Observa);

	
		/* ========================================================================================================================================================== */	
		
		//definir Variables
		$x = 0;
		$y = 3;
		
		//Nombre del Archivo PDF
		$NombrePDF = ('Recibo'.$ReservaId.'.pdf');
		
		// set document information
		$pdf->SetCreator(PDF_CREATOR);
		$pdf->SetAuthor('Syscom');
		$pdf->SetTitle('Recibo'.$ReservaId.'.pdf');

		// set default header data
		$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);

		// set header and footer fonts
		$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
		$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

		// set default monospaced font
		$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

		// set margins
		$pdf->SetMargins(5, 37, 5);
		$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
		// $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

		// set auto page breaks
		// $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

		// set image scale factor
		$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);	
		
		//Definicion de tamaño de la pagina
		$pdf->AddPage('PORTRAIT', array(76, 110));
		
		$pdf->SetFont('Helvetica','',7);
		$pdf->Cell($x, $y, utf8_decode('-------------------------------------------------------------------------------'), 0, 1, 'C');

		$pdf->Cell($x, $y, 'Recibo de Caja No.:  '.''.$ReciboId, 0, 1, 'R');

		$pdf->Cell($x, $y, utf8_decode('-------------------------------------------------------------------------------'), 0, 1, 'C');
		
		$pdf->Cell($x, $y, 'Fecha:  '.''.$FechaIni.' '.$HoraIni, 0, 1, 'L');

		if($TipoRecibo == 0){
			$pdf->Cell($x, $y, 'Habitación:  '.''.html_entity_decode($NumeroHab.' - '.$NombreHab), 0, 1, 'L');
			// $pdf->Cell($x, $y, 'Cliente:  '.''.html_entity_decode($NombreHus), 0, 1, 'L');
			$pdf->Cell($x, $y, 'Cliente:  '.''.html_entity_decode($NombreFac), 0, 1, 'L');
			// $pdf->Cell($x, $y, 'Identificación:  '.''.utf8_decode(number_format($Identificacion,0, ",", ".")), 0, 1, 'L');
			$pdf->Cell($x, $y, 'Identificación:  '.''.utf8_decode(number_format($IdentificacionFac,0, ",", ".")), 0, 1, 'L');
			$pdf->Cell($x, $y, 'Acompañantes:  '.''.utf8_decode($Acompanantes), 0, 1, 'L');
			$pdf->Cell($x, $y, 'Vehículo:  '.''.utf8_decode($Placa), 0, 1, 'L');

			$pdf->Cell($x, $y, utf8_decode('-------------------------------------------------------------------------------'), 0, 1, 'C');

			$pdf->Cell(10, $y, utf8_decode(''), 0, 0);
			$pdf->Cell(30, $y, html_entity_decode('Valor Servicio Habitación:'), 0, 0);
			$pdf->Cell(15, $y, utf8_decode(number_format($ValorRecibo,2, ",", ".")), 0, 1, 'R');
			// $pdf->Cell(15, $y, utf8_decode(number_format($VrHabitacion,2, ",", ".")), 0, 1, 'R');

			if($CargoAdicional != 0)
			{

				$pdf->Cell(10, $y, utf8_decode(''), 0, 0);
				$pdf->Cell(30, $y, html_entity_decode($Observacion.':'), 0, 0);
				$pdf->Cell(15, $y, utf8_decode(number_format($CargoAdicional, 2, ",", ".")), 0, 1, 'R');
			}

			if($VrAdicional != 0)
			{
				$pdf->Cell(10, $y, utf8_decode(''), 0, 0);
				$pdf->Cell(30, $y, html_entity_decode('Valor Adicional:'), 0, 0);
				$pdf->Cell(15, $y, utf8_decode(number_format($VrAdicional, 2, ",", ".")), 0, 1, 'R');
			}

			if($Descuento != 0)
			{
				$pdf->Cell(10, $y, utf8_decode(''), 0, 0);
				$pdf->Cell(30, $y, html_entity_decode('Valor Descuento:'), 0, 0);
				$pdf->Cell(15, $y, utf8_decode(number_format($Descuento, 2, ",", ".")), 0, 1, 'R');
			}

			$pdf->Cell(41, $y, utf8_decode(''), 0, 0);
			$pdf->Cell(15, $y, utf8_decode('-------------------'), 0, 1, 'C');

			$pdf->Cell(10, $y, utf8_decode(''), 0, 0);
			$pdf->Cell(30, $y, html_entity_decode('Total a Pagar:'), 0, 0);
			$pdf->Cell(15, $y, utf8_decode(number_format($ValorTotal,2, ",", ".")), 0, 1, 'R');
			// $pdf->Cell(15, $y, utf8_decode(number_format($VrTotal,2, ",", ".")), 0, 1, 'R');

		}else{
			$pdf->Cell($x, $y, 'Cliente:  '.''.html_entity_decode($NombreHus), 0, 1, 'L');
			$pdf->Cell($x, $y, 'Identificación:  '.''.utf8_decode(number_format($Identificacion,0, ",", ".")), 0, 1, 'L');
			$pdf->Cell($x, $y, 'Vehículo:  '.''.utf8_decode($Placa), 0, 1, 'L');

			$pdf->Cell($x, $y, utf8_decode('-------------------------------------------------------------------------------'), 0, 1, 'C');

			$pdf->Cell(10, $y, utf8_decode(''), 0, 0);
			$pdf->Cell(30, $y, html_entity_decode('Valor Servicio Parqueadero:'), 0, 0);
			$pdf->Cell(15, $y, utf8_decode(number_format($ValorRecibo,2, ",", ".")), 0, 1, 'R');
		}

		$pdf->Cell($x, $y, utf8_decode('-------------------------------------------------------------------------------'), 0, 1, 'C');
		
		// $pdf->Cell($x, $y, html_entity_decode('SISTEMAS COMERCIALES SYSCOM SAS'), 0, 1, 'R');
		// $pdf->Cell($x, $y, html_entity_decode('NIT: 000.000.000-0'), 0, 1, 'R');
		// $pdf->Cell($x, $y, html_entity_decode('www.syscom.com.co'), 0, 1, 'R');

		$pdf->lastPage(); 
		ob_end_clean();		
		// $pdf->Output('assets/dist/docs/'.$NombrePDF,'F');
		$pdf->Output();
	}

}


