<?php
/**
 * 🔍 VERIFICAR API KM GPS REAL
 * Script para verificar se a API está retornando o campo km_gps_real corretamente
 */
header('Content-Type: text/html; charset=utf-8');
require_once 'funcoes-url.php';

echo "<h1>🔍 VERIFICAR API KM GPS REAL</h1>";

// 1. VERIFICAR CONSULTA SQL DA API
echo "<h2>📊 1. Verificando Consulta SQL da API</h2>";
try {
    $pdo = new PDO("mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8", "pinheir3_controle_frotas", "Pinheiro@2024");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // Consulta exata que a API usa
    $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.id = 278";
    
    $stmt = $pdo->query($sql);
    $resultado = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($resultado) {
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>Campo</th><th>Valor</th></tr>";
        echo "<tr><td>ID</td><td>{$resultado['id']}</td></tr>";
        echo "<tr><td>Cliente</td><td>{$resultado['cliente_nome']}</td></tr>";
        echo "<tr><td>KM GPS Final</td><td>{$resultado['km_gps_final']}</td></tr>";
        echo "<tr><td>KM GPS Real (Original)</td><td>{$resultado['km_gps_real']}</td></tr>";
        echo "<tr><td>COALESCE Result</td><td>" . $resultado['km_gps_real'] . "</td></tr>";
        echo "</table>";
    } else {
        echo "<p>❌ Viagem #278 não encontrada na consulta SQL!</p>";
    }
} catch (Exception $e) {
    echo "<p>❌ Erro na consulta SQL: " . $e->getMessage() . "</p>";
}

// 2. TESTAR API DIRETAMENTE
echo "<h2>📡 2. Testando API listar_viagens_completas</h2>";
$url = urlApi('listar-viagens-completas');
echo "<p><strong>URL da API:</strong> $url</p>";

$context = stream_context_create([
    'http' => [
        'timeout' => 10,
        'ignore_errors' => true
    ]
]);

$response = @file_get_contents($url, false, $context);
if ($response === false) {
    echo "<p>❌ Erro ao acessar API</p>";
} else {
    $data = json_decode($response, true);
    if ($data && isset($data['dados'])) {
        $viagens = $data['dados'];
        $viagem278 = null;
        
        foreach ($viagens as $v) {
            if ($v['id'] == 278) {
                $viagem278 = $v;
                break;
            }
        }
        
        if ($viagem278) {
            echo "<h3>📊 Viagem #278 na API:</h3>";
            echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
            echo "<tr><th>Campo</th><th>Valor</th></tr>";
            echo "<tr><td>ID</td><td>{$viagem278['id']}</td></tr>";
            echo "<tr><td>Cliente</td><td>{$viagem278['cliente_nome']}</td></tr>";
            echo "<tr><td>KM GPS Final</td><td>{$viagem278['km_gps_final']}</td></tr>";
            echo "<tr><td>KM GPS Real</td><td>" . (isset($viagem278['km_gps_real']) ? $viagem278['km_gps_real'] : 'N/A') . "</td></tr>";
            echo "</table>";
            
            // Verificar se o campo km_gps_real existe
            if (isset($viagem278['km_gps_real'])) {
                echo "<p>✅ Campo 'km_gps_real' encontrado na API!</p>";
            } else {
                echo "<p>❌ Campo 'km_gps_real' NÃO encontrado na API!</p>";
            }
        } else {
            echo "<p>❌ Viagem #278 não encontrada na API</p>";
        }
    } else {
        echo "<p>❌ Resposta da API inválida</p>";
        echo "<pre>" . htmlspecialchars($response) . "</pre>";
    }
}

// 3. VERIFICAR CÓDIGO DA API
echo "<h2>🔍 3. Verificando Código da API</h2>";
$apiFile = 'api-simples-v2.php';
if (file_exists($apiFile)) {
    $apiContent = file_get_contents($apiFile);
    
            // Procurar pela consulta listar-viagens-completas
        if (strpos($apiContent, 'listar-viagens-completas') !== false) {
            echo "<p>✅ Função 'listar-viagens-completas' encontrada na API</p>";
        
        // Procurar por km_gps_real na consulta
        if (strpos($apiContent, 'km_gps_real') !== false) {
            echo "<p>✅ Campo 'km_gps_real' encontrado no código da API</p>";
        } else {
            echo "<p>❌ Campo 'km_gps_real' NÃO encontrado no código da API</p>";
        }
        
        // Procurar por COALESCE
        if (strpos($apiContent, 'COALESCE') !== false) {
            echo "<p>✅ Função COALESCE encontrada no código da API</p>";
        } else {
            echo "<p>❌ Função COALESCE NÃO encontrada no código da API</p>";
        }
    } else {
        echo "<p>❌ Função 'listar-viagens-completas' NÃO encontrada na API</p>";
    }
} else {
    echo "<p>❌ Arquivo da API não encontrado</p>";
}

// 4. VERIFICAR DASHBOARD
echo "<h2>📱 4. Link para o Dashboard</h2>";
$dashboardUrl = urlSistema('admin/dashboard.html');
echo "<p><strong>Dashboard:</strong> <a href='$dashboardUrl' target='_blank'>$dashboardUrl</a></p>";
echo "<p>🔍 <strong>Verifique se a rota #80 mostra o valor correto!</strong></p>";

// 5. TESTE JAVASCRIPT
echo "<h2>🧪 5. Teste JavaScript</h2>";
$testeJsUrl = urlSistema('backend-php/teste-javascript-dashboard.php');
echo "<p><strong>Teste JavaScript:</strong> <a href='$testeJsUrl' target='_blank'>$testeJsUrl</a></p>";

echo "<hr>";
echo "<p><strong>🔧 Próximos passos:</strong></p>";
echo "<ol>";
echo "<li>Verifique se o campo 'km_gps_real' está sendo retornado pela API</li>";
echo "<li>Se não estiver, verifique o código da API</li>";
echo "<li>Teste o JavaScript do dashboard</li>";
echo "<li>Recarregue o dashboard (Ctrl+F5)</li>";
echo "</ol>";
?>
