<?php
ob_start();
include('ajax/is_logged.php');
require('fpdf/fpdf.php');
require_once ("config/db.php");
require_once ("config/conexion.php");

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);

$tienda = isset($_GET['tienda']) ? mysqli_real_escape_string($con, $_GET['tienda']) : '';
$desde = isset($_GET['desde']) ? mysqli_real_escape_string($con, $_GET['desde']) : '';
$hasta = isset($_GET['hasta']) ? mysqli_real_escape_string($con, $_GET['hasta']) : '';
$donacion = "Donacion";

$sWhere = " WHERE condiciones != '$donacion'";
if (!empty($tienda)) {
    $sWhere .= " AND almacen = '$tienda'";
}
if (!empty($desde) && !empty($hasta)) {
    $sWhere .= " AND fecha_factura BETWEEN '$desde' AND '$hasta'";
} elseif (!empty($desde)) {
    $sWhere .= " AND fecha_factura = '$desde'";
} elseif (!empty($hasta)) {
    $sWhere .= " AND fecha_factura = '$hasta'";
}

$query_tasa = mysqli_query($con, "SELECT tasa FROM tasa WHERE id_tasa='1'");
$dato_tasa = mysqli_fetch_array($query_tasa);
$tasa_actual = ($dato_tasa['tasa'] > 0) ? $dato_tasa['tasa'] : 1;

$nombre_tienda = 'Todas las Tiendas';
if (!empty($tienda)) {
    $q_tienda = mysqli_query($con, "SELECT nombre FROM tiendas WHERE id_tienda = '$tienda'");
    if ($rw_tienda = mysqli_fetch_array($q_tienda)) {
        $nombre_tienda = $rw_tienda['nombre'];
    }
}

class PDF extends FPDF {
    function Header() {
        global $nombre_tienda, $desde, $hasta;

        $this->Image('img/logonino.jpeg', 10, 8, 25);
        $this->SetFont('Arial', 'B', 14);
        $this->Cell(0, 10, utf8_decode('LIBRO DE VENTAS'), 0, 1, 'C');
        $this->SetFont('Arial', '', 9);
        $this->Cell(0, 6, utf8_decode('Ventas gravadas. Totales desglosados en Base Imponible e IVA.'), 0, 1, 'C');
        $this->Ln(2);

        $this->SetFont('Arial', '', 8);
        $this->Cell(0, 5, utf8_decode('Tienda: ') . utf8_decode($nombre_tienda), 0, 1, 'C');
        $periodo = 'Período: ' . (!empty($desde) ? $desde : 'Inicio') . ' a ' . (!empty($hasta) ? $hasta : 'Fin');
        $this->Cell(0, 5, utf8_decode($periodo), 0, 1, 'C');
        $this->Ln(3);

        $this->SetFillColor(211, 47, 47);
        $this->SetTextColor(255);
        $this->SetFont('Arial', 'B', 7);
        $this->Cell(8, 8, '#', 1, 0, 'C', true);
        $this->Cell(18, 8, 'FECHA', 1, 0, 'C', true);
        $this->Cell(55, 8, utf8_decode('CLIENTE'), 1, 0, 'C', true);
        $this->Cell(20, 8, 'FACTURA', 1, 0, 'C', true);
        $this->Cell(25, 8, 'TOTAL c/IVA', 1, 0, 'C', true);
        $this->Cell(25, 8, 'BASE', 1, 0, 'C', true);
        $this->Cell(12, 8, '%IVA', 1, 0, 'C', true);
        $this->Cell(25, 8, 'IVA', 1, 0, 'C', true);
        $this->Cell(25, 8, 'CREDITO', 1, 1, 'C', true);
        $this->SetTextColor(0);
    }

    function Footer() {
        $this->SetY(-15);
        $this->SetFont('Arial', 'I', 8);
        $this->Cell(0, 10, utf8_decode('Página ') . $this->PageNo() . '/{nb}', 0, 0, 'C');
    }
}

$pdf = new PDF('L', 'mm', 'letter');
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial', '', 8);

$sql = "SELECT f.*, c.nombre_cliente, c.rif_cliente FROM facturas f LEFT JOIN clientes c ON f.id_cliente = c.id_cliente $sWhere ORDER BY f.fecha_factura ASC";
$query = mysqli_query($con, $sql);

$item = 0;
$t_total = 0;
$t_base = 0;
$t_iva = 0;
$t_credito = 0;

while ($row = mysqli_fetch_array($query)) {
    $item++;
    $total_vnt = floatval($row['total_venta']);
    $base = $total_vnt / (1 + (TAX / 100));
    $iva = $total_vnt - $base;
    $pagado_usd = floatval($row['condiciones_efed']) + ((floatval($row['condiciones_efe']) + floatval($row['condiciones_tra']) + floatval($row['condiciones_pun']) + floatval($row['condiciones_ret'])) / $tasa_actual);
    $credito = $total_vnt - $pagado_usd;
    if ($credito < 0) { $credito = 0; }

    $t_total += $total_vnt;
    $t_base += $base;
    $t_iva += $iva;
    $t_credito += $credito;

    if ($item % 2 == 0) {
        $pdf->SetFillColor(245, 245, 245);
    } else {
        $pdf->SetFillColor(255, 255, 255);
    }

    $pdf->Cell(8, 7, $item, 'B', 0, 'C', true);
    $pdf->Cell(18, 7, date('d/m/Y', strtotime($row['fecha_factura'])), 'B', 0, 'C', true);
    $pdf->Cell(55, 7, substr(utf8_decode($row['nombre_cliente']), 0, 30), 'B', 0, 'L', true);
    $pdf->Cell(20, 7, $row['numero_factura'], 'B', 0, 'C', true);
    $pdf->Cell(25, 7, number_format($total_vnt, 2, ',', '.'), 'B', 0, 'R', true);
    $pdf->Cell(25, 7, number_format($base, 2, ',', '.'), 'B', 0, 'R', true);
    $pdf->Cell(12, 7, TAX . '%', 'B', 0, 'C', true);
    $pdf->Cell(25, 7, number_format($iva, 2, ',', '.'), 'B', 0, 'R', true);
    $pdf->Cell(25, 7, number_format($credito, 2, ',', '.'), 'B', 1, 'R', true);
}

$pdf->Ln(5);
$pdf->SetFont('Arial', 'B', 8);
$pdf->SetFillColor(230, 230, 230);
$pdf->Cell(101, 8, utf8_decode('TOTALES DEL PERIODO'), 1, 0, 'C', true);
$pdf->Cell(25, 8, number_format($t_total, 2, ',', '.'), 1, 0, 'R', true);
$pdf->Cell(25, 8, number_format($t_base, 2, ',', '.'), 1, 0, 'R', true);
$pdf->Cell(12, 8, '', 1, 0, 'C', true);
$pdf->Cell(25, 8, number_format($t_iva, 2, ',', '.'), 1, 0, 'R', true);
$pdf->Cell(25, 8, number_format($t_credito, 2, ',', '.'), 1, 1, 'R', true);

$pdf->Ln(6);
$pdf->SetFont('Arial', '', 8);
$pdf->Cell(0, 5, utf8_decode('Tasa utilizada: ') . number_format($tasa_actual, 2, ',', '.') . ' Bs/USD', 0, 1, 'L');

if (ob_get_length()) ob_end_clean();
$pdf->Output('Libro_de_Ventas.pdf', 'D');
?>