<?php
require_once 'conexao.php';

echo "<h2>🔧 Corrigindo ENUM do Status</h2>";

try {
    $pdo = conectarBanco();
    
    $rotaId = 39;
    $clienteId = 82;
    
    // 1. Verificar ENUM atual
    echo "<h3>1. ENUM Atual:</h3>";
    $sqlEnum = "SHOW COLUMNS FROM rota_clientes LIKE 'status_atendimento'";
    $stmtEnum = $pdo->query($sqlEnum);
    $enumInfo = $stmtEnum->fetch(PDO::FETCH_ASSOC);
    
    echo "Tipo atual: {$enumInfo['Type']}<br>";
    
    // 2. Corrigir ENUM para incluir 'chegou'
    echo "<h3>2. Corrigindo ENUM...</h3>";
    
    $sqlModify = "ALTER TABLE rota_clientes MODIFY COLUMN status_atendimento ENUM('pendente', 'chegou', 'em_atendimento', 'concluido', 'cancelado') DEFAULT 'pendente'";
    $stmtModify = $pdo->prepare($sqlModify);
    $success = $stmtModify->execute();
    
    if ($success) {
        echo "✅ ENUM corrigido com sucesso!<br>";
        
        // 3. Verificar ENUM corrigido
        $stmtEnum->execute();
        $enumInfoCorrigido = $stmtEnum->fetch(PDO::FETCH_ASSOC);
        echo "Novo tipo: {$enumInfoCorrigido['Type']}<br>";
        
        // 4. Testar atualização
        echo "<h3>3. Testando Atualização...</h3>";
        
        $sqlUpdate = "UPDATE rota_clientes SET status_atendimento = 'chegou' WHERE id = ? AND solicitacao_rota_id = ?";
        $stmtUpdate = $pdo->prepare($sqlUpdate);
        $successUpdate = $stmtUpdate->execute([$clienteId, $rotaId]);
        
        echo "Update success: " . ($successUpdate ? 'true' : 'false') . "<br>";
        echo "Rows affected: " . $stmtUpdate->rowCount() . "<br>";
        
        // 5. Verificar resultado
        $sqlCheck = "SELECT status_atendimento FROM rota_clientes WHERE id = ? AND solicitacao_rota_id = ?";
        $stmtCheck = $pdo->prepare($sqlCheck);
        $stmtCheck->execute([$clienteId, $rotaId]);
        $cliente = $stmtCheck->fetch(PDO::FETCH_ASSOC);
        
        echo "Status após update: '{$cliente['status_atendimento']}'<br>";
        
        if ($cliente['status_atendimento'] === 'chegou') {
            echo "✅ SUCESSO! Status atualizado corretamente!<br>";
            
            // 6. Testar API
            echo "<h3>4. Testando API...</h3>";
            
            $url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php?acao=detalhes-rota-execucao&id=$rotaId";
            $response = file_get_contents($url);
            $data = json_decode($response, true);
            
            if ($data && $data['sucesso']) {
                $clientes = $data['dados']['clientes'];
                foreach ($clientes as $clienteApi) {
                    if ($clienteApi['id'] == $clienteId) {
                        echo "API retorna status: '{$clienteApi['status_atendimento']}'<br>";
                        if ($clienteApi['status_atendimento'] === 'chegou') {
                            echo "✅ API retorna valor correto!<br>";
                            echo "<h3>🎉 PROBLEMA RESOLVIDO!</h3>";
                            echo "Agora teste no app Android:<br>";
                            echo "1. Abra a rota no app<br>";
                            echo "2. Clique em 'Chegou' no cliente<br>";
                            echo "3. Verifique se o status muda para 'chegou'<br>";
                            echo "4. Verifique se o próximo cliente é destacado<br>";
                        } else {
                            echo "❌ API ainda retorna valor antigo!<br>";
                        }
                        break;
                    }
                }
            } else {
                echo "❌ Erro ao acessar API<br>";
            }
            
        } else {
            echo "❌ ERRO: Status não foi atualizado!<br>";
        }
        
    } else {
        echo "❌ Erro ao corrigir ENUM<br>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "<br>";
    echo "Stack trace: <pre>" . $e->getTraceAsString() . "</pre>";
}
?>
