<?php
require 'fpdf/fpdf.php';
require 'codefpdf/code128.php';

date_default_timezone_set('America/Guayaquil');


include'../../conexion1.php';
$conectar = new mysqli($servidor,$nombre,$clave,$base);
$empre = "SELECT * FROM datos_empresa";
$res = $conectar->query($empre);
$dato1=0;
if ($res->num_rows > 0) {
     while($rowx = $res->fetch_assoc()) { 

            $dato1 = $rowx['RUC'];
            $dato2 = $rowx['RAZON_SOCIAL'];
            $dato3 = $rowx['NOMBRE_COMERCIAL'];
            $dato4 = $rowx['DIRECCION'];
            $dato5 = $rowx['DEPARTAMENTO'];
            $dato6 = $rowx['PROVINCIA'];
            $dato7 = $rowx['DISTRITO'];
            $dato8 = $rowx['TELEFONO'];
            $dato9 = $rowx['CORREO'];
            $dato10 = $rowx['WEB'];
            $dato11 = $rowx['UBIGEO'];
            $dato12 = $rowx['ESTABLECIMIENTO'];
            $dato13 = $rowx['PUNTO_EMISION'];
   
}

}

$sql = "SELECT * FROM venta";
$resultado = $conectar->query($sql);
$total1=0;
if ($resultado->num_rows > 0) {

     while($row = $resultado->fetch_assoc()) { 

            $id = $row['ID'];
            $total1 = $row['FECHA_REGISTRO'];
            $total2 = $row['HORA_REGISTRO'];
            $total3 = $row['NOMBRE'];
            $total4 = $row['DNI'];
            $total5 = $row['CELULAR'];
            $total6 = $row['DIRECCION'];
            $total7 = $row['DESCRIPCION'];
            $total8 = $row['CORREO'];
            $total9 = $row['HORA_ENTREGA'];
            $total10 = $row['NOMBRE_VENDEDOR'];
            $total11 = $row['SERIE'];
            $total12 = $row['SECUENCIAL'];
            $claveacceso = $row['CLAVEACCESO'];
            $total13 = $row['DESCRIPCION'];
            $total14 = $row['SUB_TOTAL'];
            $total15 = $row['PRECIO_UNITARIO'];
            $total16 = $row['IGV'];

}

}
$autorizacion = $claveacceso;

$emisor = array(
    'razon_social'           => $dato2,
    'nombre_comercial'       => $dato3,
    'ruc'                    => $dato1,
    'dir_matriz'             => $dato4,
    'dir_sucursal'           => $dato4,
    'contribuyente_especial' => '5368',
    'lleva_contabilidad'     => 'SI'
);

$factura = array(
    'numero'             => $total11."-".$total12,
    'fecha_emision'      => '10/11/2025',
    'ambiente'           => 'PRUEBA',
    'tipo_emision'       => 'NORMAL',
    'clave_acceso'       => $claveacceso,
    'numero_autorizacion'=> $autorizacion,
    'fecha_autorizacion' => '19/11/2025 10:35:20'
);

$cliente = array(
    'razon_social'       => $total3,
    'identificacion'     => $total4,
    'tipo_identificacion'=> '04',
    'direccion'          => $total6
);

$detalles = array(
    array(
        'codigo'         => 'P001',
        'descripcion'    => $total7,
        'cantidad'       => 2,
        'precio_unitario'=> 50.00,
        'descuento'      => 0.00,
        'iva'            => 12
    ),
    array(
        'codigo'         => 'S010',
        'descripcion'    => $total7,
        'cantidad'       => 1,
        'precio_unitario'=> 80.00,
        'descuento'      => 10.00,
        'iva'            => 12
    )
);

// =======================
// CÁLCULO DE TOTALES
// =======================

$subtotal_12 = 0;
$subtotal_0  = 0;
$descuento_total = 0;
$iva_12 = 0;

foreach ($detalles as $item) {
    $total_bruto = $item['cantidad'] * $item['precio_unitario'];
    $descuento_total += $item['descuento'];
    $base = $total_bruto - $item['descuento'];

    if ($item['iva'] == 12) {
        $subtotal_12 += $base;
        $iva_12 += $base * 0.12;
    } else {
        $subtotal_0 += $base;
    }
}

$subtotal_sin_impuestos = $subtotal_12 + $subtotal_0;
$importe_total = $subtotal_sin_impuestos + $iva_12;

// =======================
// CREAR PDF
// =======================

$pdf = new PDF_Code128('P', 'mm', 'A4');
$pdf->AddPage();
$pdf->SetMargins(10, 10, 10);

// =======================
// ENCABEZADO TIPO FICHA SRI
// =======================
$marcoX  = 15;
$marcoY  = 20;
$marcoW  = 180;
$marcoH  = 60;

$pdf->Rect($marcoX, $marcoY, $marcoW, $marcoH);      // marco grande

// dividir en dos paneles
$panelW = $marcoW / 2;
$leftX  = $marcoX;
$rightX = $marcoX + $panelW;

$pdf->Line($rightX, $marcoY, $rightX, $marcoY + $marcoH); // línea vertical

// ---- PANEL IZQUIERDO (LOGO + EMISOR) ----
$pdf->SetXY($leftX, $marcoY + 3);
$pdf->SetFont('Arial','B',18);
$pdf->Cell($panelW,8, 'SRI',0,1,'L');  // aquí puedes reemplazar por imagen de logo

$pdf->SetFont('Arial','B',9);
$pdf->SetXY($leftX, $marcoY + 15);
$pdf->Cell($panelW,5, utf8_decode($emisor['razon_social']),0,1,'L');

$pdf->SetFont('Arial','',8);
$pdf->SetX($leftX);
$pdf->Cell($panelW,4, utf8_decode('Nombre comercial: '.$emisor['nombre_comercial']),0,1,'L');
$pdf->SetX($leftX);
$pdf->Cell($panelW,4, utf8_decode('Dirección matriz: '.$emisor['dir_matriz']),0,1,'L');
$pdf->SetX($leftX);
$pdf->Cell($panelW,4, utf8_decode('Dirección sucursal: '.$emisor['dir_sucursal']),0,1,'L');
$pdf->SetX($leftX);
$pdf->Cell($panelW,4, utf8_decode('Contribuyente especial No: '.$emisor['contribuyente_especial']),0,1,'L');
$pdf->SetX($leftX);
$pdf->Cell($panelW,4, utf8_decode('OBLIGADO A LLEVAR CONTABILIDAD: '.$emisor['lleva_contabilidad']),0,1,'L');

// ---- PANEL DERECHO (RUC, FACTURA, AUTORIZACIÓN, CLAVE, BARRA) ----
$pdf->SetXY($rightX, $marcoY + 3);
$pdf->SetFont('Arial','B',9);
$pdf->Cell($panelW,5, utf8_decode('R.U.C.: '.$emisor['ruc']),0,1,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,5, utf8_decode('FACTURA'),0,1,'L');

$pdf->SetFont('Arial','',8);
$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode('No: '.$factura['numero']),0,1,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode('NÚMERO DE AUTORIZACIÓN:'),0,1,'L');

$pdf->SetX($rightX);
$pdf->MultiCell($panelW,4, utf8_decode($factura['numero_autorizacion']),0,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode('FECHA Y HORA DE AUTORIZACIÓN:'),0,1,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode($factura['fecha_autorizacion']),0,1,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode('AMBIENTE: '.$factura['ambiente']),0,1,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode('EMISIÓN: '.$factura['tipo_emision']),0,1,'L');

$pdf->SetX($rightX);
$pdf->Cell($panelW,4, utf8_decode('CLAVE DE ACCESO:'),0,1,'L');

// posición exacta del código de barras debajo de "CLAVE DE ACCESO:"
$yBar = $pdf->GetY() + 2;
$xBar = $rightX + 5;
$wBar = $panelW - 10;
$hBar = 12;

$pdf->Code128($xBar, $yBar, $factura['clave_acceso'], $wBar, $hBar);

// texto de la clave debajo del código de barras
$pdf->SetXY($xBar, $yBar + $hBar + 2);
$pdf->SetFont('Arial','',7);
$pdf->Cell($wBar,4, $factura['clave_acceso'],0,1,'C');

// dejamos el cursor al final del marco superior
$pdf->SetY($marcoY + $marcoH + 5);

// =======================
// DATOS DEL COMPRADOR
// =======================
$pdf->SetFont('Arial','B',9);
$pdf->Cell(0,6, utf8_decode('DATOS DEL COMPRADOR'),1,1,'L');

$pdf->SetFont('Arial','',8);
$pdf->Cell(25,6, utf8_decode('Razón social:'),1,0,'L');
$pdf->Cell(165,6, utf8_decode($cliente['razon_social']),1,1,'L');

$pdf->Cell(25,6, utf8_decode('Identificación:'),1,0,'L');
$pdf->Cell(75,6, utf8_decode($cliente['identificacion']),1,0,'L');
$pdf->Cell(25,6, utf8_decode('Fecha emisión:'),1,0,'L');
$pdf->Cell(65,6, utf8_decode($factura['fecha_emision']),1,1,'L');

$pdf->Cell(25,6, utf8_decode('Dirección:'),1,0,'L');
$pdf->Cell(165,6, utf8_decode($cliente['direccion']),1,1,'L');

$pdf->Ln(3);

// =======================
// DETALLE
// =======================
$pdf->SetFont('Arial','B',8);
$pdf->Cell(25,7, utf8_decode('Código'),1,0,'C');
$pdf->Cell(70,7, utf8_decode('Descripción'),1,0,'C');
$pdf->Cell(15,7, utf8_decode('Cant.'),1,0,'C');
$pdf->Cell(25,7, utf8_decode('P. Unit.'),1,0,'C');
$pdf->Cell(20,7, utf8_decode('Descuento'),1,0,'C');
$pdf->Cell(20,7, utf8_decode('IVA'),1,0,'C');
$pdf->Cell(25,7, utf8_decode('Total'),1,1,'C');

$pdf->SetFont('Arial','',8);

foreach ($detalles as $item) {
    $total_bruto = $item['cantidad'] * $item['precio_unitario'];
    $total_linea = $total_bruto - $item['descuento'];

    $pdf->Cell(25,6, utf8_decode($item['codigo']),1,0,'C');
    $pdf->Cell(70,6, utf8_decode($item['descripcion']),1,0,'L');
    $pdf->Cell(15,6, number_format($item['cantidad'],2,'.',''),1,0,'R');
    $pdf->Cell(25,6, number_format($item['precio_unitario'],2,'.',''),1,0,'R');
    $pdf->Cell(20,6, number_format($item['descuento'],2,'.',''),1,0,'R');
    $pdf->Cell(20,6, $item['iva'].'%',1,0,'C');
    $pdf->Cell(25,6, number_format($total_linea,2,'.',''),1,1,'R');
}

// =======================
// TOTALES
// =======================
$pdf->Ln(3);
$x_totales = 115;
$y_totales = $pdf->GetY();

$pdf->SetXY($x_totales, $y_totales);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(45,6, utf8_decode('SUBTOTAL 12%:'),1,0,'R');
$pdf->SetFont('Arial','',8);
$pdf->Cell(40,6, number_format($subtotal_12,2,'.',''),1,1,'R');

$pdf->SetX($x_totales);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(45,6, utf8_decode('SUBTOTAL 0%:'),1,0,'R');
$pdf->SetFont('Arial','',8);
$pdf->Cell(40,6, number_format($subtotal_0,2,'.',''),1,1,'R');

$pdf->SetX($x_totales);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(45,6, utf8_decode('DESCUENTO:'),1,0,'R');
$pdf->SetFont('Arial','',8);
$pdf->Cell(40,6, number_format($descuento_total,2,'.',''),1,1,'R');

$pdf->SetX($x_totales);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(45,6, utf8_decode('IVA 12%:'),1,0,'R');
$pdf->SetFont('Arial','',8);
$pdf->Cell(40,6, number_format($iva_12,2,'.',''),1,1,'R');

$pdf->SetX($x_totales);
$pdf->SetFont('Arial','B',8);
$pdf->Cell(45,6, utf8_decode('IMPORTE TOTAL:'),1,0,'R');
$pdf->SetFont('Arial','',8);
$pdf->Cell(40,6, number_format($importe_total,2,'.',''),1,1,'R');

// =======================
// LEYENDA RIDE
// =======================
$pdf->SetY(270);
$pdf->SetFont('Arial','I',7);
$pdf->Cell(0,4, utf8_decode('ESTE DOCUMENTO ES LA REPRESENTACIÓN IMPRESA DE LA FACTURA ELECTRÓNICA.'),0,1,'C');
$pdf->Cell(0,4, utf8_decode('CONSULTE LA VALIDEZ DE ESTE COMPROBANTE EN www.sri.gob.ec CON LA CLAVE DE ACCESO.'),0,1,'C');

$pdf->Output('I', 'FACTURA_'.$factura['numero'].'.pdf');
