<?php
/**
 * 🔍 Verificar viagens existentes com trajeto GPS para teste
 */

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>🔍 Verificar Viagens com Trajeto GPS</h2>";
    
    // 1. Listar viagens com trajeto não vazio
    $stmt = $pdo->query("
        SELECT 
            id, cliente, data_inicio, data_fim,
            latitude_inicial, longitude_inicial,
            latitude_final, longitude_final,
            LENGTH(trajeto) as trajeto_size,
            trajeto
        FROM viagens 
        WHERE trajeto IS NOT NULL 
        AND trajeto != '' 
        AND trajeto != 'null'
        ORDER BY id DESC 
        LIMIT 5
    ");
    $viagensComTrajeto = $stmt->fetchAll();
    
    echo "<h3>✅ Viagens com campo 'trajeto' preenchido:</h3>";
    
    if (empty($viagensComTrajeto)) {
        echo "<p style='color: red;'>❌ <strong>Nenhuma viagem encontrada com trajeto GPS!</strong></p>";
        echo "<p>💡 Isso explica por que só aparece linha reta no retaguarda.</p>";
        
        // Criar viagem de teste com trajeto
        echo "<h4>🆕 Criando viagem de teste com trajeto GPS...</h4>";
        
        $trajetoTeste = [
            ['latitude' => -11.016369, 'longitude' => -37.076128, 'timestamp' => '2025-01-07 14:00:00', 'velocidade' => 0],
            ['latitude' => -11.016500, 'longitude' => -37.076200, 'timestamp' => '2025-01-07 14:01:00', 'velocidade' => 25],
            ['latitude' => -11.016700, 'longitude' => -37.076400, 'timestamp' => '2025-01-07 14:02:00', 'velocidade' => 30],
            ['latitude' => -11.017000, 'longitude' => -37.076700, 'timestamp' => '2025-01-07 14:03:00', 'velocidade' => 35],
            ['latitude' => -11.017400, 'longitude' => -37.077100, 'timestamp' => '2025-01-07 14:04:00', 'velocidade' => 40],
            ['latitude' => -11.017800, 'longitude' => -37.077500, 'timestamp' => '2025-01-07 14:05:00', 'velocidade' => 20],
            ['latitude' => -11.018000, 'longitude' => -37.077800, 'timestamp' => '2025-01-07 14:06:00', 'velocidade' => 0]
        ];
        
        $stmt = $pdo->prepare("
            INSERT INTO viagens (
                cliente, motivo, tecnico_id, veiculo_id, km_inicial, km_final,
                data_inicio, data_fim, 
                latitude_inicial, longitude_inicial, 
                latitude_final, longitude_final,
                trajeto, sincronizado
            ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1)
        ");
        
        $resultado = $stmt->execute([
            'Cliente TESTE Trajeto GPS',
            'Teste de trajeto completo com múltiplos pontos GPS',
            '1',
            1,
            15000,
            15010,
            '2025-01-07 14:00:00',
            '2025-01-07 14:06:00',
            -11.016369,
            -37.076128,
            -11.018000,
            -37.077800,
            json_encode($trajetoTeste)
        ]);
        
        if ($resultado) {
            $novaViagemId = $pdo->lastInsertId();
            echo "<p style='color: green;'>✅ <strong>Viagem de teste criada com ID: $novaViagemId</strong></p>";
            echo "<p>📍 <strong>Trajeto:</strong> " . count($trajetoTeste) . " pontos GPS</p>";
            echo "<p>🗺️ <strong>Teste agora:</strong> <a href='admin/detalhes-viagem.html?id=$novaViagemId' target='_blank'>Ver Detalhes da Viagem #$novaViagemId</a></p>";
        }
        
    } else {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>ID</th><th>Cliente</th><th>Início</th><th>Fim</th><th>Trajeto Size</th><th>Pontos GPS</th><th>Teste</th></tr>";
        
        foreach ($viagensComTrajeto as $viagem) {
            $trajetoDecoded = json_decode($viagem['trajeto'], true);
            $totalPontos = is_array($trajetoDecoded) ? count($trajetoDecoded) : 0;
            
            echo "<tr>";
            echo "<td>{$viagem['id']}</td>";
            echo "<td>{$viagem['cliente']}</td>";
            echo "<td>{$viagem['data_inicio']}</td>";
            echo "<td>" . ($viagem['data_fim'] ?: 'Em andamento') . "</td>";
            echo "<td>{$viagem['trajeto_size']} bytes</td>";
            echo "<td><strong>$totalPontos pontos</strong></td>";
            echo "<td><a href='admin/detalhes-viagem.html?id={$viagem['id']}' target='_blank'>🗺️ Testar</a></td>";
            echo "</tr>";
            
            // Mostrar primeiros pontos do trajeto
            if ($totalPontos > 0) {
                echo "<tr><td colspan='7'>";
                echo "<details><summary>📍 Ver pontos GPS ($totalPontos pontos)</summary>";
                echo "<pre style='background: #f5f5f5; padding: 10px; font-size: 12px;'>";
                echo json_encode($trajetoDecoded, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
                echo "</pre></details>";
                echo "</td></tr>";
            }
        }
        echo "</table>";
    }
    
    // 2. Verificar tabela rastreamento_tempo_real
    echo "<h3>📊 Verificar tabela 'rastreamento_tempo_real':</h3>";
    try {
        $stmt = $pdo->query("SHOW TABLES LIKE 'rastreamento_tempo_real'");
        if ($stmt->rowCount() > 0) {
            $stmt = $pdo->query("SELECT COUNT(*) as total FROM rastreamento_tempo_real");
            $total = $stmt->fetch()['total'];
            echo "<p>✅ Tabela existe com <strong>$total registros</strong></p>";
            
            if ($total > 0) {
                $stmt = $pdo->query("
                    SELECT viagem_id, COUNT(*) as pontos 
                    FROM rastreamento_tempo_real 
                    GROUP BY viagem_id 
                    ORDER BY pontos DESC 
                    LIMIT 5
                ");
                $viagensComGPS = $stmt->fetchAll();
                
                echo "<p><strong>Viagens com mais pontos GPS:</strong></p>";
                echo "<ul>";
                foreach ($viagensComGPS as $v) {
                    echo "<li>Viagem #{$v['viagem_id']}: {$v['pontos']} pontos GPS 
                          <a href='admin/detalhes-viagem.html?id={$v['viagem_id']}' target='_blank'>🗺️ Testar</a></li>";
                }
                echo "</ul>";
            }
        } else {
            echo "<p style='color: orange;'>⚠️ Tabela 'rastreamento_tempo_real' não existe</p>";
        }
    } catch (Exception $e) {
        echo "<p style='color: red;'>❌ Erro ao verificar tabela: " . $e->getMessage() . "</p>";
    }
    
} catch (Exception $e) {
    echo "<h3>❌ Erro de conexão:</h3>";
    echo "<p>" . $e->getMessage() . "</p>";
}
?>

<style>
    body { font-family: Arial, sans-serif; margin: 20px; }
    table { margin: 10px 0; }
    th, td { padding: 8px; text-align: left; border: 1px solid #ddd; }
    th { background-color: #f2f2f2; }
    a { color: #007bff; text-decoration: none; }
    a:hover { text-decoration: underline; }
</style> 
