<?php
/**
 * 🔧 CORRIGIR ROTA #80 VAZIA
 * Script para verificar e corrigir a rota #80 que ficou sem viagens
 */
header('Content-Type: text/html; charset=utf-8');

echo "<h1>🔧 CORRIGIR ROTA #80 VAZIA</h1>";

try {
    require_once 'conexao.php';
    $pdo = conectarBanco();
    
    // 1. VERIFICAR A ROTA #80
    echo "<h2>📊 1. Verificando Rota #80</h2>";
    $sql = "SELECT * FROM solicitacoes_rotas WHERE id = 80";
    $stmt = $pdo->query($sql);
    $rota = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($rota) {
        echo "<p>✅ Rota #80 encontrada!</p>";
        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>{$rota['id']}</td></tr>";
        echo "<tr><td>Título</td><td>{$rota['titulo']}</td></tr>";
        echo "<tr><td>Status</td><td>{$rota['status']}</td></tr>";
        echo "<tr><td>Data Início</td><td>{$rota['data_inicio_real']}</td></tr>";
        echo "<tr><td>Data Fim</td><td>{$rota['data_fim_real']}</td></tr>";
        echo "</table>";
    } else {
        echo "<p>❌ Rota #80 não encontrada!</p>";
        exit;
    }
    
    // 2. VERIFICAR VIAGENS DA ROTA #80
    echo "<h2>🚗 2. Verificando Viagens da Rota #80</h2>";
    $sql = "SELECT COUNT(*) as total FROM rota_viagens WHERE solicitacao_rota_id = 80";
    $stmt = $pdo->query($sql);
    $resultado = $stmt->fetch(PDO::FETCH_ASSOC);
    
    echo "<p>📊 Total de viagens na rota #80: {$resultado['total']}</p>";
    
    if ($resultado['total'] == 0) {
        echo "<p>❌ <strong>PROBLEMA:</strong> Rota #80 está vazia (sem viagens)!</p>";
        
        // 3. OPÇÕES PARA CORRIGIR
        echo "<h2>🔧 3. Opções para Corrigir</h2>";
        echo "<p>Escolha uma opção:</p>";
        echo "<ol>";
        echo "<li><strong>Opção 1:</strong> Excluir a rota #80 (se não for mais necessária)</li>";
        echo "<li><strong>Opção 2:</strong> Adicionar uma viagem de teste à rota #80</li>";
        echo "<li><strong>Opção 3:</strong> Manter a rota vazia (pode causar problemas no dashboard)</li>";
        echo "</ol>";
        
        // 4. VERIFICAR SE EXISTEM OUTRAS VIAGENS DISPONÍVEIS
        echo "<h2>🔍 4. Verificando Viagens Disponíveis</h2>";
        $sql = "SELECT v.id, v.cliente, v.km_gps_final, v.km_gps_real 
                FROM viagens v 
                LEFT JOIN rota_viagens rv ON v.id = rv.viagem_id 
                WHERE rv.viagem_id IS NULL 
                AND v.status = 'finalizada'
                ORDER BY v.id DESC 
                LIMIT 5";
        $stmt = $pdo->query($sql);
        $viagensDisponiveis = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "<p>📊 Viagens disponíveis (não associadas a rotas):</p>";
        if (count($viagensDisponiveis) > 0) {
            echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
            echo "<tr><th>ID</th><th>Cliente</th><th>KM GPS Final</th><th>KM GPS Real</th></tr>";
            foreach ($viagensDisponiveis as $v) {
                echo "<tr>";
                echo "<td>{$v['id']}</td>";
                echo "<td>{$v['cliente']}</td>";
                echo "<td>{$v['km_gps_final']}</td>";
                echo "<td>{$v['km_gps_real']}</td>";
                echo "</tr>";
            }
            echo "</table>";
        } else {
            echo "<p>❌ Nenhuma viagem disponível para adicionar à rota.</p>";
        }
        
        // 5. SOLUÇÃO RECOMENDADA: EXCLUIR A ROTA VAZIA
        echo "<h2>🎯 5. Solução Recomendada: Excluir Rota Vazia</h2>";
        echo "<p>Como a rota #80 está vazia e causando problemas no dashboard, vamos excluí-la.</p>";
        
        // Primeiro, verificar se há registros na rota_viagens
        $sql = "DELETE FROM rota_viagens WHERE solicitacao_rota_id = 80";
        $stmt = $pdo->prepare($sql);
        $resultado1 = $stmt->execute();
        
        // Depois, excluir a rota
        $sql = "DELETE FROM solicitacoes_rotas WHERE id = 80";
        $stmt = $pdo->prepare($sql);
        $resultado2 = $stmt->execute();
        
        if ($resultado2) {
            echo "<p>✅ Rota #80 excluída com sucesso!</p>";
            echo "<p>🔄 Agora a rota #80 não aparecerá mais no dashboard.</p>";
        } else {
            echo "<p>❌ Erro ao excluir a rota #80!</p>";
        }
        
    } else {
        echo "<p>✅ Rota #80 ainda tem viagens associadas.</p>";
    }
    
    // 6. VERIFICAÇÃO FINAL
    echo "<h2>🎯 6. Verificação Final</h2>";
    $sql = "SELECT COUNT(*) as total FROM solicitacoes_rotas WHERE id = 80";
    $stmt = $pdo->query($sql);
    $resultado = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($resultado['total'] == 0) {
        echo "<p>✅ Rota #80 foi excluída com sucesso!</p>";
        echo "<p>🔄 <strong>Próximo passo:</strong> Recarregue o dashboard (Ctrl+F5) e verifique se a rota #80 não aparece mais!</p>";
    } else {
        echo "<p>❌ Rota #80 ainda existe!</p>";
    }
    
} catch (Exception $e) {
    echo "<p>❌ Erro: " . $e->getMessage() . "</p>";
}

echo "<hr>";
echo "<p><strong>🔧 Próximos passos:</strong></p>";
echo "<ol>";
echo "<li>Recarregue o dashboard (Ctrl+F5)</li>";
echo "<li>Verifique se a rota #80 não aparece mais</li>";
echo "<li>Verifique se a viagem #278 ainda aparece corretamente</li>";
echo "</ol>";
?>
