<?php 

require_once "../../../controladores/ventas.controlador.php";
require_once "../../../modelos/ventas.modelo.php";

require_once "../../../controladores/clientes.controlador.php";
require_once "../../../modelos/clientes.modelo.php";

require_once "../../../controladores/usuarios.controlador.php";
require_once "../../../modelos/usuarios.modelo.php";

require_once "../../../controladores/empleado.controlador.php";
require_once "../../../modelos/empleado.modelo.php";

require_once "../../../controladores/productos.controlador.php";
require_once "../../../modelos/productos.modelo.php";

require_once "../../../controladores/marcas.controlador.php";
require_once "../../../modelos/marcas.modelo.php";

require_once "../../../controladores/unidades.controlador.php";
require_once "../../../modelos/unidades.modelo.php";

require_once "../../../controladores/general.controlador.php";
require_once "../../../modelos/general.modelo.php";

class imprimirFactura {

public $id;

public function traerImpresionFactura(){

//TRAEMOS LA INFORMACIÓN DE LA VENTA

$itemVenta = "id";
$valorVenta = $this->id;

$respuestaVenta = ControladorVentas::ctrMostrarVentas($itemVenta, $valorVenta);
//$fecha = substr($respuestaVenta["fecha"],0,-8);
$fecha = date_create($respuestaVenta["fecha"]);
$fecha1 = date_format($fecha,"d/m/Y");

$itemVenta1 = "venta_id";
$valorVenta1 = $this->id;

$listaProductos = ControladorVentas::ctrMostrarDetalleVentas($itemVenta1, $valorVenta1);

$neto = number_format($respuestaVenta["neto"],2);
$impuesto = number_format($respuestaVenta["impuesto"],2);
$total = number_format($respuestaVenta["total"],2);

//TRAEMOS LA INFORMACIÓN DEL VENDEDOR

$itemVendedor = "id";
$valorVendedor = $respuestaVenta["id_vendedor"];

$respuestaVendedor = ControladorUsuarios::ctrMostrarUsuarios($itemVendedor, $valorVendedor);

$itemSucursal = "id";
$valorSucursal = 1;

$respuestaSucursal = ControladorGeneral:: ctrMostrarSucursal($itemSucursal, $valorSucursal);

$itemEmpleado = "id";
$valorEmpleado = $respuestaVendedor["id_empleado"];
                          
$empleado = ControladorEmpleado:: ctrMostrarEmpleado($itemEmpleado, $valorEmpleado);

//TRAEMOS LA INFORMACIÓN DEL CLIENTE

$itemCliente = "id";
$valorCliente = $respuestaVenta["id_cliente"];

$respuestaCliente = ControladorClientes::ctrMostrarClientes($itemCliente, $valorCliente);



$telefono = ltrim($respuestaCliente["telefono"], '(+51)' );

require_once('tcpdf_include.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetTitle('BOLETA');

// remove default header/footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetAutoPageBreak(TRUE, 0);

$pdf -> startPageGroup();

$pdf->AddPage('P','A7');

$bloque1 = <<<EOF

	<table style="font-size:8px; text-align:center">
		
		<tr>
			
			<td style="width:160px;">

				<div>
					<b>$respuestaSucursal[razon_social]</b>
					<br>
					R.U.C.: $respuestaSucursal[num_documento]
					TELEFONO: $respuestaSucursal[telefono]
					<br>
					<b>BOLETA DE VENTA</b>
					<br>
					<b>N° 00$respuestaVenta[codigo]</b>
					<br>				
					<hr style="width:160px;" align="left">
	
				</div>

			</td>

		</tr>

	</table>

EOF;

$pdf->writeHTML($bloque1, false, false, false, false, '');


$bloque2 = <<<EOF

	

	<table  style="font-size:8px; text-align:left" >
	<tr>
			
			<td style="width:160px;">

				<div>
					FECHA: $fecha1
					<br>
					RUC: $respuestaCliente[ruc_dni]
					<br>
					CLIENTE: $respuestaCliente[razon_social]
					<br>
					DIRECCION: $respuestaCliente[direccion]
					<br>

				</div>

			</td>

		</tr>

	</table>

EOF;

$pdf->writeHTML($bloque2, false, false, false, false, '');


// ---------------------------------------------------------

$bloque3 = <<<EOF
	<hr style="width:170px;" align="left">
	<table style="font-size:7px; padding:2px 2px; line-height:7px">
		<tr>
		<td style=" background-color:white; width:25px; text-align:center">CANT</td>
		<td style=" background-color:white; width:70px; text-align:center">DESCRIPCION</td>
		<td style=" background-color:white; width:40px; text-align:center">PRECIO</td>
		<td style=" background-color:white; width:40px; text-align:center">TOTAL</td>

		</tr>

	</table>
	<hr style="width:170px;" align="left">

EOF;

$pdf->writeHTML($bloque3, false, false, false, false, '');


// ---------------------------------------------------------

foreach ($listaProductos as $key => $item) {

$itemProducto = "id";
$valorProducto = $item["producto_id"];
$orden = null;
    
$respuestaProducto = ControladorProductos::ctrMostrarProductos1($itemProducto, $valorProducto, $orden);

$itemMarca = "id";

$valorMarca = $respuestaProducto["id_marca"];

$respuestaMarca = ControladorMarcas::ctrMostrarMarcas($itemMarca, $valorMarca);

$marca1 = $respuestaMarca["descripcion"];

$itemUnidad = "id";

$valorUnidad = $respuestaProducto["id_unidad"];

$respuestaUnidad = ControladorUnidades:: ctrMostrarUnidades($itemUnidad, $valorUnidad);

$unidad = $respuestaUnidad["codigo"];
    
$precioTotal = number_format($item["precio_unitario"] * $item["cantidad"], 2);
    
$bloque4 = <<<EOF
    
        <table style="font-size:7px; padding:2px 2px">
    
            <tr>

				<td style="border: hidden; color:#333; background-color:white; width:25px; text-align:center">
				$item[cantidad] $unidad
				</td>

                <td style="border: hidden; color:#333; background-color:white; width:70px; text-align:center">
                    $respuestaProducto[descripcion]
                </td>
    
                <td style="border: hidden; background-color:white; width:40px; text-align:center">
                    $item[precio_unitario]
                </td>
    
                <td style="border: hidden; color:#333; background-color:white; width:40px; text-align:center">
                    $precioTotal
                </td>
    
    
            </tr>
    
        </table>
		

    
EOF;
    
$pdf->writeHTML($bloque4, false, false, false, false, '');

// ---------------------------------------------------------
}

$bloque5 = <<<EOF

<hr style="width:170px;" align="left">

	<table style="font-size:8px; padding:3px 3px;">

		<tr>

		<td style=" background-color:white; width:80px; text-align:left">
		Total Gravado:
		</td>
		
		<td style="background-color:white; width:80px; text-align:right">
			S/. $neto
		</td>

		</tr>

		<tr>

		<td style=" background-color:white; width:80px; text-align:left">
		I.G.V (18%):
		</td>
		
		<td style="background-color:white; width:80px; text-align:right">
			S/. $impuesto
		</td>

		</tr>
		
		<tr>
			<td style=" background-color:white; width:80px; text-align:left">
				Total:
			</td>
			
			<td style="background-color:white; width:80px; text-align:right">
                S/. $total
			</td>

		</tr>


	</table>

EOF;

$pdf->writeHTML($bloque5, false, false, false, false, '');

    
//SALIDA DEL ARCHIVO 

$pdf->Output('factura.pdf');

}

}

$factura = new imprimirFactura();
$factura -> id = $_GET["id"];
$factura -> traerImpresionFactura();

?>