<?php
require_once 'conexao.php';

echo "<h1>🧪 TESTE - CORREÇÃO EXIBIÇÃO GPS</h1>\n";

try {
    $pdo = conectarBanco();
    
    // 1. Verificar dados da rota 49
    echo "<h2>1. Verificando Dados da Rota 49</h2>\n";
    $sql = "SELECT sr.*, v.km_final, v.km_gps_final 
            FROM solicitacoes_rotas sr
            LEFT JOIN rota_viagens rv ON sr.id = rv.solicitacao_rota_id
            LEFT JOIN viagens v ON rv.viagem_id = v.id
            WHERE sr.id = 49";
    
    $stmt = $pdo->query($sql);
    $dados = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if (!empty($dados)) {
        echo "<p><strong>✅ Dados encontrados:</strong></p>\n";
        echo "<table border='1'>\n";
        echo "<tr><th>Rota ID</th><th>Título</th><th>KM Real (Rota)</th><th>KM Final (Viagem)</th><th>KM GPS Final (Viagem)</th></tr>\n";
        foreach ($dados as $dado) {
            echo "<tr>";
            echo "<td>{$dado['id']}</td>";
            echo "<td>{$dado['titulo']}</td>";
            echo "<td>" . ($dado['km_real'] ?? 'NULL') . "</td>";
            echo "<td>" . ($dado['km_final'] ?? 'NULL') . "</td>";
            echo "<td>" . ($dado['km_gps_final'] ?? 'NULL') . " (" . (($dado['km_gps_final'] ?? 0) / 1000) . " km)</td>";
            echo "</tr>\n";
        }
        echo "</table>\n";
    } else {
        echo "<p><strong>❌ Nenhum dado encontrado para rota 49</strong></p>\n";
    }
    
    // 2. Testar endpoint detalhes-rota-completa
    echo "<h2>2. Testando Endpoint detalhes-rota-completa</h2>\n";
    
    $url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=detalhes-rota-completa&id=49";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "<p><strong>URL:</strong> $url</p>\n";
    echo "<p><strong>HTTP Code:</strong> $httpCode</p>\n";
    
    if ($httpCode == 200) {
        $data = json_decode($response, true);
        if ($data && isset($data['dados']['estatisticas'])) {
            $stats = $data['dados']['estatisticas'];
            echo "<p><strong>✅ Estatísticas recebidas:</strong></p>\n";
            echo "<ul>\n";
            echo "<li><strong>KM Planejado:</strong> " . ($stats['km_planejado'] ?? 'N/A') . " km</li>\n";
            echo "<li><strong>KM Real (Odômetro):</strong> " . ($stats['km_real'] ?? 'N/A') . " km</li>\n";
            echo "<li><strong>KM GPS:</strong> " . ($stats['km_gps'] ?? 'N/A') . " metros (" . (($stats['km_gps'] ?? 0) / 1000) . " km)</li>\n";
            echo "<li><strong>KM Odômetro:</strong> " . ($stats['km_odometro'] ?? 'N/A') . " km</li>\n";
            echo "<li><strong>Diferença:</strong> " . ($stats['diferenca_km'] ?? 'N/A') . " km</li>\n";
            echo "<li><strong>% Diferença:</strong> " . ($stats['percentual_diferenca'] ?? 'N/A') . "%</li>\n";
            echo "</ul>\n";
        } else {
            echo "<p><strong>❌ Erro no formato da resposta</strong></p>\n";
        }
    } else {
        echo "<p><strong>❌ Erro HTTP: $httpCode</strong></p>\n";
    }
    
    echo "<p><strong>Response completa:</strong></p>\n";
    echo "<pre>" . htmlspecialchars($response) . "</pre>\n";
    
    // 3. Simular o que apareceria no dashboard
    echo "<h2>3. Simulação do Dashboard</h2>\n";
    if ($httpCode == 200 && isset($data['dados']['estatisticas'])) {
        $stats = $data['dados']['estatisticas'];
        
        echo "<div style='display: flex; gap: 10px; margin: 20px 0;'>\n";
        
        // Planejado
        echo "<div style='border: 1px solid #ccc; padding: 10px; text-align: center; background: #f8f9fa;'>\n";
        echo "<h5 style='color: #007bff; margin: 0;'>" . ($stats['km_planejado'] ?? 0) . "km</h5>\n";
        echo "<small>Planejado</small>\n";
        echo "</div>\n";
        
        // GPS Real
        $kmGpsDisplay = ($stats['km_gps'] ?? 0) > 0 ? number_format(($stats['km_gps'] / 1000), 3) : '0.000';
        echo "<div style='border: 1px solid #ccc; padding: 10px; text-align: center; background: #f8f9fa;'>\n";
        echo "<h5 style='color: #17a2b8; margin: 0;'>{$kmGpsDisplay}km</h5>\n";
        echo "<small>Real (GPS)</small>\n";
        echo "</div>\n";
        
        // Diferença
        $diferenca = $stats['diferenca_km'] ?? 0;
        $bgColor = $diferenca > 5 ? '#dc3545' : ($diferenca < -5 ? '#17a2b8' : '#28a745');
        echo "<div style='border: 1px solid #ccc; padding: 10px; text-align: center; background: $bgColor; color: white;'>\n";
        echo "<h5 style='margin: 0;'>" . ($diferenca > 0 ? '+' : '') . $diferenca . "km</h5>\n";
        echo "<small>Diferença</small>\n";
        echo "</div>\n";
        
        // Variação
        $percentual = $stats['percentual_diferenca'] ?? 0;
        echo "<div style='border: 1px solid #ccc; padding: 10px; text-align: center; background: #6c757d; color: white;'>\n";
        echo "<h5 style='margin: 0;'>" . ($percentual > 0 ? '+' : '') . $percentual . "%</h5>\n";
        echo "<small>Variação</small>\n";
        echo "</div>\n";
        
        echo "</div>\n";
        
        echo "<p><strong>🎯 RESULTADO:</strong></p>\n";
        if (($stats['km_gps'] ?? 0) > 0) {
            echo "<p>✅ <strong>Sucesso!</strong> Agora o GPS mostra " . $kmGpsDisplay . "km em vez do valor do odômetro.</p>\n";
        } else {
            echo "<p>❌ <strong>Ainda com problema:</strong> KM GPS continua zerado.</p>\n";
        }
    }
    
} catch (Exception $e) {
    echo "<p><strong>❌ Erro:</strong> " . $e->getMessage() . "</p>\n";
}
?>
