<?php
include("conexion.php");

$id_inventario = $_POST['id_inventario'];
$cantidad = $_POST['cantidad'];

// Consultar el inventario
$query_inventario = "
    SELECT it.id_inventario, it.tipo, it.cantidad, it.id_dato, it.id_producto,
           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
    WHERE it.id_inventario = ?
";
$stmt = $conexion->prepare($query_inventario);
$stmt->bind_param("i", $id_inventario);
$stmt->execute();
$result = $stmt->get_result();
$producto = $result->fetch_assoc();

// Si tiene un id_dato (producto seriado), actualizar estado y eliminar del inventario técnico
if (!empty($producto['id_dato'])) {
    // Cambiar estado a "No Usado"
    $query_serie = "UPDATE series_datos SET estado = 'no_usado' WHERE id_dato = ?";
    $stmt_serie = $conexion->prepare($query_serie);
    $stmt_serie->bind_param("i", $producto['id_dato']);
    $stmt_serie->execute();

    // Registrar en el historial de devoluciones
    $query_historial = "
        INSERT INTO historial_inventario_devoluciones (id_inventario, id_producto, id_dato, tipo, cantidad, fecha_devolucion, descripcion, usuario)
        VALUES (?, ?, ?, 'seriado', ?, NOW(), 'Devolución de producto seriado', 'Usuario Ejemplo')
    ";
    $stmt_historial = $conexion->prepare($query_historial);
    $stmt_historial->bind_param("iiisi", $id_inventario, $producto['id_producto'], $producto['id_dato'], $cantidad);
    $stmt_historial->execute();

    // Eliminar el inventario técnico
    $query_delete = "DELETE FROM inventario_tecnico WHERE id_inventario = ?";
    $stmt_delete = $conexion->prepare($query_delete);
    $stmt_delete->bind_param("i", $id_inventario);
    $stmt_delete->execute();
} else {
    // Si es producto de ferretería, actualizar stock
    if (!empty($producto['nombre_producto'])) {
        $query_update_stock = "
            UPDATE ferreteria 
            SET stock = stock + ?
            WHERE nombre = ?
        ";
        $stmt_stock = $conexion->prepare($query_update_stock);
        $stmt_stock->bind_param("is", $cantidad, $producto['nombre_producto']);
        $stmt_stock->execute();

        // Registrar en el historial de devoluciones para producto de ferretería
        $query_historial = "
            INSERT INTO historial_inventario_devoluciones (id_inventario, id_producto, tipo, cantidad, fecha_devolucion, descripcion, usuario)
            VALUES (?, ?, 'ferreteria', ?, NOW(), 'Devolución de producto de ferretería', 'Usuario Ejemplo')
        ";
        $stmt_historial = $conexion->prepare($query_historial);
        $stmt_historial->bind_param("iii", $id_inventario, $producto['id_producto'], $cantidad);
        $stmt_historial->execute();
    }

    // Restar del inventario técnico
    $query_update_inv = "
        UPDATE inventario_tecnico 
        SET cantidad = cantidad - ?
        WHERE id_inventario = ?
    ";
    $stmt_update_inv = $conexion->prepare($query_update_inv);
    $stmt_update_inv->bind_param("ii", $cantidad, $id_inventario);
    $stmt_update_inv->execute();
}

echo json_encode(["success" => true]);
?>
