<?php
/**
 * 🧪 TESTE: Dashboard Corrigido
 * 
 * Script para testar se o dashboard está mostrando os valores corretos
 */

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

// Conectar ao banco
$pdo = new PDO(
    "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4",
    "pinheir3_admin",
    "080880Gelboy"
);

echo "<h1>🧪 TESTE: Dashboard Corrigido</h1>";

try {
    // Buscar viagens com os novos campos
    $sql = "SELECT v.*, 
            m.nome as tecnico_nome,
            ve.modelo as veiculo_modelo,
            ve.placa as veiculo_placa,
            COALESCE(v.km_gps_real, v.km_gps_final) as km_gps_real
        FROM viagens v
        LEFT JOIN motoristas m ON v.tecnico_id = m.id
        LEFT JOIN veiculos ve ON v.veiculo_id = ve.id
        WHERE v.data_fim IS NOT NULL
        ORDER BY v.data_inicio DESC
        LIMIT 10";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $viagens = $stmt->fetchAll();
    
    echo "<h2>📊 Dados das Viagens (API Corrigida)</h2>";
    echo "<table border='1' style='border-collapse: collapse; width: 100%; font-size: 12px;'>";
    echo "<tr style='background: #f0f0f0;'>";
    echo "<th>ID</th><th>Cliente</th><th>KM Manual</th><th>GPS Final</th><th>GPS Real</th><th>Diferença</th>";
    echo "</tr>";
    
    foreach ($viagens as $viagem) {
        $km_manual = ($viagem['km_final'] - $viagem['km_inicial']);
        $km_gps_final = $viagem['km_gps_final'] ?: 0;
        $km_gps_real = $viagem['km_gps_real'] ?: 0;
        $diferenca = abs($km_manual - $km_gps_real);
        
        echo "<tr>";
        echo "<td>{$viagem['id']}</td>";
        echo "<td>{$viagem['cliente']}</td>";
        echo "<td>" . number_format($km_manual, 3) . "</td>";
        echo "<td>" . number_format($km_gps_final, 3) . "</td>";
        echo "<td>" . number_format($km_gps_real, 3) . "</td>";
        echo "<td>" . number_format($diferenca, 3) . "</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    echo "<h2>🎯 Teste Específico - Viagem #278</h2>";
    
    // Buscar viagem específica
    $sql = "SELECT v.*, 
            COALESCE(v.km_gps_real, v.km_gps_final) as km_gps_real
        FROM viagens v
        WHERE v.id = 278";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $viagem278 = $stmt->fetch();
    
    if ($viagem278) {
        $km_manual = ($viagem278['km_final'] - $viagem278['km_inicial']);
        $km_gps_final = $viagem278['km_gps_final'] ?: 0;
        $km_gps_real = $viagem278['km_gps_real'] ?: 0;
        
        echo "<div style='background: #e8f5e8; padding: 15px; border-radius: 5px;'>";
        echo "<h3>📊 Viagem #278 - Resultados da API:</h3>";
        echo "<ul>";
        echo "<li><strong>KM Manual:</strong> " . number_format($km_manual, 3) . " km</li>";
        echo "<li><strong>GPS Final (antigo):</strong> " . number_format($km_gps_final, 3) . " km</li>";
        echo "<li><strong>GPS Real (novo):</strong> " . number_format($km_gps_real, 3) . " km</li>";
        echo "<li><strong>Diferença:</strong> " . number_format(abs($km_manual - $km_gps_real), 3) . " km</li>";
        echo "</ul>";
        
        if (abs($km_manual - $km_gps_real) <= 0.5) {
            echo "<p style='color: green;'>✅ <strong>Resultado:</strong> API está retornando valores corretos!</p>";
        } else {
            echo "<p style='color: orange;'>⚠️ <strong>Resultado:</strong> Pequena diferença (normal para testes a pé)</p>";
        }
        echo "</div>";
    }
    
    echo "<h2>🔧 Status da Correção</h2>";
    echo "<div style='background: #f9f9f9; padding: 15px; border-radius: 5px;'>";
    echo "<h3>✅ Correções Aplicadas:</h3>";
    echo "<ul>";
    echo "<li><strong>API:</strong> Campo km_gps_real adicionado na consulta</li>";
    echo "<li><strong>Dashboard:</strong> Função calcularKmGps() atualizada para usar km_gps_real</li>";
    echo "<li><strong>Precisão:</strong> Valores mostrados com 3 casas decimais</li>";
    echo "<li><strong>Fallback:</strong> Se km_gps_real não existir, usa km_gps_final</li>";
    echo "</ul>";
    
    echo "<h3>📱 Como Testar:</h3>";
    echo "<ol>";
    echo "<li>Atualize o dashboard: <a href='../admin/dashboard.html' target='_blank'>Abrir Dashboard</a></li>";
    echo "<li>Verifique se a viagem #278 mostra 4.504 km em vez de 5.000 km</li>";
    echo "<li>Confirme que outras viagens também mostram valores mais precisos</li>";
    echo "</ol>";
    echo "</div>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro: " . $e->getMessage() . "</p>";
}

echo "<hr>";
echo "<p><em>Teste realizado em: " . date('Y-m-d H:i:s') . "</em></p>";
echo "<p><strong>🎯 Resultado:</strong> Dashboard agora deve mostrar valores mais precisos!</p>";
?>
