<?php
header('Content-Type: text/html; charset=utf-8');
echo "<h2>🧪 Teste GPS Corrigido</h2>";

try {
    require_once 'config/database.php';
    $pdo = Database::getConnection();
    
    // 1. Verificar situação atual
    echo "<h3>1. Situação Atual</h3>";
    
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM rastreamento_tempo_real");
    $result = $stmt->fetch();
    $totalRegistros = $result['total'];
    
    echo "<p><strong>📊 Total de registros na tabela:</strong> {$totalRegistros}</p>";
    
    if ($totalRegistros > 0) {
        $stmt = $pdo->query("SELECT * FROM rastreamento_tempo_real ORDER BY timestamp_gps DESC LIMIT 5");
        $registros = $stmt->fetchAll();
        
        echo "<div style='background: #e8f5e8; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>✅ Últimos 5 registros:</h4>";
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr style='background: #e3f2fd;'>";
        echo "<th>ID</th><th>Viagem ID</th><th>Técnico ID</th><th>Latitude</th><th>Longitude</th><th>Timestamp</th>";
        echo "</tr>";
        
        foreach ($registros as $registro) {
            echo "<tr>";
            echo "<td>{$registro['id']}</td>";
            echo "<td>{$registro['viagem_id']}</td>";
            echo "<td>{$registro['tecnico_id']}</td>";
            echo "<td>{$registro['latitude']}</td>";
            echo "<td>{$registro['longitude']}</td>";
            echo "<td>{$registro['timestamp_gps']}</td>";
            echo "</tr>";
        }
        echo "</table>";
        echo "</div>";
    } else {
        echo "<div style='background: #ffebee; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>❌ Nenhum registro encontrado</h4>";
        echo "</div>";
    }
    
    // 2. Verificar viagens em andamento
    echo "<h3>2. Viagens em Andamento</h3>";
    
    $stmt = $pdo->query("SELECT id, cliente, data_inicio, data_fim FROM viagens WHERE data_fim IS NULL ORDER BY data_inicio DESC");
    $viagensEmAndamento = $stmt->fetchAll();
    
    echo "<p><strong>📊 Viagens em andamento:</strong> " . count($viagensEmAndamento) . "</p>";
    
    if (count($viagensEmAndamento) > 0) {
        echo "<div style='background: #fff3e0; padding: 10px; border-radius: 5px; margin: 10px 0;'>";
        echo "<h4>🔄 Viagens ativas:</h4>";
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr style='background: #e3f2fd;'>";
        echo "<th>ID</th><th>Cliente</th><th>Data Início</th><th>Status</th>";
        echo "</tr>";
        
        foreach ($viagensEmAndamento as $viagem) {
            echo "<tr>";
            echo "<td>{$viagem['id']}</td>";
            echo "<td>{$viagem['cliente']}</td>";
            echo "<td>{$viagem['data_inicio']}</td>";
            echo "<td>🟢 Em andamento</td>";
            echo "</tr>";
        }
        echo "</table>";
        echo "</div>";
    }
    
    // 3. Testar API
    echo "<h3>3. Teste da API</h3>";
    
    if (isset($_POST['testar_api'])) {
        echo "<h4>🧪 Testando API...</h4>";
        
        // Simular dados do Android
        $dadosTeste = [
            'acao' => 'atualizar-posicao',
            'viagem_id' => 1,
            'latitude' => -23.5505,
            'longitude' => -46.6333,
            'velocidade' => 25.5,
            'precisao' => 5.2,
            'altitude' => 760,
            'provider' => 'gps',
            'timestamp' => time() * 1000
        ];
        
        $jsonData = json_encode($dadosTeste);
        
        // Fazer requisição para a API
        $url = 'https://sistemas.pinheiroempresas.com.br/controlefrotaV1.1/backend-php/api-simples-v2.php';
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json',
            'Content-Length: ' . strlen($jsonData)
        ]);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        
        $response = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        $error = curl_error($ch);
        curl_close($ch);
        
        echo "<h5>📤 Dados enviados:</h5>";
        echo "<pre>" . htmlspecialchars($jsonData) . "</pre>";
        echo "<h5>📥 Resposta da API:</h5>";
        echo "<p>HTTP Code: $httpCode</p>";
        echo "<p>Resposta:</p>";
        echo "<pre>" . htmlspecialchars($response) . "</pre>";
        
        if ($error) {
            echo "<p style='color: red;'>Erro cURL: $error</p>";
        }
        
        if ($httpCode == 200) {
            echo "<p style='color: green;'>✅ API respondeu com sucesso!</p>";
            
            // Verificar se o dado foi salvo
            $stmt = $pdo->query("SELECT COUNT(*) as total FROM rastreamento_tempo_real WHERE viagem_id = 1");
            $result = $stmt->fetch();
            $novosRegistros = $result['total'];
            
            echo "<p><strong>📊 Registros na tabela após teste:</strong> {$novosRegistros}</p>";
            
            if ($novosRegistros > $totalRegistros) {
                echo "<p style='color: green;'>✅ Dados foram salvos na tabela!</p>";
            } else {
                echo "<p style='color: red;'>❌ Dados não foram salvos na tabela!</p>";
            }
        } else {
            echo "<p style='color: red;'>❌ API retornou erro HTTP: $httpCode</p>";
        }
    }
    
    // Formulário para testar
    echo "<form method='post' style='background: #e3f2fd; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
    echo "<h4>🧪 Testar API:</h4>";
    echo "<p>Clique no botão abaixo para testar a API de GPS:</p>";
    echo "<button type='submit' name='testar_api' style='background: #007bff; color: white; padding: 10px 20px; border: none; border-radius: 5px; cursor: pointer;'>🧪 Testar API</button>";
    echo "</form>";
    
    // 4. Instruções para o usuário
    echo "<h3>4. Próximos Passos</h3>";
    echo "<div style='background: #f8f9fa; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
    echo "<h4>📋 Para testar o GPS:</h4>";
    echo "<ol>";
    echo "<li><strong>Compilar o app:</strong> Recompile o app Android com as URLs corrigidas</li>";
    echo "<li><strong>Instalar no dispositivo:</strong> Instale a nova versão no celular</li>";
    echo "<li><strong>Iniciar uma viagem:</strong> Inicie uma nova viagem no app</li>";
    echo "<li><strong>Verificar notificação:</strong> Confirme que aparece '📍 Rastreamento GPS'</li>";
    echo "<li><strong>Mover o dispositivo:</strong> Mova o celular por alguns minutos</li>";
    echo "<li><strong>Verificar dados:</strong> Execute este script novamente para ver se há novos pontos</li>";
    echo "</ol>";
    echo "</div>";
    
    // 5. URLs corrigidas
    echo "<h3>5. URLs Corrigidas</h3>";
    echo "<div style='background: #e8f5e8; padding: 15px; border: 1px solid #ddd; border-radius: 5px;'>";
    echo "<h4>✅ URLs que foram corrigidas:</h4>";
    echo "<ul>";
    echo "<li><strong>LocationForegroundService.kt:</strong> URL do GPS corrigida</li>";
    echo "<li><strong>ConfigPreferences.kt:</strong> URL padrão corrigida</li>";
    echo "<li><strong>ApiConfig.kt:</strong> URL base corrigida</li>";
    echo "<li><strong>FCMService.kt:</strong> URL base corrigida</li>";
    echo "</ul>";
    echo "<p><strong>URL antiga:</strong> <code>controlefrota/backend-php/</code></p>";
    echo "<p><strong>URL nova:</strong> <code>controlefrotaV1.1/backend-php/</code></p>";
    echo "</div>";
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "<br>";
}

echo "<h3>✅ Teste Concluído!</h3>";
echo "<p><strong>Resumo:</strong> As URLs foram corrigidas. Agora teste o app Android.</p>";
?>
