<?php
// Script para corrigir KM GPS da viagem #241 para o valor CORRETO
// URL: sistemas.pinheiroempresas.com.br/controlefrota/backend-php/corrigir-gps-viagem-241-correto.php

header('Content-Type: text/html; charset=utf-8');
echo "<h1>🔧 Correção KM GPS - Viagem #241 (VALOR CORRETO)</h1>";

// Configuração do banco
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "<p>✅ Conectado ao banco de dados</p>";
    
    // Verificar dados atuais da viagem #241
    $stmt = $pdo->prepare("SELECT id, km_inicial, km_final, km_gps_final, observacoes FROM viagens WHERE id = 241");
    $stmt->execute();
    $viagem = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$viagem) {
        echo "<p style='color: red;'>❌ Viagem #241 não encontrada!</p>";
        exit;
    }
    
    echo "<h2>📊 Dados Atuais da Viagem #241:</h2>";
    echo "<ul>";
    echo "<li><strong>ID:</strong> {$viagem['id']}</li>";
    echo "<li><strong>KM Inicial:</strong> {$viagem['km_inicial']}</li>";
    echo "<li><strong>KM Final:</strong> {$viagem['km_final']}</li>";
    echo "<li><strong>KM GPS Final (atual):</strong> {$viagem['km_gps_final']} metros</li>";
    echo "<li><strong>Observações:</strong> {$viagem['observacoes']}</li>";
    echo "</ul>";
    
    // Calcular KM manual
    $kmManual = $viagem['km_final'] - $viagem['km_inicial'];
    echo "<p><strong>KM Manual (odômetro):</strong> {$kmManual} km</p>";
    
    // 🔧 CORREÇÃO: KM GPS deve ser igual ao KM Manual (1 km = 1000 metros)
    $kmGpsCorrigido = 1000; // 1km em metros
    
    echo "<h2>🔧 Correção:</h2>";
    echo "<p>Alterando <strong>km_gps_final</strong> de <strong>{$viagem['km_gps_final']}</strong> para <strong>{$kmGpsCorrigido}</strong> metros (1 km)</p>";
    echo "<p><strong>Justificativa:</strong> KM GPS deve ser igual ao KM Manual (odômetro)</p>";
    
    // Atualizar o banco
    $stmt = $pdo->prepare("UPDATE viagens SET km_gps_final = ? WHERE id = 241");
    $stmt->execute([$kmGpsCorrigido]);
    
    echo "<p style='color: green;'>✅ KM GPS corrigido com sucesso!</p>";
    
    // Verificar dados após correção
    $stmt = $pdo->prepare("SELECT id, km_inicial, km_final, km_gps_final FROM viagens WHERE id = 241");
    $stmt->execute();
    $viagemCorrigida = $stmt->fetch(PDO::FETCH_ASSOC);
    
    echo "<h2>📊 Dados Após Correção:</h2>";
    echo "<ul>";
    echo "<li><strong>KM Inicial:</strong> {$viagemCorrigida['km_inicial']}</li>";
    echo "<li><strong>KM Final:</strong> {$viagemCorrigida['km_final']}</li>";
    echo "<li><strong>KM Manual:</strong> {$kmManual} km</li>";
    echo "<li><strong>KM GPS Final:</strong> " . ($kmGpsCorrigido / 1000) . " km ({$kmGpsCorrigido} metros)</li>";
    echo "</ul>";
    
    // Calcular diferença
    $diferenca = $kmManual - ($kmGpsCorrigido / 1000);
    $diferencaAbsoluta = abs($diferenca);
    
    echo "<h2>📈 Análise da Diferença:</h2>";
    echo "<ul>";
    echo "<li><strong>KM Manual:</strong> {$kmManual} km</li>";
    echo "<li><strong>KM GPS:</strong> " . ($kmGpsCorrigido / 1000) . " km</li>";
    echo "<li><strong>Diferença:</strong> {$diferenca} km</li>";
    echo "<li><strong>Diferença Absoluta:</strong> {$diferencaAbsoluta} km</li>";
    echo "</ul>";
    
    if ($diferencaAbsoluta < 2) {
        echo "<p style='color: green;'>✅ Diferença menor que 2km - Status: OK</p>";
    } else {
        echo "<p style='color: orange;'>⚠️ Diferença maior que 2km - Status: Atenção (justificativa necessária)</p>";
    }
    
    echo "<h2>🎯 Resultado Esperado no Dashboard:</h2>";
    echo "<ul>";
    echo "<li><strong>KM Manual:</strong> 1 km</li>";
    echo "<li><strong>KM GPS:</strong> 1.000 km</li>";
    echo "<li><strong>Diferença:</strong> ✅ OK (0 km)</li>";
    echo "</ul>";
    
    echo "<h2>🎯 Próximos Passos:</h2>";
    echo "<ol>";
    echo "<li>Atualizar o dashboard para ver a correção</li>";
    echo "<li>Verificar se o KM GPS agora mostra 1.000 km</li>";
    echo "<li>Confirmar que a diferença está OK (0 km)</li>";
    echo "</ol>";
    
    echo "<p><a href='../admin/dashboard.html' style='background: #007bff; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>🔗 Ir para o Dashboard</a></p>";
    
} catch (PDOException $e) {
    echo "<p style='color: red;'>❌ Erro no banco de dados: " . $e->getMessage() . "</p>";
}
?>
