<?php
//session_start();
include('is_logged.php');
require_once ("../config/db.php");
require_once ("../config/conexion.php");

$session_id = session_id();

// --- 1. DEFINIR TASA SIEMPRE AL INICIO (Para evitar el error de Undefined variable) ---
$sql_tasa = mysqli_query($con, "SELECT tasa FROM tasa WHERE id_tasa='1'");
$res_tasa = mysqli_fetch_array($sql_tasa);
$tasa_actual = ($res_tasa) ? $res_tasa['tasa'] : 1;

// --- 2. LÓGICA PARA ELIMINAR ---
if (isset($_GET['id'])) {
    $id_tmp2 = intval($_GET['id']);
    $delete = mysqli_query($con, "DELETE FROM tmp2 WHERE id_tmp2='" . $id_tmp2 . "'");
} 

// --- 3. LÓGICA PARA AGREGAR ---
else if (isset($_POST['id'])) {
    $id_producto_final = intval($_POST['id']);
    $cantidad_solicitada = $_POST['cantidad'];
    $precio_venta = $_POST['precio_venta'];
    $id_almacen = intval($_POST['tienda_id']); 
    
    $puedo_vender = true;
    $msg_error = "";

    // VALIDACIÓN DE STOCK POR NOMBRE EN LA TIENDA SELECCIONADA
    $sql_val = "SELECT 
                c.cantidad as cant_receta, 
                p_inv.nombre_producto, 
                p_inv.existencia 
             FROM composicion_producto_final c
             INNER JOIN products p_receta ON c.id_producto = p_receta.id_producto
             INNER JOIN products p_inv ON p_receta.nombre_producto = p_inv.nombre_producto
             WHERE c.id_producto_final = " . (int)$id_producto_final . " 
             AND p_inv.almacen = " . (int)$id_almacen;

    $res_val = mysqli_query($con, $sql_val);

    if (mysqli_num_rows($res_val) > 0) {
        while ($row = mysqli_fetch_array($res_val)) {
            $necesario = $row['cant_receta'] * $cantidad_solicitada;
            if ($row['existencia'] < $necesario) {
                $puedo_vender = false;
                $msg_error = "Stock insuficiente de: " . $row['nombre_producto'] . " (Disponible: " . $row['existencia'] . ")";
                break;
            }
        }
    } else {
        $puedo_vender = false;
        $msg_error = "Este producto no tiene ingredientes vinculados en esta tienda.";
    }

    if ($puedo_vender) {
    $sql_insert = "INSERT INTO tmp2 (id_producto, cantidad_tmp2, precio_tmp2, session_id) 
               VALUES ('$id_producto_final', '$cantidad_solicitada', '$precio_venta', '$session_id')";
    
    if (mysqli_query($con, $sql_insert)) {
        // Éxito
    } else {
        // Esto te dirá si falta una columna o si el session_id es muy largo
        die("Error al insertar en tmp2: " . mysqli_error($con));
    }
} else {
        header('HTTP/1.1 400 Bad Request');
        echo $msg_error;
        exit;
    }
}
echo "Sesion: ".$session_id;
?>

<table class="table" style="font-size:12px;">
    <tr class="info">
        <th class='text-center'>CANT.</th>
        <th>DESCRIPCIÓN</th>
        <th class='text-right'>PRECIO $</th>
        <th class='text-right'>TOTAL $</th>
        <th class='text-right'>TOTAL BS.</th>
        <th></th>
    </tr>
    <?php
    $sumador_total = 0;
    $sql_detalle = mysqli_query($con, "SELECT * FROM tmp2 WHERE session_id='" . $session_id . "'");

// AGREGA ESTO TEMPORALMENTE:
if (!$sql_detalle) {
    die("Error en SQL: " . mysqli_error($con));
}
if (mysqli_num_rows($sql_detalle) == 0) {
    echo "";
}
    
    while ($row = mysqli_fetch_array($sql_detalle)) {
        $id_tmp2 = $row["id_tmp2"];
        $cantidad = $row['cantidad_tmp2'];
        $id_prod_f = $row["id_producto"];
        
        $sql_nom = mysqli_query($con, "SELECT nombre FROM producto_final WHERE id = '$id_prod_f'");
        $row_nom = mysqli_fetch_array($sql_nom);
        $nombre_producto = ($row_nom) ? $row_nom['nombre'] : "Producto #$id_prod_f";

        $precio_venta = $row['precio_tmp2'];
        $precio_total = $precio_venta * $cantidad;
        $sumador_total += $precio_total;
        
        // Aquí usamos $tasa_actual que ahora sí está definida siempre
        $total_bs = $precio_total * $tasa_actual;
    ?>
        <tr>
            <td class='text-center'><?php echo $cantidad; ?></td>
            <td><?php echo $nombre_producto; ?></td>
            <td class='text-right'><?php echo number_format($precio_venta, 2); ?></td>
            <td class='text-right'><?php echo number_format($precio_total, 2); ?></td>
            <td class='text-right'><?php echo number_format($total_bs, 2, ',', '.'); ?></td>
            <td class='text-center'>
                <a href="#" onclick="eliminar('<?php echo $id_tmp2 ?>')"><i class="glyphicon glyphicon-trash" style="color:red; cursor:pointer;"></i></a>
            </td>
        </tr>       
    <?php
    }
    $total_factura_usd = number_format($sumador_total, 2, '.', '');
    $total_factura_bs = number_format($sumador_total * $tasa_actual, 2, ",", ".");
    ?>
    <tr style="background: #f9f9f9;">
        <td class='text-right' colspan=3><strong style="font-size:14px;">TOTAL:</strong></td>
        <td class='text-right'><strong style="font-size:14px;">$<?php echo $total_factura_usd; ?></strong></td>
        <td class='text-right'><strong style="font-size:14px;"><?php echo $total_factura_bs; ?> Bs.</strong></td>
        <td></td>
    </tr>
</table>