<?php
/**
 * Teste simples para verificar o banco e a solicitação do gestor ID 2
 */

require_once __DIR__ . '/config/database.php';

try {
    echo "🧪 Teste do Banco - Gestor ID 2\n";
    echo "================================\n\n";
    
    $pdo = conectarBanco();
    echo "✅ Conexão com banco estabelecida\n\n";
    
    // 1. Verificar se o gestor ID 2 existe
    echo "1️⃣ Verificando gestor ID 2...\n";
    $stmt = $pdo->prepare("SELECT id, nome, usuario, nivel_acesso FROM gestores WHERE id = 2");
    $stmt->execute();
    $gestor = $stmt->fetch();
    
    if ($gestor) {
        echo "✅ Gestor encontrado: {$gestor['nome']} (usuário: {$gestor['usuario']})\n";
    } else {
        echo "❌ Gestor ID 2 não encontrado\n";
    }
    
    // 2. Verificar solicitações para gestor ID 2
    echo "\n2️⃣ Verificando solicitações para gestor ID 2...\n";
    $stmt = $pdo->prepare("SELECT id, cliente, motivo, status, gestor_id FROM solicitacoes_viagem WHERE gestor_id = 2");
    $stmt->execute();
    $solicitacoes = $stmt->fetchAll();
    
    if (empty($solicitacoes)) {
        echo "❌ Nenhuma solicitação encontrada para gestor ID 2\n";
    } else {
        echo "✅ Solicitações encontradas para gestor ID 2:\n";
        foreach ($solicitacoes as $solicitacao) {
            echo "   • ID: {$solicitacao['id']} - Cliente: {$solicitacao['cliente']} - Status: {$solicitacao['status']}\n";
        }
    }
    
    // 3. Testar a query da API
    echo "\n3️⃣ Testando query da API...\n";
    $sql = "SELECT 
                s.*,
                u.nome as tecnico_nome,
                v.modelo as veiculo_modelo,
                v.placa as veiculo_placa,
                TIMESTAMPDIFF(MINUTE, s.data_criacao, NOW()) as tempo_espera_minutos
            FROM solicitacoes_viagem s
            LEFT JOIN usuarios u ON s.tecnico_id = u.id
            LEFT JOIN veiculos v ON s.veiculo_id = v.id
            WHERE s.status = 'pendente' 
            AND s.gestor_id = 2
            ORDER BY s.prioridade DESC, s.data_criacao ASC";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $resultado = $stmt->fetchAll();
    
    echo "✅ Query executada com sucesso\n";
    echo "📊 Resultados encontrados: " . count($resultado) . "\n";
    
    if (!empty($resultado)) {
        echo "📋 Primeira solicitação:\n";
        $primeira = $resultado[0];
        echo "   • ID: {$primeira['id']}\n";
        echo "   • Cliente: {$primeira['cliente']}\n";
        echo "   • Motivo: {$primeira['motivo']}\n";
        echo "   • Status: {$primeira['status']}\n";
        echo "   • Gestor ID: {$primeira['gestor_id']}\n";
        echo "   • Técnico: {$primeira['tecnico_nome']}\n";
        echo "   • Veículo: {$primeira['veiculo_modelo']} ({$primeira['veiculo_placa']})\n";
    }
    
    // 4. Verificar se há problemas na tabela usuarios
    echo "\n4️⃣ Verificando tabela usuarios...\n";
    $stmt = $pdo->query("SHOW TABLES LIKE 'usuarios'");
    $tabelaUsuarios = $stmt->fetch();
    
    if ($tabelaUsuarios) {
        echo "✅ Tabela 'usuarios' existe\n";
        
        // Verificar se há usuários
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM usuarios");
        $total = $stmt->fetch()['total'];
        echo "📊 Total de usuários: $total\n";
        
        // Verificar se há usuário com tecnico_id = 'test_user'
        $stmt = $pdo->prepare("SELECT id, nome FROM usuarios WHERE id = 'test_user' OR nome LIKE '%test%'");
        $stmt->execute();
        $usuariosTest = $stmt->fetchAll();
        
        if (!empty($usuariosTest)) {
            echo "✅ Usuários de teste encontrados:\n";
            foreach ($usuariosTest as $user) {
                echo "   • ID: {$user['id']} - Nome: {$user['nome']}\n";
            }
        } else {
            echo "⚠️ Nenhum usuário de teste encontrado\n";
        }
    } else {
        echo "❌ Tabela 'usuarios' não existe\n";
    }
    
    echo "\n🏁 Teste concluído!\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
    echo "📄 Stack trace:\n" . $e->getTraceAsString() . "\n";
}
?> 
