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

require_once 'db/config.php';

try {
    $pdo = db();
    // Intenta con created_at primero, que es el estándar más probable.
    $sql = "SELECT id, estado, monto, created_at FROM pedidos WHERE estado LIKE 'COMPLETADO%' ORDER BY created_at DESC LIMIT 10";
    $stmt = $pdo->query($sql);
    $pedidos = $stmt->fetchAll(PDO::FETCH_ASSOC);

} catch (PDOException $e) {
    // Si falla, es muy probable que la columna 'created_at' no exista.
    // Intentemos con 'fecha_pedido' como segundo intento.
    if (strpos($e->getMessage(), 'Unknown column') !== false && strpos($e->getMessage(), 'created_at') !== false) {
        try {
            $pdo = db();
            $sql = "SELECT id, estado, monto, fecha_pedido FROM pedidos WHERE estado LIKE 'COMPLETADO%' ORDER BY fecha_pedido DESC LIMIT 10";
            $stmt = $pdo->query($sql);
            $pedidos = $stmt->fetchAll(PDO::FETCH_ASSOC);
            $GLOBALS['fecha_column_name'] = 'fecha_pedido';

        } catch (PDOException $e2) {
            $error = "Error al intentar con 'fecha_pedido': " . $e2->getMessage();
        }
    } else {
        $error = "Error en la consulta: " . $e->getMessage();
    }
}

?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Diagnóstico de Pedidos Completados</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        body { background-color: #f8f9fa; }
        .container { max-width: 800px; }
        .card { margin-top: 2rem; }
    </style>
</head>
<body>
    <div class="container">
        <div class="card">
            <div class="card-header bg-primary text-white">
                <h1 class="h4 mb-0">Diagnóstico de Pedidos Completados</h1>
            </div>
            <div class="card-body">
                <p class="card-text">
                    Esta página muestra los últimos 10 pedidos con estado <strong>"COMPLETADO"</strong> directamente desde la base de datos.
                    Esto nos ayudará a verificar el nombre real de la columna de fecha y si existen datos para filtrar.
                </p>

                <?php if (isset($error)): ?>
                    <div class="alert alert-danger">
                        <h4>Error Crítico</h4>
                        <p>No se pudo encontrar la columna de fecha ni como 'created_at' ni como 'fecha_pedido'.</p>
                        <pre><?php echo htmlspecialchars($error); ?></pre>
                    </div>
                <?php elseif (empty($pedidos)): ?>
                    <div class="alert alert-warning">
                        <h4>No se encontraron pedidos</h4>
                        <p>La consulta se ejecutó correctamente, pero no se encontró <strong>ningún pedido</strong> con el estado "COMPLETADO" en la base de datos.</p>
                        <p>Esto explica por qué los filtros de fecha no muestran resultados. Primero deben existir pedidos completados.</p>
                    </div>
                <?php else: ?>
                    <div class="alert alert-success">
                        <p>¡Éxito! Se encontraron los siguientes pedidos completados. La columna de fecha correcta es <strong>`<?php echo $GLOBALS['fecha_column_name'] ?? 'created_at'; ?>`</strong>.</p>
                    </div>
                    <table class="table table-bordered table-striped">
                        <thead class="table-dark">
                            <tr>
                                <th>ID Pedido</th>
                                <th>Estado</th>
                                <th>Monto</th>
                                <th>Fecha de Creación (<?php echo $GLOBALS['fecha_column_name'] ?? 'created_at'; ?>)</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php foreach ($pedidos as $pedido): ?>
                                <tr>
                                    <td><?php echo htmlspecialchars($pedido['id']); ?></td>
                                    <td><?php echo htmlspecialchars($pedido['estado']); ?></td>
                                    <td><?php echo htmlspecialchars($pedido['monto']); ?></td>
                                    <td><?php echo htmlspecialchars($pedido[$GLOBALS['fecha_column_name'] ?? 'created_at']); ?></td>
                                </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                <?php endif; ?>
            </div>
            <div class="card-footer">
                <p class="text-muted small mb-0">
                    Si la tabla muestra datos, por favor, copia y pega la tabla completa en el chat. Si muestra un error o un mensaje de "No se encontraron pedidos", solo indícamelo.
                </p>
            </div>
        </div>
    </div>
</body>
</html>
