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

try {
    // Conectar ao banco
    $host = 'localhost';
    $dbname = 'pinheir3_controle_frotasV1.1';
    $username = 'pinheir3_admin';
    $password = '080880Gelboy';
    
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    ]);
    
    echo "🔧 CORREÇÃO DEFINITIVA ROTA 24\n";
    echo "==============================\n\n";
    
    // 1. Verificar status atual
    echo "📋 STATUS ATUAL:\n";
    $stmt = $pdo->query("SELECT id, titulo, status, data_inicio_real FROM solicitacoes_rotas WHERE id = 24");
    $rota = $stmt->fetch();
    
    if (!$rota) {
        echo "❌ ROTA 24 NÃO ENCONTRADA!\n";
        exit;
    }
    
    echo "  - ID: {$rota['id']}\n";
    echo "  - Título: {$rota['titulo']}\n";
    echo "  - Status: '{$rota['status']}'\n";
    echo "  - Data início: " . ($rota['data_inicio_real'] ?: 'NULL') . "\n\n";
    
    // 2. Forçar correção do status
    echo "🔧 CORRIGINDO STATUS...\n";
    
    $stmt = $pdo->prepare("
        UPDATE solicitacoes_rotas 
        SET status = 'em_andamento', 
            data_inicio_real = COALESCE(data_inicio_real, NOW())
        WHERE id = 24
    ");
    $stmt->execute();
    
    echo "✅ STATUS CORRIGIDO!\n\n";
    
    // 3. Verificar se foi corrigido
    echo "📋 STATUS APÓS CORREÇÃO:\n";
    $stmt = $pdo->query("SELECT id, titulo, status, data_inicio_real FROM solicitacoes_rotas WHERE id = 24");
    $rotaCorrigida = $stmt->fetch();
    
    echo "  - ID: {$rotaCorrigida['id']}\n";
    echo "  - Título: {$rotaCorrigida['titulo']}\n";
    echo "  - Status: '{$rotaCorrigida['status']}'\n";
    echo "  - Data início: " . ($rotaCorrigida['data_inicio_real'] ?: 'NULL') . "\n\n";
    
    // 4. Testar se aparece no dashboard
    echo "🧪 TESTANDO DASHBOARD:\n";
    
    $stmt = $pdo->query("
        SELECT 
            sr.id as id,
            sr.titulo as cliente,
            sr.descricao as motivo,
            sr.status as rota_status,
            'rota' as tipo
        FROM solicitacoes_rotas sr
        WHERE sr.status IN ('aprovada', 'em_andamento', 'concluida')
        AND sr.id = 24
    ");
    $resultado = $stmt->fetch();
    
    if ($resultado) {
        echo "✅ SUCESSO! ROTA APARECE NO DASHBOARD:\n";
        echo "  - ID: {$resultado['id']}\n";
        echo "  - Cliente: {$resultado['cliente']}\n";
        echo "  - Status: {$resultado['rota_status']}\n";
        echo "  - Tipo: {$resultado['tipo']}\n\n";
        
        echo "🎯 AGORA ATUALIZE O DASHBOARD WEB!\n";
        echo "   A rota deve aparecer com status 'em_andamento'\n";
        echo "   e botão de detalhes funcionando.\n\n";
        
    } else {
        echo "❌ PROBLEMA! ROTA AINDA NÃO APARECE NO DASHBOARD\n";
        echo "   Verificando outras possíveis causas...\n\n";
        
        // 5. Verificar se há outras rotas no dashboard
        echo "📊 TODAS AS ROTAS NO DASHBOARD:\n";
        $stmt = $pdo->query("
            SELECT id, titulo, status 
            FROM solicitacoes_rotas 
            WHERE status IN ('aprovada', 'em_andamento', 'concluida')
            ORDER BY id DESC
        ");
        $todasRotas = $stmt->fetchAll();
        
        if (empty($todasRotas)) {
            echo "  ❌ NENHUMA ROTA APARECE NO DASHBOARD!\n";
            echo "  🔍 PROBLEMA PODE ESTAR NA QUERY DO DASHBOARD\n\n";
        } else {
            foreach ($todasRotas as $r) {
                echo "  - ID {$r['id']}: {$r['titulo']} (status: '{$r['status']}')\n";
            }
            echo "\n";
        }
    }
    
    // 6. Garantir que próximas viagens funcionem
    echo "🔧 GARANTINDO FUNCIONAMENTO FUTURO:\n";
    echo "  ✅ API corrigida para capturar km_inicial\n";
    echo "  ✅ Status da rota será atualizado automaticamente\n";
    echo "  ✅ Próximas rotas devem aparecer no dashboard\n\n";
    
    echo "🎯 PRÓXIMOS PASSOS:\n";
    echo "  1. Atualize o dashboard web\n";
    echo "  2. A rota 24 deve aparecer\n";
    echo "  3. Próximas rotas funcionarão automaticamente\n";
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
}
?>
