<?php
/**
 * Verificar Status do Sistema - Versão Simplificada
 * Não depende do autoloader do Composer
 */

// Configurações de conexão com banco
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    // Conectar ao banco
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "🔍 VERIFICAÇÃO DO SISTEMA DE NOTIFICAÇÕES\n";
    echo "==========================================\n\n";
    
    // Verificar tabelas
    echo "📋 VERIFICAÇÃO DE TABELAS:\n";
    echo "==========================\n";
    
    $tabelas = ['solicitacoes_viagem', 'fcm_tokens', 'notificacoes_push', 'tecnicos', 'clientes'];
    
    foreach ($tabelas as $tabela) {
        $stmt = $pdo->query("SHOW TABLES LIKE '$tabela'");
        if ($stmt->rowCount() > 0) {
            echo "✅ Tabela $tabela existe\n";
        } else {
            echo "❌ Tabela $tabela não existe\n";
        }
    }
    
    // Verificar gestores
    echo "\n👥 VERIFICAÇÃO DE GESTORES:\n";
    echo "===========================\n";
    
    try {
        $stmt = $pdo->query("SELECT user_id FROM fcm_tokens WHERE user_type = 'gestor' AND ativo = TRUE");
        $gestores = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        if ($gestores) {
            echo "✅ " . count($gestores) . " gestores encontrados\n";
            foreach ($gestores as $gestor) {
                echo "   👤 User ID: {$gestor['user_id']}\n";
            }
        } else {
            echo "❌ Nenhum gestor encontrado\n";
            echo "💡 Configure o app como 'gestor' primeiro\n";
        }
    } catch (Exception $e) {
        echo "❌ Erro ao verificar gestores: " . $e->getMessage() . "\n";
    }
    
    // Verificar solicitações pendentes
    echo "\n📝 VERIFICAÇÃO DE SOLICITAÇÕES:\n";
    echo "===============================\n";
    
    try {
        $stmt = $pdo->query("
            SELECT 
                s.id,
                s.motivo,
                s.data_solicitacao,
                s.status,
                t.nome as tecnico_nome,
                c.nome as cliente_nome
            FROM solicitacoes_viagem s
            JOIN tecnicos t ON s.tecnico_id = t.id
            JOIN clientes c ON s.cliente_id = c.id
            WHERE s.status = 'pendente'
            ORDER BY s.data_solicitacao DESC
            LIMIT 5
        ");
        $solicitacoesPendentes = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        if ($solicitacoesPendentes) {
            echo "📨 " . count($solicitacoesPendentes) . " solicitações pendentes encontradas:\n";
            foreach ($solicitacoesPendentes as $solicitacao) {
                echo "   📋 ID: {$solicitacao['id']}\n";
                echo "   👤 Técnico: {$solicitacao['tecnico_nome']}\n";
                echo "   🏢 Cliente: {$solicitacao['cliente_nome']}\n";
                echo "   📝 Motivo: {$solicitacao['motivo']}\n";
                echo "   📅 Data: {$solicitacao['data_solicitacao']}\n";
                echo "   📊 Status: {$solicitacao['status']}\n";
                echo "   ---\n";
            }
        } else {
            echo "📭 Nenhuma solicitação pendente encontrada\n";
        }
    } catch (Exception $e) {
        echo "❌ Erro ao verificar solicitações: " . $e->getMessage() . "\n";
    }
    
    // Verificar notificações
    echo "\n📢 VERIFICAÇÃO DE NOTIFICAÇÕES:\n";
    echo "===============================\n";
    
    try {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM notificacoes_push");
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        $totalNotificacoes = $result['total'];
        echo "📊 Total de notificações: $totalNotificacoes\n";
        
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM notificacoes_push WHERE lida = FALSE");
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        $totalNaoLidas = $result['total'];
        echo "📬 Não lidas: $totalNaoLidas\n";
        
        // Verificar últimas notificações
        $stmt = $pdo->query("
            SELECT * FROM notificacoes_push 
            ORDER BY data_criacao DESC 
            LIMIT 3
        ");
        $ultimasNotificacoes = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        if ($ultimasNotificacoes) {
            echo "\n📨 Últimas notificações:\n";
            foreach ($ultimasNotificacoes as $notificacao) {
                echo "   📋 ID: {$notificacao['id']}\n";
                echo "   📝 Título: {$notificacao['titulo']}\n";
                echo "   📄 Mensagem: {$notificacao['mensagem']}\n";
                echo "   📅 Data: {$notificacao['data_criacao']}\n";
                echo "   👁️ Lida: " . ($notificacao['lida'] ? 'Sim' : 'Não') . "\n";
                echo "   ---\n";
            }
        }
    } catch (Exception $e) {
        echo "❌ Erro ao verificar notificações: " . $e->getMessage() . "\n";
    }
    
    echo "\n🎯 STATUS DO SISTEMA:\n";
    echo "====================\n";
    echo "✅ Backend configurado\n";
    echo "✅ Banco de dados conectado\n";
    
    if (isset($gestores) && $gestores) {
        echo "✅ Gestores configurados\n";
    } else {
        echo "❌ Nenhum gestor configurado\n";
    }
    
    if (isset($solicitacoesPendentes) && $solicitacoesPendentes) {
        echo "✅ Solicitações pendentes disponíveis\n";
    } else {
        echo "📭 Nenhuma solicitação pendente\n";
    }
    
    echo "\n💡 PRÓXIMOS PASSOS:\n";
    echo "==================\n";
    echo "1. 📱 Configure o app como 'gestor'\n";
    echo "2. 🔄 Teste o serviço de background\n";
    echo "3. 📢 Verifique se notificações aparecem\n";
    echo "4. 🧪 Execute o teste de notificações\n\n";
    
    echo "🔧 URLs DE TESTE:\n";
    echo "================\n";
    echo "• https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/teste-notificacoes-simples.php\n";
    echo "• https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/verificar-status-simples.php\n\n";
    
    echo "✅ Verificação concluída!\n";
    
} catch (PDOException $e) {
    echo "❌ ERRO DE CONEXÃO COM BANCO:\n";
    echo "=============================\n";
    echo "Erro: " . $e->getMessage() . "\n";
    echo "\n💡 Verifique:\n";
    echo "• Se o banco de dados está rodando\n";
    echo "• Se as credenciais estão corretas\n";
    echo "• Se o banco 'pinheir3_controle_frotasV1.1' existe\n";
} catch (Exception $e) {
    echo "❌ ERRO GERAL:\n";
    echo "==============\n";
    echo "Erro: " . $e->getMessage() . "\n";
}
?> 
