<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);

// Incluir la conexión a la base de datos
include 'conexion.php';

// Establecer la cabecera para devolver los datos en formato JSON
header('Content-Type: application/json');

// Verificar que el usuario haya iniciado sesión
session_start();
if (!isset($_SESSION['id_usuario'])) {
    echo json_encode(['message' => 'Usuario no autenticado.']);
    exit();
}

// Obtener el id_usuario desde la sesión
$id_usuario = $_SESSION['id_usuario'];

// Consulta para obtener el id_empresa asociado al usuario
$sql = "
    SELECT id_empresa
    FROM usuarios_sistema
    WHERE id_usuario = ? 
";

$stmt = $conexion->prepare($sql);
$stmt->bind_param("i", $id_usuario);
$stmt->execute();
$result = $stmt->get_result();

// Verificar si se obtuvo el id_empresa
if ($result->num_rows > 0) {
    $empresa_data = $result->fetch_assoc();
    $id_empresa = $empresa_data['id_empresa'];

    // Consulta para obtener las devoluciones de la empresa, incluyendo el código y los nombres completos del usuario
    $sql_devoluciones = "
        SELECT d.id, d.fecha, e.nombre AS empresa, d.codigo, 
               CONCAT(u.nombres, ' ', u.apellido_paterno, ' ', u.apellido_materno) AS usuario
        FROM devoluciones d
        INNER JOIN empresas e ON d.id_empresa = e.id_empresa
        INNER JOIN usuarios u ON d.id_usuario = u.id
        WHERE d.id_empresa = ?
        ORDER BY d.fecha DESC
    ";

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

    if ($result_devoluciones->num_rows > 0) {
        $devoluciones = [];

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

        echo json_encode($devoluciones);
    } else {
        echo json_encode(['message' => 'No se encontraron devoluciones para esta empresa.']);
    }

    $stmt_devoluciones->close();
} else {
    echo json_encode(['message' => 'No se encontró la empresa para el usuario.']);
}

$stmt->close();
$conexion->close();
?>
