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

$session_id = session_id();

if (isset($_POST['id_producto_final'])) {
    $id_producto_final = intval($_POST['id_producto_final']);
    $cantidad = intval($_POST['cantidad']); // Por defecto 1

    // Verificar stock para cada componente
    $sql_comp = "SELECT c.id_producto, c.cantidad as cant_comp, p.nombre_producto, p.existencia FROM composicion_producto_final c JOIN products p ON c.id_producto = p.id_producto WHERE c.id_producto_final = '$id_producto_final'";
    $query_comp = mysqli_query($con, $sql_comp);

    $stock_insuficiente = false;
    $componentes = array();
    while ($row = mysqli_fetch_array($query_comp)) {
        $necesario = $row['cant_comp'] * $cantidad;
        if ($row['existencia'] < $necesario) {
            $stock_insuficiente = true;
            break;
        }
        $componentes[] = $row;
    }

    if ($stock_insuficiente) {
        echo "<script>alert('Stock insuficiente para los componentes del producto final.')</script>";
    } else {
        // Calcular precio unitario
        $sql_precio = "SELECT SUM(c.cantidad * p.precio_venta) as precio_venta_unitario, SUM(c.cantidad * p.precio_producto) as precio_costo_unitario FROM composicion_producto_final c JOIN products p ON c.id_producto = p.id_producto WHERE c.id_producto_final = '$id_producto_final'";
        $query_precio = mysqli_query($con, $sql_precio);
        $row_precio = mysqli_fetch_array($query_precio);
        $precio_venta_unitario = $row_precio['precio_venta_unitario'];
        $precio_costo_unitario = $row_precio['precio_costo_unitario'];

        // Obtener nombre
        $sql_pf = "SELECT nombre FROM producto_final WHERE id = '$id_producto_final'";
        $query_pf = mysqli_query($con, $sql_pf);
        $row_pf = mysqli_fetch_array($query_pf);
        $nombre = "Producto Final: " . $row_pf['nombre'];

        // Insertar en tmp2 (usando id_producto = id_producto_final, pero negativo para distinguir)
        $id_tmp = -$id_producto_final; // Negativo para productos finales
        $insert = mysqli_query($con, "INSERT INTO tmp2 (id_producto, cantidad_tmp2, precio_tmp2, precio_costo_tmp2, session_id) VALUES ('$id_tmp', '$cantidad', '$precio_venta_unitario', '$precio_costo_unitario', '$session_id')");

        if ($insert) {
            echo "Producto final agregado al carrito.";
        } else {
            echo "Error al agregar.";
        }
    }
}
?>