<?php
/**
 * Criar Notificação Manual para Solicitação Existente
 */

echo "🔧 Criando Notificação Manual\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. 📋 Buscando solicitação pendente...\n";
    
    // Buscar a solicitação pendente
    $stmt = $pdo->query("SELECT * FROM solicitacoes_viagem WHERE status = 'pendente' ORDER BY id DESC LIMIT 1");
    $solicitacao = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$solicitacao) {
        echo "   ❌ Nenhuma solicitação pendente encontrada\n";
        exit;
    }
    
    echo "   ✅ Solicitação encontrada: ID {$solicitacao['id']}\n";
    echo "   📝 Cliente: {$solicitacao['cliente']}\n";
    echo "   📄 Motivo: {$solicitacao['motivo']}\n\n";
    
    echo "2. 🔔 Criando notificação para gestores...\n";
    
    // Gestores para notificar
    $gestores = ['2', 'admin'];
    
    foreach ($gestores as $gestorId) {
        $titulo = "🚗 Nova Solicitação de Viagem";
        $mensagem = "Motorista Administrador solicitou viagem para {$solicitacao['cliente']} - {$solicitacao['motivo']}";
        
        // Verificar se já existe notificação
        $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM notificacoes_push WHERE user_id = ? AND solicitacao_id = ?");
        $stmt->execute([$gestorId, $solicitacao['id']]);
        $existe = $stmt->fetch()['total'];
        
        if ($existe > 0) {
            echo "   ⚠️ Notificação já existe para gestor $gestorId\n";
            continue;
        }
        
        // Criar notificação
        $sql = "INSERT INTO notificacoes_push (
            user_id, tipo, titulo, mensagem, solicitacao_id, data_envio, lida
        ) VALUES (?, 'solicitacao_viagem', ?, ?, ?, NOW(), 0)";
        
        $stmt = $pdo->prepare($sql);
        $result = $stmt->execute([
            $gestorId,
            $titulo,
            $mensagem,
            $solicitacao['id']
        ]);
        
        if ($result) {
            echo "   ✅ Notificação criada para gestor $gestorId\n";
        } else {
            echo "   ❌ Erro ao criar notificação para gestor $gestorId\n";
        }
    }
    
    echo "\n3. 📊 Verificando resultado...\n";
    
    // Verificar notificações criadas
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM notificacoes_push WHERE lida = 0");
    $totalNotificacoes = $stmt->fetch()['total'];
    echo "   📬 Total de notificações não lidas: $totalNotificacoes\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 "   👤 Notificações para gestor ID 2: $notificacoesGestor2\n";
    
    echo "\n4. 🎯 Agora teste no app:\n";
    echo "   - Abra o app como gestor (ID: 2)\n";
    echo "   - Vá para 'Notificações'\n";
    echo "   - Verifique se a notificação aparece\n";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "\n";
}

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