<?php
/**
 * Teste de Notificações para Gestores
 */

echo "🧪 Teste de Notificações para Gestores\n";
echo "=====================================\n\n";

$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "1. 📋 Verificando solicitações pendentes...\n";
    
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM solicitacoes_viagem WHERE status = 'pendente'");
    $totalSolicitacoes = $stmt->fetch()['total'];
    echo "   ✅ $totalSolicitacoes solicitações pendentes encontradas\n\n";
    
    echo "2. 🔔 Verificando notificações para gestores...\n";
    
    // Verificar notificações para gestor ID 2
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM notificacoes_push WHERE user_id = '2' AND lida = 0");
    $stmt->execute();
    $notificacoesGestor2 = $stmt->fetch()['total'];
    echo "   📬 Gestor ID 2: $notificacoesGestor2 notificações não lidas\n";
    
    // Verificar notificações para admin
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM notificacoes_push WHERE user_id = 'admin' AND lida = 0");
    $stmt->execute();
    $notificacoesAdmin = $stmt->fetch()['total'];
    echo "   📬 Admin: $notificacoesAdmin notificações não lidas\n\n";
    
    echo "3. 📄 Últimas notificações criadas:\n";
    
    $stmt = $pdo->query("
        SELECT * FROM notificacoes_push 
        ORDER BY data_envio DESC 
        LIMIT 5
    ");
    $ultimasNotificacoes = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if ($ultimasNotificacoes) {
        foreach ($ultimasNotificacoes as $notificacao) {
            echo "   📋 ID: {$notificacao['id']}\n";
            echo "   👤 User ID: {$notificacao['user_id']}\n";
            echo "   📝 Título: {$notificacao['titulo']}\n";
            echo "   📄 Mensagem: {$notificacao['mensagem']}\n";
            echo "   📅 Data: {$notificacao['data_envio']}\n";
            echo "   👁️ Lida: " . ($notificacao['lida'] ? 'Sim' : 'Não') . "\n";
            echo "   ---\n";
        }
    } else {
        echo "   ❌ Nenhuma notificação encontrada\n";
    }
    
    echo "\n4. 🧪 Testando API de notificações...\n";
    
    // Simular requisição para API de notificações
    $_SERVER['REQUEST_METHOD'] = 'GET';
    $_GET['acao'] = 'nao_lidas';
    $_GET['user_id'] = '2';
    
    ob_start();
    include '../api/gestao/notificacoes.php';
    $response = ob_get_clean();
    
    echo "   📊 Resposta da API:\n";
    echo "   $response\n\n";
    
    echo "5. 🎯 Verificações no App de Gestão:\n";
    echo "   - Abra o app de gestão\n";
    echo "   - Faça login como gestor (ID: 2 ou admin)\n";
    echo "   - Vá para 'Notificações'\n";
    echo "   - Verifique se as notificações aparecem\n";
    echo "   - Verifique se pode marcar como lida\n\n";
    
    echo "6. 🔧 Se as notificações não aparecerem:\n";
    echo "   - Verifique os logs no Android Studio\n";
    echo "   - Verifique se o user_id está correto\n";
    echo "   - Verifique se a API está retornando dados\n";
    echo "   - Verifique se a tabela notificacoes_push existe\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
}

echo "\n✅ Teste concluído!\n";
?> 
