<?php require('fpdf/fpdf.php');
include('casa/setup.casa.php');
$codigo_venta = DataForms::GET('id');
$cod_cliente = DataForms::GET('cod_cliente');
$contador_ventas = DataForms::GET('contador_ventas');

$fecha_actual = FechaCajero($codigo_venta);//FechaGlobal22(date("Y-m-d h:i:s"));

function FechaCajero($codigo_venta){
	$sql = "SELECT * FROM ventas_cajeros
	WHERE ven_codigo = '$codigo_venta';";

	$db = new DB();
	$db->dbSQL($sql);
	$db->next();
	$ent_fechaentrega = $db->dbField('ent_fechaentrega');
	$ffhh = explode(" ",$ent_fechaentrega);
	$fecha = $ffhh[0];
	$hora = $ffhh[1];

	$fec = explode('-', $fecha);
	
	switch($fec[1]){
		case 1 : $mm = 'Ene'; break;
		case 2 : $mm = 'Feb'; break;
		case 3 : $mm = 'Mar'; break;
		case 4 : $mm = 'Abr'; break;
		case 5 : $mm = 'May'; break;
		case 6 : $mm = 'Jun'; break;
		case 7 : $mm = 'Jul'; break;
		case 8 : $mm = 'Ago'; break;
		case 9 : $mm = 'Sep'; break;
		case 10: $mm = 'Oct'; break;
		case 11: $mm = 'Nov'; break;
		case 12: $mm = 'Dic'; break;		
	}
	$hora_global = $fec[0].'-'.$mm.'-'.$fec[2].' '.$hora;

	return $hora_global;
}

function FechaGlobal22($fec){
	//2023-05-06 21:53:45
	$fecha = explode(' ',$fec);
	$hora = explode(':',$fecha[1]);
	$mes = explode('-', $fecha[0]);
    $dia = $mes[2] - 1;   

	switch($mes[1]){
		case 1 : $mm = 'Ene'; break;
		case 2 : $mm = 'Feb'; break;
		case 3 : $mm = 'Mar'; break;
		case 4 : $mm = 'Abr'; break;
		case 5 : $mm = 'May'; break;
		case 6 : $mm = 'Jun'; break;
		case 7 : $mm = 'Jul'; break;
		case 8 : $mm = 'Ago'; break;
		case 9 : $mm = 'Sep'; break;
		case 10: $mm = 'Oct'; break;
		case 11: $mm = 'Nov'; break;
		case 12: $mm = 'Dic'; break;		
	}

	if($hora[0] < 6)
		$hh = ($hora[0] + 24) - 18;
	else
		$hh = $hora[0];// - 6;

	$hora_global = $dia.'-'.$mm.'-'.$mes[0].' '.$hh.':'.$hora[1].':'.$hora[2];

	return $hora_global;
}

$title = 'PROFORMA DE VENTA';
echo "<title>".AppName.' - '.$title."</title>";

$Ubicacion = new DB();
$sqlUbicacion = "SELECT * FROM inventarios_ubicaciones ubi, rol_usuarios us
WHERE ubi.ubica_codigo = us.ubica_codigo
AND us.us_id='$USID';";
$Ubicacion->dbSQL($sqlUbicacion);
if($Ubicacion->next())
	$ubica_nombre = $Ubicacion->dbField('ubica_nombre');
else
	$ubica_nombre = 'Central';

$Cliente	= new DB();
$sqlCliente = "SELECT * FROM inventarios_clientes
WHERE clie_codigo = '$cod_cliente';";
$Cliente->dbSQL($sqlCliente);
$Cliente->next();
	$clie_id = $Cliente->dbField('clie_id');
	$clie_codigo = $Cliente->dbField('clie_codigo');
	$clie_cinit = $Cliente->dbField('clie_cinit');
	$clie_nombres = $Cliente->dbField('clie_nombres');
	$clie_apellidos = $Cliente->dbField('clie_apellidos');
	$clie_destino = $Cliente->dbField('clie_destino');
	$clie_celular = $Cliente->dbField('clie_celular');
	$clie_puntolista = $Cliente->dbField('clie_puntolista');
	$clie_puntoentrega = $Cliente->dbField('clie_puntoentrega');
	$clie_personarecoge = $Cliente->dbField('clie_personarecoge');
	$clie_tipopagonombre = $Cliente->dbField('clie_tipopagonombre');
	$clie_descuento = $Cliente->dbField('clie_descuento');
	
//datos de la compra
$datos='';
$sql = "SELECT * FROM inventarios_productos prod, inventarios_ubicaciones ubi, ventas_productos ven
											WHERE prod.ubica_codigo = ubi.ubica_codigo
											AND ven.ubica_codigo = ubi.ubica_codigo
											AND ven.prod_codigo = prod.prod_codigo
											AND ven.ven_codigo = '$codigo_venta';";	
											$db= new DB();
											$db->dbSQL($sql);
											$html='';
											$i=0;
											$total = 0;
											while($db->next()){						
											$i++;												
												$ubica_nombre = $db->dbField('ubica_nombre');	
												$ubica_color = $db->dbField('ubica_color');			

												$prod_item = $db->dbField('prod_item');
												$prod_nombre = $db->dbField('prod_nombre');
												$prod_preciounitario = $db->dbField('prod_preciounitario');
												$prod_preciodocena = $db->dbField('prod_preciodocena');
												$prod_preciocajadocena = $db->dbField('prod_preciocajadocena');
												$prod_piezascaja = $db->dbField('prod_piezascaja');
												$prod_observaciones = $db->dbField('prod_observaciones');


												$ven_tipo = $db->dbField('ven_tipo');
												//ventas
												$ven_id = $db->dbField('ven_id');
												$ven_cantidad = $db->dbField('ven_cantidad');
												$ven_precio = $db->dbField('ven_precio');
												$ven_numerolista = $db->dbField('ven_numerolista');
												  switch($ven_tipo){
													case '1' : $tipo = 'Unidad'; 
														$precio = $prod_preciounitario;
														$piezas = 1;
														$unicaja = 'unidades';
														$cantidades = $ven_cantidad*$piezas;
														$precios = number_format(($precio/$piezas),2);
													break;
													case '2' : $tipo = 'Docena'; 
														$precio = $prod_preciodocena;
														$piezas = 12;
														$unicaja = 'unidades';														
														$cantidades = $ven_cantidad*$piezas;
														$precios = number_format(($precio),2);
														$predollar = $precios*$cantidades;
														$datos.= '<br><b>Item: </b>'.$prod_item.'<br>
														<b>Producto: </b>'.$prod_nombre.'<br>
														<b>Cantidad: </b>'.$ven_cantidad.' '.$tipo.'<br>
														<b>Precio Unitario: </b>$:'.$precios.' // Bs.'.$precios*Dollar().'<br>
														<b>Subtotal: $u$: '.number_format($predollar,2).' // Bs.'.number_format(($predollar*Dollar()),2).'</b>';														
													break;
													case '3' : $tipo = 'Caja'; 
														$precio = $prod_preciocajadocena;
														$piezas = $prod_piezascaja;
														$unicaja = 'cajas';
														$cantidades = $ven_cantidad*$piezas;
														$precios = number_format(($precio/$piezas),2);
														$predollar = $precios*$cantidades;
														$datos.= '<br><b>Item: </b>'.$prod_item.'<br>
														<b>Producto: </b>'.$prod_nombre.'<br>
														<b>Cantidad: </b>'.$ven_cantidad.' '.$tipo.'<br>
														<b>Piezas Caja: </b>'.$piezas.' unidades<br>
														<b>Total Unidades: </b>'.($ven_cantidad*$piezas).' unidades<br>
														<b>Precio Unitario: </b>$:'.$precios.' // Bs.'.$precios*Dollar().'<br>
														<b>Subtotal: $u$: '.number_format($predollar,2).' // Bs.'.number_format(($predollar*Dollar()),2).'</b>';														
													break;
													case '4' : $tipo = 'Docena'; 
														$precio = $prod_preciodocena;
														$piezas = $prod_piezascaja;
														$unicaja = 'unidades';														
														$cantidades = $ven_cantidad;
														$precios = number_format(($precio),2);
														$predollar = $precios*$cantidades;
														$datos.= '<br><b>Item: </b>'.$prod_item.'<br>
														<b>Producto: </b>'.$prod_nombre.'<br>
														<b>Cantidad: </b>'.$ven_cantidad.' unidades<br>
														<b>Precio Unitario: </b>$:'.$precios.' // Bs.'.$precios*Dollar().'<br>
														<b>Subtotal: $u$: '.number_format($predollar,2).' // Bs.'.number_format(($predollar*Dollar()),2).'</b>';																
													break;
												  }
												
												$total = $total + $ven_precio;
												//$preciototal = number_format(($precio/$piezas)*($ven_cantidad*$piezas),2);
                                                $preciototal = $ven_cantidad * $precio;
																					
//	$datos.= $prod_item.';'.$prod_nombre.';'.$ven_cantidad.';'.$prod_preciounitario.';'.$preciototal.';'."\r\n";
/*
	$datos.= '<br><b>Item: </b>'.$prod_item.'<br>
    <b>Producto: </b>'.$prod_nombre.'<br>
    <b>Cantidad: </b>'.$ven_cantidad.' '.$tipo.'<br>
    <b>Piezas caja: </b>'.$cantidades.' '.$unicaja.'<br>
    <b>Precio Unitario: </b>'.$precios.'<br>
    <b>Subtotal: Bs.'.$preciototal.'</b>';
	*/
	//$datos.= $preciototal.'</b>';
}//wend() 	
$descuentos = $total*($clie_descuento/100);
$total22 = $total - $descuentos;
//$file = 'imprimir-ventas'.substr(md5(uniqid()),1,4);
$file = 'imprimir-ventas';
//Generar txt
$archivo = fopen($file.'.txt','w+b');
  fwrite($archivo,$datos);
  fflush($archivo);
fclose($archivo);

class PDF extends FPDF{
    //HTML
protected $B = 0;
protected $I = 0;
protected $U = 0;
protected $HREF = '';

function WriteHTML($html){
    // Intérprete de HTML
    $html = str_replace("\n",' ',$html);
    $a = preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
    foreach($a as $i=>$e){
        if($i%2==0){
            // Text
            if($this->HREF)
                $this->PutLink($this->HREF,$e);
            else
                $this->Write(5,$e);
        }else{
            // Etiqueta
            if($e[0]=='/')
                $this->CloseTag(strtoupper(substr($e,1)));
            else{
                // Extraer atributos
                $a2 = explode(' ',$e);
                $tag = strtoupper(array_shift($a2));
                $attr = array();
                foreach($a2 as $v){
                    if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
                        $attr[strtoupper($a3[1])] = $a3[2];
                }
                $this->OpenTag($tag,$attr);
            }
        }
    }
}

function OpenTag($tag, $attr){
    if($tag=='B' || $tag=='I' || $tag=='U')
        $this->SetStyle($tag,true);
    if($tag=='A')
        $this->HREF = $attr['HREF'];
    if($tag=='BR')
        $this->Ln(5);
}

function CloseTag($tag){
    if($tag=='B' || $tag=='I' || $tag=='U')
        $this->SetStyle($tag,false);
    if($tag=='A')
        $this->HREF = '';
}

function SetStyle($tag, $enable){
    $this->$tag += ($enable ? 1 : -1);
    $style = '';
    foreach(array('B', 'I', 'U') as $s){
        if($this->$s>0)
            $style .= $s;
    }
    $this->SetFont('',$style);
}

function PutLink($URL, $txt){
    // Escribir un hiper-enlace
    $this->SetTextColor(0,0,255);
    $this->SetStyle('U',true);
    $this->Write(5,$txt,$URL);
    $this->SetStyle('U',false);
    $this->SetTextColor(0);
}   
// Cargar los datos
function LoadData($file){
    $lines = file($file);
    $data = array();
    foreach($lines as $line)
        $data[] = explode(';',trim($line));
    return $data;
}

// Tabla coloreada
function FancyTable($header, $data){
    $this->SetFillColor(0,128,0);
    $this->SetTextColor(255);
    $this->SetDrawColor(200,200,200);
    $this->SetLineWidth(.01);
    $this->SetFont('','B');
    // Cabecera
    $w = array(17,57,14,14,17);
    for($i=0;$i<count($header);$i++)
        $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
    $this->Ln();
    // Restauración de colores y fuentes
    $this->SetFillColor(224,235,255);
    $this->SetTextColor(0);
    $this->SetFont('');
    // Datos
    $fill = false;
    foreach($data as $row){
        $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
        $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
        $this->Cell($w[2],6,$row[2],'LR',0,'L',$fill);
        $this->Cell($w[3],6,$row[3],'LR',0,'L',$fill);
        $this->Cell($w[4],6,$row[3],'LR',0,'L',$fill);
        $this->Ln();
        $fill = !$fill;
    }
    // Línea de cierre
    $this->Cell(array_sum($w),0,'','T');
}


}
//vertical P
//Horizontal L
//$pdf = new PDF('L','mm','Letter');
//$pdf = new PDF('P','mm','Letter'); array(ancho, alto)
  $pdf = new PDF('P','mm',array(100,200));
  $pdf->SetMargins(2,2,2);
  $pdf->SetAutoPageBreak(true,1); 
// Títulos de las columnas
$header = array('ITEM','PRODUCTO','CANT','P.UNIT','PRECIO');
// Carga de datos
$data = $pdf->LoadData($file.'.txt');
$pdf->SetFont('Arial','',11);
$pdf->AddPage();
//$pdf->Image("fondopdf.jpg",69,44,25,12);
$pdf->Image("assets/img/logo4.jpg",0,0,100,60);

$pdf->WriteHTML('<br><br><br><br><br>                                     <b>RECIBO<br>Compra Nro: '.$ven_numerolista.'</b>');
$pdf->WriteHTML('<br><b>Cliente: </b>'.$clie_nombres.' '.$clie_apellidos.' <b>NIT: </b>'.$clie_cinit.' ');
$pdf->WriteHTML('<b>Sucursal: </b>'.$ubica_nombre);
$pdf->WriteHTML('<b>Fecha: </b>'.$fecha_actual.'<br>');
//$pdf->FancyTable($header,$data);
$pdf->WriteHTML('<br>                         <b>DETALLES DE VENTA</b>');
$pdf->WriteHTML($datos);
$pdf->WriteHTML('<br><br><b>SUBTOTAL: </b>$u$.'.($total/Dollar()));
$pdf->WriteHTML(' //Bs.'.$total);
$pdf->WriteHTML('<br><b>DESCUENTO: </b>$u$.'.($descuentos/Dollar()).' // Bs.'.$descuentos);
$pdf->WriteHTML('<br><b>TOTAL: $u$.'.($total22/Dollar()).'</b>');
$pdf->WriteHTML('<br><b>TOTAL: Bs.'.number_format($total22,2).'</b>');
$pdf->WriteHTML('<br><br>                                                <b>El Comercio SyS</b>');
$pdf->Output($file.'.pdf','F');

$report = "<script>self.location='".PATH_HOME.$file.".pdf';</script>";
echo $report;
?>