<?php
/**
 * Debug da API de viagem para verificar dados GPS
 */

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

echo "<h1>🔍 Debug API Viagem - Verificando GPS</h1>";

$viagemId = $_GET['id'] ?? 68;

echo "<h3>📡 Testando API para Viagem ID: $viagemId</h3>";

// Testar API da viagem
$apiUrl = "http://" . $_SERVER['HTTP_HOST'] . "/controlefrota/backend-php/api-simples-v2.php?acao=viagem&id=$viagemId";

echo "<p><strong>URL da API:</strong> <a href='$apiUrl' target='_blank'>$apiUrl</a></p>";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "<p><strong>Status HTTP:</strong> $httpCode</p>";

if ($response) {
    $json = json_decode($response, true);
    
    if ($json) {
        echo "<h4>✅ Resposta da API (JSON):</h4>";
        
        if ($json['sucesso']) {
            $viagem = $json['dados'];
            
            echo "<h5>📋 Dados Básicos da Viagem:</h5>";
            echo "<ul>";
            echo "<li><strong>ID:</strong> " . $viagem['id'] . "</li>";
            echo "<li><strong>Cliente:</strong> " . $viagem['cliente'] . "</li>";
            echo "<li><strong>Início:</strong> " . $viagem['data_inicio'] . "</li>";
            echo "<li><strong>Fim:</strong> " . ($viagem['data_fim'] ?: 'Em andamento') . "</li>";
            echo "</ul>";
            
            echo "<h5>📍 Coordenadas:</h5>";
            echo "<ul>";
            echo "<li><strong>Lat Inicial:</strong> " . ($viagem['latitude_inicial'] ?: 'N/A') . "</li>";
            echo "<li><strong>Lng Inicial:</strong> " . ($viagem['longitude_inicial'] ?: 'N/A') . "</li>";
            echo "<li><strong>Lat Final:</strong> " . ($viagem['latitude_final'] ?: 'N/A') . "</li>";
            echo "<li><strong>Lng Final:</strong> " . ($viagem['longitude_final'] ?: 'N/A') . "</li>";
            echo "</ul>";
            
            echo "<h5>🛣️ Dados GPS (Trajeto):</h5>";
            if (isset($viagem['trajeto_gps']) && isset($viagem['total_pontos_gps'])) {
                echo "<p><strong>Total de pontos GPS:</strong> " . $viagem['total_pontos_gps'] . "</p>";
                
                if ($viagem['total_pontos_gps'] > 0) {
                    echo "<p>✅ <strong>Trajeto GPS encontrado!</strong></p>";
                    
                    echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
                    echo "<tr><th>Sequência</th><th>Latitude</th><th>Longitude</th><th>Velocidade</th><th>Timestamp</th></tr>";
                    
                    foreach ($viagem['trajeto_gps'] as $i => $ponto) {
                        echo "<tr>";
                        echo "<td>" . ($i + 1) . "</td>";
                        echo "<td>" . number_format($ponto['latitude'], 6) . "</td>";
                        echo "<td>" . number_format($ponto['longitude'], 6) . "</td>";
                        echo "<td>" . $ponto['velocidade'] . " km/h</td>";
                        echo "<td>" . $ponto['timestamp'] . "</td>";
                        echo "</tr>";
                    }
                    echo "</table>";
                    
                    // Gerar JavaScript para teste
                    echo "<h5>📝 Dados para JavaScript (copie e cole no console do navegador):</h5>";
                    echo "<textarea style='width: 100%; height: 150px; font-family: monospace;'>";
                    echo "// Dados da viagem para debug\n";
                    echo "var viagemAtual = " . json_encode($viagem, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . ";\n\n";
                    echo "// Verificar se tem trajeto GPS\n";
                    echo "console.log('Total pontos GPS:', viagemAtual.total_pontos_gps);\n";
                    echo "console.log('Trajeto GPS:', viagemAtual.trajeto_gps);\n\n";
                    echo "// Testar renderização\n";
                    echo "if (typeof renderVehicles === 'function') {\n";
                    echo "    renderVehicles();\n";
                    echo "    console.log('✅ Mapa re-renderizado');\n";
                    echo "} else {\n";
                    echo "    console.log('❌ Função renderVehicles não encontrada');\n";
                    echo "}";
                    echo "</textarea>";
                    
                } else {
                    echo "<p>❌ <strong>Nenhum ponto GPS encontrado!</strong></p>";
                }
            } else {
                echo "<p>❌ <strong>Campos trajeto_gps/total_pontos_gps não existem na resposta!</strong></p>";
                echo "<p>🔧 A API precisa ser corrigida para incluir os dados GPS.</p>";
            }
            
        } else {
            echo "<p>❌ <strong>Erro na API:</strong> " . $json['mensagem'] . "</p>";
        }
        
        echo "<details>";
        echo "<summary>📄 Resposta JSON completa (clique para expandir)</summary>";
        echo "<pre>" . json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) . "</pre>";
        echo "</details>";
        
    } else {
        echo "<p>❌ <strong>Resposta não é JSON válido:</strong></p>";
        echo "<pre>" . htmlspecialchars($response) . "</pre>";
    }
} else {
    echo "<p>❌ <strong>Nenhuma resposta da API!</strong></p>";
}

// Verificar diretamente no banco
echo "<hr>";
echo "<h3>🗄️ Verificação Direta no Banco de Dados:</h3>";

try {
    $pdo = new PDO("mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4", 
                   'pinheir3_admin', '080880Gelboy', [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);
    
    $stmt = $pdo->prepare("
        SELECT COUNT(*) as total
        FROM rastreamento_tempo_real 
        WHERE viagem_id = ?
    ");
    $stmt->execute([$viagemId]);
    $count = $stmt->fetch();
    
    echo "<p><strong>Pontos GPS na tabela:</strong> " . $count['total'] . "</p>";
    
    if ($count['total'] > 0) {
        echo "<p>✅ Dados existem na tabela! O problema pode estar na API ou no JavaScript.</p>";
    } else {
        echo "<p>❌ Nenhum dado na tabela! Execute primeiro: <a href='test-api-gps.php'>test-api-gps.php</a></p>";
    }
    
} catch (Exception $e) {
    echo "<p>❌ <strong>Erro ao verificar banco:</strong> " . $e->getMessage() . "</p>";
}

echo "<div style='background: #e7f3ff; padding: 20px; border-radius: 10px; margin: 20px 0;'>";
echo "<h4>🔧 Como debugar no navegador:</h4>";
echo "<ol>";
echo "<li>Abra <a href='detalhes-viagem.html?id=$viagemId' target='_blank'>detalhes-viagem.html?id=$viagemId</a></li>";
echo "<li>Pressione <strong>F12</strong> para abrir o Console</li>";
echo "<li>Digite: <code>console.log(viagemAtual)</code></li>";
echo "<li>Verifique se existe <code>viagemAtual.trajeto_gps</code></li>";
echo "<li>Digite: <code>console.log(viagemAtual.trajeto_gps)</code></li>";
echo "<li>Se vazio, o problema está na API</li>";
echo "<li>Se preenchido, o problema está no JavaScript do mapa</li>";
echo "</ol>";
echo "</div>";
?> 
