<?php
error_reporting(0); // Desactiva reportes de errores que ensucian la imagen
ob_start();         // Inicia el búfer de salida
session_start();
require_once ('jpgraph/src/jpgraph.php');
require_once ('jpgraph/src/jpgraph_bar.php');
require_once ("config/db.php");
require_once ("config/conexion.php");

$desde = $_GET['desde'];
$hasta = $_GET['hasta'];
$tienda = $_GET['tienda'];

$sTable = "facturas";
$sWhere = " WHERE 1=1";

// Filtro de Fechas
if (!empty($desde) && !empty($hasta)) {
    $sWhere .= " AND fecha_factura BETWEEN '$desde' AND '$hasta'";
} elseif (!empty($desde)) {
    $sWhere .= " AND fecha_factura = '$desde'";
}

// Filtro de Tienda
if (!empty($tienda) && $tienda != "0") {
    $sWhere .= " AND almacen = '$tienda'";
}

$credito = 0;
$pago = 0;

$sql = "SELECT total_venta, estado_factura FROM $sTable $sWhere";
$query = mysqli_query($con, $sql);

while ($d = mysqli_fetch_array($query)) {
    if ($d['estado_factura'] == 1) {
        $credito += $d['total_venta'];
    } else {
        $pago += $d['total_venta'];
    }
}

$estado = array("Pagado", "Por Cobrar");
$can = array($pago, $credito);

// Configuración del Gráfico
$graph = new Graph(500, 300);
$graph->SetScale("textlin");
$graph->SetMargin(50, 30, 50, 50);
$graph->title->Set('RESUMEN DE VENTAS ($)');
$graph->title->SetFont(FF_FONT1, FS_BOLD);

$graph->xaxis->SetTickLabels($estado);
$graph->xaxis->title->Set("Estado de Venta");
$graph->yaxis->title->Set("Monto ($)");

$p1 = new BarPlot($can);
$graph->Add($p1);

// Colores: Verde para pagado, Rojo para crédito
$p1->SetFillColor(array("#2ecc71", "#e74c3c")); 
$p1->SetWidth(40);

// Mostrar valores sobre las barras
$p1->value->Show(); 
$p1->value->SetFormat('%0.2f'); // Dos decimales
$p1->value->SetFont(FF_FONT1, FS_BOLD);
$p1->value->SetColor("black");
ob_end_clean();
$graph->Stroke();
?>