<?php
require_once 'conexao.php';

echo "<h2>🚀 Resolvendo Problema do Status</h2>";

try {
    $pdo = conectarBanco();
    
    $rotaId = 39;
    $clienteId = 82;
    
    // 1. Verificar se o campo existe
    echo "<h3>1. Verificando campo status_atendimento...</h3>";
    
    $sqlCheck = "SHOW COLUMNS FROM rota_clientes LIKE 'status_atendimento'";
    $stmtCheck = $pdo->query($sqlCheck);
    $campo = $stmtCheck->fetch(PDO::FETCH_ASSOC);
    
    if (!$campo) {
        echo "❌ Campo status_atendimento não existe - Criando...<br>";
        
        $sqlAdd = "ALTER TABLE rota_clientes ADD COLUMN status_atendimento ENUM('pendente', 'em_atendimento', 'concluido', 'cancelado') DEFAULT 'pendente'";
        $pdo->exec($sqlAdd);
        
        echo "✅ Campo criado!<br>";
    } else {
        echo "✅ Campo existe - Tipo: {$campo['Type']}<br>";
    }
    
    // 2. Verificar dados atuais
    echo "<h3>2. Verificando dados atuais...</h3>";
    
    $sqlData = "SELECT id, nome_cliente, status_atendimento FROM rota_clientes WHERE id = ? AND solicitacao_rota_id = ?";
    $stmtData = $pdo->prepare($sqlData);
    $stmtData->execute([$clienteId, $rotaId]);
    $cliente = $stmtData->fetch(PDO::FETCH_ASSOC);
    
    if ($cliente) {
        echo "Cliente: {$cliente['nome_cliente']}<br>";
        echo "Status atual: '{$cliente['status_atendimento']}'<br>";
        
        // 3. Forçar atualização
        echo "<h3>3. Forçando atualização...</h3>";
        
        $sqlUpdate = "UPDATE rota_clientes SET status_atendimento = 'chegou' WHERE id = ? AND solicitacao_rota_id = ?";
        $stmtUpdate = $pdo->prepare($sqlUpdate);
        $success = $stmtUpdate->execute([$clienteId, $rotaId]);
        
        echo "Update success: " . ($success ? 'true' : 'false') . "<br>";
        echo "Rows affected: " . $stmtUpdate->rowCount() . "<br>";
        
        // 4. Verificar resultado
        $stmtData->execute([$clienteId, $rotaId]);
        $clienteAtualizado = $stmtData->fetch(PDO::FETCH_ASSOC);
        
        echo "Status após update: '{$clienteAtualizado['status_atendimento']}'<br>";
        
        if ($clienteAtualizado['status_atendimento'] === 'chegou') {
            echo "✅ SUCESSO! Status atualizado corretamente!<br>";
            
            // 5. 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>";
            
            // 6. Investigar mais
            echo "<h3>5. Investigação adicional...</h3>";
            
            $sqlDebug = "SELECT * FROM rota_clientes WHERE id = ? AND solicitacao_rota_id = ?";
            $stmtDebug = $pdo->prepare($sqlDebug);
            $stmtDebug->execute([$clienteId, $rotaId]);
            $clienteDebug = $stmtDebug->fetch(PDO::FETCH_ASSOC);
            
            echo "Dados completos do cliente:<br>";
            echo "<pre>";
            print_r($clienteDebug);
            echo "</pre>";
        }
        
    } else {
        echo "❌ Cliente não encontrado!<br>";
    }
    
} catch (Exception $e) {
    echo "❌ Erro: " . $e->getMessage() . "<br>";
    echo "Stack trace: <pre>" . $e->getTraceAsString() . "</pre>";
}
?>
