<?php
include('is_logged.php');

$id_compra      = $_SESSION['id_compra'];
$numero_compra  = $_SESSION['numero_compra'];
$id_proveedor   = $_SESSION['id_proveedor'];

require_once ("../config/db.php");
require_once ("../config/conexion.php");

/* --- LÓGICA PARA AGREGAR PRODUCTO --- */
if (isset($_POST['id']) && isset($_POST['cantidad']) && isset($_POST['precio_compra'])) {
    $id_producto   = intval($_POST['id']);
    $cantidad      = intval($_POST['cantidad']);
    $precio_compra = floatval($_POST['precio_compra']);
    
    // Capturamos utilidad: si está vacío en el input, ponemos 0
    $utilidad_input = isset($_POST['utilidad']) ? $_POST['utilidad'] : 0;
	$utilidad = (empty($utilidad_input)) ? 0 : floatval($utilidad_input);

	if (isset($utilidad)) {
    echo "<div class='alert alert-info'>
            <b>Debug:</b> El valor de utilidad recibido es: <strong>" . $utilidad . "</strong>
          </div>";
}

    if ($id_producto > 0 && $cantidad > 0) {
        
        // A. Insertar en detalle_compra
        $sql_insert_detalle = "INSERT INTO detalle_compra (numero_compra, id_producto, cantidad, precio_compra, id_proveedor) 
                               VALUES ('$numero_compra', '$id_producto', '$cantidad', '$precio_compra', '$id_proveedor')";
        
        if (mysqli_query($con, $sql_insert_detalle)) {
            
            // B. Calcular el nuevo precio de venta
            $precio_venta_nuevo = $precio_compra + ($precio_compra * ($utilidad / 100));
            $precio_venta_nuevo = number_format($precio_venta_nuevo, 3, '.', '');

            // C. Obtener existencia actual (PORQUE AHORA SÍ LA VAMOS A ACTUALIZAR)
            $res_stock = mysqli_query($con, "SELECT existencia FROM products WHERE id_producto = '$id_producto'");
            $row_stock = mysqli_fetch_array($res_stock);
            $nueva_existencia = $row_stock['existencia'] + $cantidad;

            // D. ACTUALIZACIÓN DE LA TABLA PRODUCTS
            // Incluimos 'existencia' de nuevo como pediste ahora
            $sql_update_prod = "UPDATE products SET 
                                existencia = '$nueva_existencia', 
                                precio_producto = '$precio_compra', 
                                precio_venta = '$precio_venta_nuevo' 
                                WHERE id_producto = '$id_producto'";
            
            mysqli_query($con, $sql_update_prod);
        }
    }
}

/* --- LÓGICA PARA ELIMINAR --- */
if (isset($_GET['id'])) {
    $id_detalle = intval($_GET['id']);
    
    // Si eliminamos del detalle, restamos la existencia que habíamos sumado
    $sql_det = mysqli_query($con, "SELECT id_producto, cantidad FROM detalle_compra WHERE id_detalle='$id_detalle'");
    if ($row_det = mysqli_fetch_array($sql_det)) {
        $id_p = $row_det['id_producto'];
        $can_p = $row_det['cantidad'];
        mysqli_query($con, "UPDATE products SET existencia = existencia - $can_p WHERE id_producto = '$id_p'");
    }

    mysqli_query($con, "DELETE FROM detalle_compra WHERE id_detalle='$id_detalle'");
}
?>

<table class="table" style="font-size:11px;">
    <tr class="info">
        <th class='text-center'>CODIGO</th>
        <th class='text-center'>CANT.</th>
        <th>DESCRIPCION</th>
        <th class='text-right'>PRECIO UNIT.</th>
        <th class='text-right'>PRECIO TOTAL</th>
        <th></th>
    </tr>

<?php
    $sumador_total = 0;
    $sql_items = mysqli_query($con, "SELECT d.id_detalle, p.codigo_producto, d.cantidad, p.nombre_producto, d.precio_compra 
                                     FROM detalle_compra d 
                                     INNER JOIN products p ON d.id_producto = p.id_producto 
                                     WHERE d.numero_compra = '$numero_compra' AND d.id_proveedor = '$id_proveedor'");

    while ($row = mysqli_fetch_array($sql_items)) {
        $id_det = $row["id_detalle"];
        $p_total = $row['precio_compra'] * $row['cantidad'];
        $sumador_total += $p_total;
?>
        <tr>
            <td class='text-center'><?php echo $row['codigo_producto']; ?></td>
            <td class='text-center'><?php echo $row['cantidad']; ?></td>
            <td><?php echo $row['nombre_producto']; ?></td>
            <td class='text-right'><?php echo number_format($row['precio_compra'], 3); ?></td>
            <td class='text-right'><?php echo number_format($p_total, 3); ?></td>
            <td class='text-center'>
                <a href="#" onclick="eliminar('<?php echo $id_det ?>')">
                    <i class="glyphicon glyphicon-trash" style="color:red; cursor:pointer;"></i>
                </a>
            </td>
        </tr>
<?php
    }
    
    // Actualizar cabecera de compra
    $total_final = number_format($sumador_total, 3, '.', '');
    $res_abono = mysqli_query($con, "SELECT abono FROM compras WHERE id_compra='$id_compra'");
    $row_abono = mysqli_fetch_array($res_abono);
    $abono = $row_abono['abono'] ?? 0;
    $saldo = $total_final - $abono;

    mysqli_query($con, "UPDATE compras SET total='$total_final', por_pagar='$saldo' WHERE id_compra='$id_compra'");
?>
    <tr>
        <td class='text-right' colspan=4><strong>TOTAL COMPRA $</strong></td>
        <td class='text-right'><strong><?php echo number_format($sumador_total, 3); ?></strong></td>
        <td></td>
    </tr>
</table>