<?php
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>
    <title>🛠️ Painel de Correções - Sistema Controle Frota</title>
    <meta charset="utf-8">
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; background: #f5f5f5; }
        .container { max-width: 1200px; margin: 0 auto; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
        .problema { background: #ffe0e0; padding: 15px; margin: 10px 0; border-left: 5px solid #ff4444; border-radius: 5px; }
        .correcao { background: #e0ffe0; padding: 15px; margin: 10px 0; border-left: 5px solid #44ff44; border-radius: 5px; }
        .aviso { background: #fff3cd; padding: 15px; margin: 10px 0; border-left: 5px solid #ffc107; border-radius: 5px; }
        .btn { padding: 10px 20px; margin: 5px; background: #007bff; color: white; border: none; border-radius: 5px; cursor: pointer; }
        .btn:hover { background: #0056b3; }
        .btn-danger { background: #dc3545; }
        .btn-danger:hover { background: #c82333; }
        .btn-success { background: #28a745; }
        .btn-success:hover { background: #218838; }
        .resultado { background: #f8f9fa; padding: 15px; margin: 10px 0; border: 1px solid #dee2e6; border-radius: 5px; font-family: monospace; white-space: pre-wrap; }
        .hidden { display: none; }
        h1 { color: #333; text-align: center; }
        h2 { color: #555; border-bottom: 2px solid #007bff; padding-bottom: 10px; }
        h3 { color: #666; }
        table { width: 100%; border-collapse: collapse; margin: 10px 0; }
        th, td { padding: 8px; border: 1px solid #ddd; text-align: left; }
        th { background: #f8f9fa; font-weight: bold; }
        .status-ok { color: #28a745; font-weight: bold; }
        .status-error { color: #dc3545; font-weight: bold; }
        .status-warning { color: #ffc107; font-weight: bold; }
    </style>
</head>
<body>
    <div class="container">
        <h1>🛠️ Painel de Correções - Sistema Controle Frota</h1>
        
        <div class="aviso">
            <h3>⚠️ PROBLEMAS IDENTIFICADOS NA VIAGEM 151:</h3>
            <ol>
                <li><strong>KM GPS = NULL:</strong> App enviava <code>kmGpsFinal</code> mas API esperava <code>km_rodados</code></li>
                <li><strong>Checklist sempre MOTO:</strong> Veículo 6 (Cerato) cadastrado incorretamente como "moto"</li>
                <li><strong>Fotos = 0:</strong> Nenhuma foto sendo salva na tabela checklist_fotos</li>
                <li><strong>Erro de consulta:</strong> Script tentando acessar colunas inexistentes</li>
            </ol>
        </div>

        <h2>🔧 CORREÇÕES DISPONÍVEIS</h2>
        
        <div class="correcao">
            <h3>✅ 1. API Finalizar Viagem - CORRIGIDA</h3>
            <p>A API <code>api-simples-v2.php</code> já foi corrigida para aceitar tanto <code>km_rodados</code> quanto <code>kmGpsFinal</code>.</p>
            <p><strong>Status:</strong> <span class="status-ok">IMPLEMENTADA</span></p>
        </div>

        <div class="correcao">
            <h3>✅ 2. Script de Verificação - CORRIGIDO</h3>
            <p>O script <code>verificar-viagem-151-status.php</code> foi corrigido para não usar colunas inexistentes.</p>
            <p><strong>Status:</strong> <span class="status-ok">IMPLEMENTADA</span></p>
        </div>

        <h3>⚡ 3. Correção KM GPS Viagem 151</h3>
        <p>Calcular e corrigir o KM GPS da viagem 151 baseado nas coordenadas existentes.</p>
        <button class="btn btn-success" onclick="executarCorrecao('km-gps')">🔧 Corrigir KM GPS</button>
        <div id="resultado-km-gps" class="resultado hidden"></div>

        <h3>⚡ 4. Correção Tipo Veículo Cerato</h3>
        <p>Corrigir o veículo 6 (Cerato) de "moto" para "carro" na tabela de veículos.</p>
        <button class="btn btn-success" onclick="executarCorrecao('tipo-veiculo')">🔧 Corrigir Tipo Veículo</button>
        <div id="resultado-tipo-veiculo" class="resultado hidden"></div>

        <h3>🔍 5. Diagnóstico Avançado de Fotos</h3>
        <p>Teste completo do sistema de fotos com simulação de checklist real.</p>
        <button class="btn" onclick="window.open('testar-checklist-com-fotos.php', '_blank')">🧪 Teste Completo de Fotos</button>
        <button class="btn" onclick="executarCorrecao('teste-fotos')">🔧 Teste Básico</button>
        <div id="resultado-teste-fotos" class="resultado hidden"></div>

        <h3>🔧 8. Corrigir Todos os Tipos de Veículos</h3>
        <p>Detectar e corrigir automaticamente todos os veículos com tipos incorretos.</p>
        <button class="btn btn-warning" onclick="window.open('corrigir-todos-tipos-veiculos.php', '_blank')">🚗 Corrigir Tipos de Veículos</button>

        <h3>🔍 9. Verificar App Android enviando KM GPS</h3>
        <p>Monitor em tempo real para verificar se o app está enviando o campo kmGpsFinal na finalização.</p>
        <button class="btn btn-primary" onclick="window.open('verificar-envio-km-gps-app.php', '_blank')">📱 Verificar App Android</button>

        <h3>🧪 10. Testar Correção App Android</h3>
        <p>Verificar se a correção aplicada no código Android está funcionando corretamente.</p>
        <button class="btn btn-success" onclick="window.open('testar-correcao-app-android.php', '_blank')">✅ Testar Correção</button>

        <h3>🔍 11. Investigar Viagem #152</h3>
        <p>Analisar problemas específicos da viagem #152 (KM GPS vs KM Manual).</p>
        <button class="btn btn-info" onclick="window.open('verificar-viagem-152.php', '_blank')">🔍 Investigar Viagem 152</button>

        <h3>🚀 12. Checklist Automático por Tipo de Veículo</h3>
        <p>Nova implementação que elimina erro humano: app determina checklist automaticamente baseado no cadastro do veículo.</p>
        <button class="btn btn-success" onclick="window.open('teste-checklist-automatico.php', '_blank')">🧪 Testar Nova Lógica</button>
        <button class="btn btn-primary" onclick="window.open('implementacao-checklist-automatico.md', '_blank')">📋 Documentação</button>

        <h3>📊 6. Status Atual da Viagem 151</h3>
        <p>Verificar status atual da viagem após correções.</p>
        <button class="btn" onclick="executarCorrecao('status-viagem')">📋 Verificar Status</button>
        <div id="resultado-status-viagem" class="resultado hidden"></div>

        <h3>🔄 7. Corrigir Todas Viagens com KM GPS Zero</h3>
        <p>Aplicar correção de KM GPS para todas as viagens que têm coordenadas mas KM GPS = NULL/0.</p>
        <button class="btn btn-warning" onclick="executarCorrecao('corrigir-todas')">⚡ Corrigir Todas Viagens</button>
        <div id="resultado-corrigir-todas" class="resultado hidden"></div>

        <div class="aviso">
            <h3>🎯 CORREÇÕES PREVENTIVAS (Para evitar problemas futuros):</h3>
            <ol>
                <li><strong>Corrigir Tipos de Veículos:</strong> Evita checklists com tipo incorreto</li>
                <li><strong>Teste Completo de Fotos:</strong> Identifica problema do upload de fotos</li>
                <li><strong>Logs Detalhados:</strong> APIs com debug avançado para facilitar diagnóstico</li>
                <li><strong>API KM GPS:</strong> Já corrigida para aceitar kmGpsFinal do app</li>
            </ol>
        </div>

        <div class="aviso">
            <h3>🎯 CORREÇÕES DA VIAGEM 151 (Histórico):</h3>
            <ol>
                <li>Execute "Corrigir KM GPS" primeiro</li>
                <li>Execute "Corrigir Tipo Veículo" segundo</li>
                <li>Execute "Verificar Status" para confirmar</li>
                <li>Por último, "Corrigir Todas Viagens" se necessário</li>
            </ol>
        </div>

        <div class="problema">
            <h3>⚠️ IMPORTANTE:</h3>
            <ul>
                <li>As correções modificam dados no banco de dados</li>
                <li>Faça backup antes de executar correções em massa</li>
                <li>Teste em ambiente de desenvolvimento primeiro se possível</li>
                <li>As correções de KM GPS usam cálculo automático baseado em coordenadas</li>
            </ul>
        </div>
    </div>

    <script>
        function executarCorrecao(tipo) {
            const resultadoDiv = document.getElementById(`resultado-${tipo}`);
            const button = event.target;
            
            // Mostrar loading
            resultadoDiv.className = 'resultado';
            resultadoDiv.innerHTML = '⏳ Executando...';
            button.disabled = true;
            
            // Fazer requisição
            fetch(`executar-correcoes.php?acao=${tipo}`)
                .then(response => response.text())
                .then(data => {
                    resultadoDiv.innerHTML = data;
                    button.disabled = false;
                })
                .catch(error => {
                    resultadoDiv.innerHTML = `❌ Erro: ${error.message}`;
                    button.disabled = false;
                });
        }
    </script>
</body>
</html> 
