<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

include("conexion.php");

$id_usuario = $_POST['id_usuario']; // ID del técnico

// CONSULTA 1: Obtener datos del técnico
$query_tecnico = "
    SELECT nombres, apellido_paterno, direccion, email
    FROM usuarios
    WHERE id = ?
";
$stmt_tecnico = $conexion->prepare($query_tecnico);
$stmt_tecnico->bind_param("i", $id_usuario);
$stmt_tecnico->execute();
$result_tecnico = $stmt_tecnico->get_result();
$tecnico = $result_tecnico->fetch_assoc();

// CONSULTA 2: Obtener inventario
$query_inventario = "
    SELECT 
        it.id_inventario,
        it.tipo,
        it.cantidad,
        f.nombre AS nombre_producto,
        sd.serie
    FROM 
        inventario_tecnico it
    LEFT JOIN 
        ferreteria f ON it.id_producto = f.id_producto
    LEFT JOIN 
        series_datos sd ON it.id_dato = sd.id_dato
    LEFT JOIN 
        series s ON sd.id_serie = s.id_serie
    WHERE 
        it.id_usuario = ?
";
$stmt_inventario = $conexion->prepare($query_inventario);
$stmt_inventario->bind_param("i", $id_usuario);
$stmt_inventario->execute();
$result_inventario = $stmt_inventario->get_result();

$inventario = [];
while ($row = $result_inventario->fetch_assoc()) {
    $inventario[] = $row;
}

// CONSULTA 3: Obtener materiales/devueltos
$query_devoluciones = "
    SELECT 
        d.id AS devolucion_id,
        f.nombre AS nombre_producto,
        dd.cantidad AS cantidad_devuelta,
        sd.serie AS serie_devuelta,
        dds.comentario AS comentario_devuelto  -- Obtener el comentario relacionado con la devolución
    FROM 
        devoluciones d
    LEFT JOIN 
        detalles_devolucion dd ON dd.id_devolucion = d.id
    LEFT JOIN 
        ferreteria f ON dd.id_producto = f.id_producto
    LEFT JOIN 
        detalles_devolucion_series dds ON dds.id_devolucion = d.id  -- Usamos la tabla detalles_devolucion_series
    LEFT JOIN 
        series_datos sd ON sd.id_dato = dds.id_dato  -- Usamos la relación con series_datos
    WHERE 
        d.id_usuario = ?
";


$stmt_devoluciones = $conexion->prepare($query_devoluciones);
$stmt_devoluciones->bind_param("i", $id_usuario);
$stmt_devoluciones->execute();
$result_devoluciones = $stmt_devoluciones->get_result();

$devoluciones = [];
while ($row = $result_devoluciones->fetch_assoc()) {
    $devoluciones[] = $row;
}

// Devolver todo junto
echo json_encode([
    "tecnico" => $tecnico,
    "inventario" => $inventario,
    "devoluciones" => $devoluciones // Agregar devoluciones a la respuesta
]);
?>
