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

echo "<h2>🔄 Atualizando Nomes das Colunas na API</h2>";

try {
    $arquivoAPI = 'api-simples-v2.php';
    
    if (!file_exists($arquivoAPI)) {
        throw new Exception("Arquivo $arquivoAPI não encontrado!");
    }
    
    echo "<p>✅ Arquivo $arquivoAPI encontrado!</p>";
    
    // Ler o conteúdo atual
    $conteudo = file_get_contents($arquivoAPI);
    $conteudoOriginal = $conteudo;
    
    echo "<h3>🔍 Substituindo nomes das colunas:</h3>";
    
    // 1. Substituir km_inicial por odometro_inicial
    $conteudo = str_replace('v.km_inicial', 'v.odometro_inicial', $conteudo);
    $conteudo = str_replace('km_inicial', 'odometro_inicial', $conteudo);
    echo "<p>✅ 'km_inicial' → 'odometro_inicial'</p>";
    
    // 2. Substituir km_final por odometro_final
    $conteudo = str_replace('v.km_final', 'v.odometro_final', $conteudo);
    $conteudo = str_replace('km_final', 'odometro_final', $conteudo);
    echo "<p>✅ 'km_final' → 'odometro_final'</p>";
    
    // 3. Substituir km_gps_final por distancia_gps
    $conteudo = str_replace('v.km_gps_final', 'v.distancia_gps', $conteudo);
    $conteudo = str_replace('km_gps_final', 'distancia_gps', $conteudo);
    echo "<p>✅ 'km_gps_final' → 'distancia_gps'</p>";
    
    // 4. Substituir km_real por distancia_odometro_rota (nas rotas)
    $conteudo = str_replace('sr.km_real', 'sr.distancia_odometro_rota', $conteudo);
    echo "<p>✅ 'sr.km_real' → 'sr.distancia_odometro_rota'</p>";
    
    // 5. Substituir odometro_final por odometro_final_rota (nas rotas)
    $conteudo = str_replace('sr.odometro_final', 'sr.odometro_final_rota', $conteudo);
    echo "<p>✅ 'sr.odometro_final' → 'sr.odometro_final_rota'</p>";
    
    // 6. Atualizar campos específicos que ainda usam nomes antigos
    $conteudo = str_replace('km_inicial_rota', 'odometro_inicial_rota', $conteudo);
    $conteudo = str_replace('km_final_rota', 'odometro_final_rota', $conteudo);
    echo "<p>✅ Campos de rota atualizados</p>";
    
    // 7. Atualizar cálculos de diferença
    $conteudo = str_replace('odometro_final - odometro_inicial', 'odometro_final - odometro_inicial', $conteudo);
    echo "<p>✅ Cálculos de diferença mantidos</p>";
    
    // Verificar se houve mudanças
    if ($conteudo === $conteudoOriginal) {
        echo "<p>⚠️ Nenhuma mudança foi feita. Verifique se os nomes já estão corretos.</p>";
    } else {
        // Fazer backup do arquivo original
        $backupFile = $arquivoAPI . '.backup.' . date('Y-m-d-H-i-s');
        if (copy($arquivoAPI, $backupFile)) {
            echo "<p>✅ Backup criado: $backupFile</p>";
        }
        
        // Salvar o arquivo atualizado
        if (file_put_contents($arquivoAPI, $conteudo)) {
            echo "<p>✅ Arquivo $arquivoAPI atualizado com sucesso!</p>";
        } else {
            throw new Exception("Erro ao salvar o arquivo!");
        }
    }
    
    // Verificar se ainda há referências às colunas antigas
    echo "<h3>🔍 Verificando se ainda há referências às colunas antigas:</h3>";
    
    $referenciasAntigas = [
        'km_inicial' => substr_count($conteudo, 'km_inicial'),
        'km_final' => substr_count($conteudo, 'km_final'),
        'km_gps_final' => substr_count($conteudo, 'km_gps_final'),
        'km_real' => substr_count($conteudo, 'km_real')
    ];
    
    foreach ($referenciasAntigas as $coluna => $quantidade) {
        if ($quantidade > 0) {
            echo "<p>⚠️ Ainda há <strong>$quantidade</strong> referências a '$coluna'</p>";
        } else {
            echo "<p>✅ Nenhuma referência a '$coluna' encontrada</p>";
        }
    }
    
    // Mostrar exemplos das mudanças feitas
    echo "<h3>📋 Exemplos das mudanças realizadas:</h3>";
    echo "<ul>";
    echo "<li><strong>v.km_inicial</strong> → <strong>v.odometro_inicial</strong></li>";
    echo "<li><strong>v.km_final</strong> → <strong>v.odometro_final</strong></li>";
    echo "<li><strong>v.km_gps_final</strong> → <strong>v.distancia_gps</strong></li>";
    echo "<li><strong>sr.km_real</strong> → <strong>sr.distancia_odometro_rota</strong></li>";
    echo "<li><strong>sr.odometro_final</strong> → <strong>sr.odometro_final_rota</strong></li>";
    echo "</ul>";
    
    echo "<h3>🎯 Próximos Passos:</h3>";
    echo "<ol>";
    echo "<li>✅ API atualizada com novos nomes de colunas</li>";
    echo "<li>🔧 Atualizar dashboard para usar os novos nomes</li>";
    echo "<li>🔧 Atualizar aplicativo Android para usar os novos nomes</li>";
    echo "<li>🧪 Testar se a API está funcionando corretamente</li>";
    echo "</ol>";
    
    echo "<h3>⚠️ IMPORTANTE:</h3>";
    echo "<p>Teste a API para garantir que todas as funcionalidades estão funcionando:</p>";
    echo "<ul>";
    echo "<li><strong>Teste de viagens:</strong> ?acao=viagens</li>";
    echo "<li><strong>Teste de rotas:</strong> ?acao=rotas-recentes</li>";
    echo "<li><strong>Teste de detalhes:</strong> ?acao=detalhes-viagem&id=1</li>";
    echo "</ul>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro: " . $e->getMessage() . "</p>";
}
?>
