<?php
/**
 * 🎯 Criar pontos GPS de teste para viagem 75
 * Isso permitirá ver o tracejado real no retaguarda
 */

header('Content-Type: text/html; charset=utf-8');

// Configurações do banco
$config = [
    'host' => 'localhost',
    'dbname' => 'pinheir3_controle_frotasV1.1',
    'username' => 'pinheir3_admin', 
    'password' => '080880Gelboy'
];

try {
    $pdo = new PDO(
        "mysql:host={$config['host']};dbname={$config['dbname']};charset=utf8mb4",
        $config['username'],
        $config['password'],
        [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
    );
    
    echo "<h2>🎯 Criar GPS de Teste para Viagem 75</h2>";
    
    // Verificar se viagem 75 existe
    $stmt = $pdo->prepare("SELECT * FROM viagens WHERE id = 75");
    $stmt->execute();
    $viagem75 = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$viagem75) {
        echo "<div style='background:#ffe8e8;padding:10px;border-radius:5px;margin:10px 0;'>";
        echo "❌ Viagem 75 não encontrada!";
        echo "</div>";
        exit;
    }
    
    // Verificar se já tem pontos GPS
    $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = 75");
    $stmt->execute();
    $totalExistente = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
    
    echo "<div style='background:#e8f5e8;padding:10px;border-radius:5px;margin:10px 0;'>";
    echo "<strong>✅ Viagem 75 encontrada!</strong><br>";
    echo "Cliente: " . htmlspecialchars($viagem75['cliente']) . "<br>";
    echo "Data início: " . $viagem75['data_inicio'] . "<br>";
    echo "Pontos GPS existentes: $totalExistente<br>";
    echo "</div>";
    
    if ($totalExistente > 0) {
        echo "<div style='background:#fff3cd;padding:10px;border-radius:5px;margin:10px 0;'>";
        echo "⚠️ Viagem 75 já possui $totalExistente pontos GPS.<br>";
        echo "Deseja adicionar mais pontos ou limpar os existentes?<br><br>";
        echo "<a href='?acao=limpar' style='background:#dc3545;color:white;padding:8px 16px;text-decoration:none;border-radius:5px;margin-right:10px;'>🗑️ Limpar Existentes</a>";
        echo "<a href='?acao=adicionar' style='background:#007bff;color:white;padding:8px 16px;text-decoration:none;border-radius:5px;'>➕ Adicionar Mais</a>";
        echo "</div>";
    } else {
        echo "<div style='background:#ffe8e8;padding:10px;border-radius:5px;margin:10px 0;'>";
        echo "<strong>❌ Viagem 75 não tem pontos GPS!</strong><br>";
        echo "Isso explica por que aparece apenas linha reta no retaguarda.<br><br>";
        echo "<a href='?acao=criar' style='background:#28a745;color:white;padding:8px 16px;text-decoration:none;border-radius:5px;'>🎯 Criar GPS de Teste</a>";
        echo "</div>";
    }
    
    // Processar ações
    if (isset($_GET['acao'])) {
        $acao = $_GET['acao'];
        
        if ($acao == 'limpar') {
            $stmt = $pdo->prepare("DELETE FROM rastreamento_tempo_real WHERE viagem_id = 75");
            $stmt->execute();
            $removidos = $stmt->rowCount();
            
            echo "<div style='background:#e8f5e8;padding:10px;border-radius:5px;margin:10px 0;'>";
            echo "✅ Removidos $removidos pontos GPS existentes da viagem 75.";
            echo "</div>";
        }
        
        if ($acao == 'criar' || $acao == 'adicionar') {
            // Pontos GPS simulados representando um percurso real
            $pontosGPS = [
                // Início (ponto de partida)
                [-11.01654100, -37.07599130, 0, 5.0, '2025-06-30 10:08:00'],
                
                // Saindo do estacionamento
                [-11.01656260, -37.07612190, 15, 4.8, '2025-06-30 10:08:30'],
                [-11.01653230, -37.07619180, 25, 12.7, '2025-06-30 10:09:00'],
                
                // Entrando na rua principal
                [-11.01642830, -37.07624850, 35, 11.2, '2025-06-30 10:09:30'],
                [-11.01642320, -37.07630010, 40, 10.4, '2025-06-30 10:10:00'],
                
                // Percurso em velocidade de cruzeiro
                [-11.01639830, -37.07632550, 35, 9.5, '2025-06-30 10:10:30'],
                [-11.01636490, -37.07642340, 25, 10.4, '2025-06-30 10:11:00'],
                [-11.01629730, -37.07654620, 30, 9.6, '2025-06-30 10:11:30'],
                
                // Aproximando do destino
                [-11.01625950, -37.07664480, 35, 7.9, '2025-06-30 10:12:00'],
                [-11.01620180, -37.07671780, 40, 8.9, '2025-06-30 10:12:30'],
                
                // Chegada (velocidade reduzindo)
                [-11.01616010, -37.07682920, 25, 10.1, '2025-06-30 10:13:00'],
                [-11.01613340, -37.07694400, 15, 9.5, '2025-06-30 10:13:30'],
                [-11.01610670, -37.07704760, 5, 10.6, '2025-06-30 10:14:00'],
                [-11.01603360, -37.07712520, 0, 11.3, '2025-06-30 10:14:30'], // Parada final
            ];
            
            $pontosInseridos = 0;
            
            foreach ($pontosGPS as $ponto) {
                $latitude = $ponto[0];
                $longitude = $ponto[1];
                $velocidade = $ponto[2];
                $precisao = $ponto[3];
                $timestamp = $ponto[4];
                
                $stmt = $pdo->prepare("
                    INSERT INTO rastreamento_tempo_real 
                    (viagem_id, latitude, longitude, velocidade, precisao, altitude, battery_level, timestamp)
                    VALUES (75, ?, ?, ?, ?, -3.0, 100, ?)
                ");
                
                $stmt->execute([$latitude, $longitude, $velocidade, $precisao, $timestamp]);
                $pontosInseridos++;
            }
            
            echo "<div style='background:#e8f5e8;padding:10px;border-radius:5px;margin:20px 0;'>";
            echo "<h3>🎯 ✅ GPS de Teste Criado com Sucesso!</h3>";
            echo "<strong>Pontos inseridos:</strong> $pontosInseridos<br>";
            echo "<strong>Viagem:</strong> 75<br>";
            echo "<strong>Percurso:</strong> Do ponto inicial até o destino final<br>";
            echo "<strong>Duração:</strong> ~6.5 minutos<br>";
            echo "<strong>Velocidade máxima:</strong> 40 km/h<br><br>";
            
            echo "<strong>🗺️ Agora você pode ver o tracejado real:</strong><br>";
            echo "<a href='detalhes-viagem.html?id=75' target='_blank' style='background:#28a745;color:white;padding:10px 20px;text-decoration:none;border-radius:5px;margin-right:10px;'>📊 Ver Tracejado no Retaguarda</a>";
            echo "<a href='admin/mapas-viagens.html?viagem_id=75' target='_blank' style='background:#17a2b8;color:white;padding:10px 20px;text-decoration:none;border-radius:5px;'>🗺️ Ver no Mapa Geral</a>";
            echo "</div>";
            
            // Verificar total após inserção
            $stmt = $pdo->prepare("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = 75");
            $stmt->execute();
            $totalFinal = $stmt->fetch(PDO::FETCH_ASSOC)['total'];
            
            echo "<div style='background:#f0f8ff;padding:10px;border-radius:5px;margin:10px 0;'>";
            echo "<strong>📊 Status Final:</strong><br>";
            echo "Total de pontos GPS na viagem 75: <strong>$totalFinal</strong><br>";
            echo "Status no retaguarda: <strong>Tracejado será exibido corretamente ✅</strong>";
            echo "</div>";
        }
    }
    
    // Mostrar instruções
    if (!isset($_GET['acao'])) {
        echo "<div style='background:#f0f8ff;padding:15px;border-radius:5px;margin:20px 0;'>";
        echo "<h3>📱 Como Evitar Esse Problema no Futuro:</h3>";
        echo "<ol>";
        echo "<li><strong>Verificar permissões GPS</strong> antes de iniciar viagem</li>";
        echo "<li><strong>Garantir que serviço em foreground está ativo</strong> (notificação visível)</li>";
        echo "<li><strong>Não fechar o app</strong> completamente durante a viagem</li>";
        echo "<li><strong>Verificar conexão de internet</strong> para envio dos pontos</li>";
        echo "<li><strong>Manter app em primeiro plano</strong> ou com notificação ativa</li>";
        echo "</ol>";
        
        echo "<h3>🔧 Possíveis Causas da Viagem 75:</h3>";
        echo "<ul>";
        echo "<li>LocationForegroundService não foi iniciado</li>";
        echo "<li>Permissões GPS foram negadas</li>";
        echo "<li>App foi morto pelo sistema</li>";
        echo "<li>Falha na conexão durante envio</li>";
        echo "<li>ID da viagem não foi sincronizado corretamente</li>";
        echo "</ul>";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "<div style='background:#ffe8e8;padding:10px;border-radius:5px;margin:10px 0;'>";
    echo "❌ Erro: " . htmlspecialchars($e->getMessage());
    echo "</div>";
}
?> 
