<?php
// Script simples para verificar dados via navegador
include 'config/database.php';

header('Content-Type: text/html; charset=utf-8');
echo "<!DOCTYPE html><html><head><title>Debug KM GPS</title></head><body>";
echo "<h2>🔍 DEBUG: Última Viagem</h2>";

try {
    $pdo = conectarBanco();
    
    // Buscar última viagem
    $stmt = $pdo->prepare("
        SELECT 
            id, cliente, tecnico_id, data_inicio, data_fim,
            latitude_inicial, longitude_inicial,
            latitude_final, longitude_final,
            km_inicial, km_final, km_gps_final,
            observacoes
        FROM viagens 
        WHERE data_fim IS NOT NULL 
        ORDER BY id DESC 
        LIMIT 1
    ");
    $stmt->execute();
    $viagem = $stmt->fetch();
    
    if (!$viagem) {
        echo "<p>❌ Nenhuma viagem encontrada!</p>";
        exit;
    }
    
    echo "<table border='1' style='border-collapse: collapse; margin: 20px 0;'>";
    echo "<tr style='background: #f0f0f0;'><th>Campo</th><th>Valor</th><th>Status</th></tr>";
    
    foreach ($viagem as $campo => $valor) {
        if (is_numeric($campo)) continue; // Pular índices numéricos
        
        $status = "";
        if ($campo == 'km_gps_final') {
            $status = ($valor && $valor > 0) ? "✅" : "❌ PROBLEMA!";
        } elseif (in_array($campo, ['latitude_inicial', 'longitude_inicial', 'latitude_final', 'longitude_final'])) {
            $status = $valor ? "✅" : "❌";
        }
        
        echo "<tr>";
        echo "<td><strong>$campo</strong></td>";
        echo "<td>" . ($valor ?: 'NULL') . "</td>";
        echo "<td>$status</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // Calcular distância se temos coordenadas
    $latIni = $viagem['latitude_inicial'];
    $lngIni = $viagem['longitude_inicial'];
    $latFim = $viagem['latitude_final'];
    $lngFim = $viagem['longitude_final'];
    
    if ($latIni && $lngIni && $latFim && $lngFim) {
        // Fórmula Haversine
        $R = 6371; // Raio da Terra em km
        $dLat = deg2rad($latFim - $latIni);
        $dLon = deg2rad($lngFim - $lngIni);
        $a = sin($dLat/2) * sin($dLat/2) + cos(deg2rad($latIni)) * cos(deg2rad($latFim)) * sin($dLon/2) * sin($dLon/2);
        $c = 2 * atan2(sqrt($a), sqrt(1-$a));
        $distancia = $R * $c;
        
        echo "<h3>📏 Cálculo de Distância:</h3>";
        echo "<p><strong>Distância linha reta:</strong> " . number_format($distancia, 2) . " km</p>";
        echo "<p><strong>KM GPS no banco:</strong> " . ($viagem['km_gps_final'] ?: 'NULL') . "</p>";
        
        if (!$viagem['km_gps_final'] || $viagem['km_gps_final'] == 0) {
            echo "<p style='color: red;'><strong>❌ PROBLEMA: KM GPS deveria ser ~" . number_format($distancia, 2) . " km</strong></p>";
        }
    }
    
    echo "<h3>🔧 Próximos Passos:</h3>";
    echo "<ol>";
    echo "<li>Verificar se app está enviando campo 'km_rodados' para API</li>";
    echo "<li>Verificar logs da API</li>";
    echo "<li>Testar POST manual para API</li>";
    echo "</ol>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro: " . $e->getMessage() . "</p>";
}

echo "</body></html>";
?> 
