<?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 RÁPIDA DOS DADOS\n";
    echo "============================\n\n";
    
    // 1. Corrigir rotas com status inconsistente
    echo "📋 CORRIGINDO ROTAS:\n";
    $stmt = $pdo->prepare("
        UPDATE solicitacoes_rotas 
        SET status = 'em_andamento', updated_at = NOW() 
        WHERE data_inicio_real IS NOT NULL 
        AND data_fim_real IS NULL 
        AND status = 'concluida'
    ");
    $result = $stmt->execute();
    $rowCount = $stmt->rowCount();
    echo "  ✅ Rotas corrigidas: $rowCount\n\n";
    
    // 2. Corrigir viagens com KM final incorreto
    echo "📋 CORRIGINDO VIAGENS:\n";
    $stmt = $pdo->prepare("
        UPDATE viagens v
        JOIN rota_viagens rv ON v.id = rv.viagem_id
        SET v.km_final = 0, v.km_gps_final = NULL, v.updated_at = NOW()
        WHERE v.data_fim IS NULL AND v.km_final > 0
    ");
    $result = $stmt->execute();
    $rowCount = $stmt->rowCount();
    echo "  ✅ Viagens corrigidas: $rowCount\n\n";
    
    // 3. Verificar resultado
    echo "📊 RESULTADO:\n";
    
    // Rotas em andamento
    $stmt = $pdo->query("
        SELECT id, titulo, status 
        FROM solicitacoes_rotas 
        WHERE data_inicio_real IS NOT NULL AND data_fim_real IS NULL
        ORDER BY id
    ");
    $rotas = $stmt->fetchAll();
    
    if (!empty($rotas)) {
        echo "  🚗 ROTAS EM ANDAMENTO:\n";
        foreach ($rotas as $rota) {
            echo "    - ID {$rota['id']}: {$rota['titulo']} (Status: {$rota['status']})\n";
        }
    } else {
        echo "  ✅ Nenhuma rota em andamento\n";
    }
    
    echo "\n";
    
    // Viagens em andamento
    $stmt = $pdo->query("
        SELECT v.id, v.cliente, v.km_final
        FROM viagens v
        JOIN rota_viagens rv ON v.id = rv.viagem_id
        WHERE v.data_fim IS NULL
        ORDER BY v.id
    ");
    $viagens = $stmt->fetchAll();
    
    if (!empty($viagens)) {
        echo "  🚗 VIAGENS EM ANDAMENTO:\n";
        foreach ($viagens as $viagem) {
            echo "    - ID {$viagem['id']}: {$viagem['cliente']} (KM: {$viagem['km_final']})\n";
        }
    } else {
        echo "  ✅ Nenhuma viagem em andamento\n";
    }
    
    echo "\n";
    echo "✅ CORREÇÃO CONCLUÍDA!\n";
    echo "🎯 Agora atualize o dashboard web para ver as correções.\n";
    
} catch (Exception $e) {
    echo "❌ ERRO: " . $e->getMessage() . "\n";
}
?>
