<?php
session_start();
require_once 'conexao.php';

if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    die("Token de segurança inválido");
}

$cliente_id = $_POST['cliente_id'];
$etapa_id = $_POST['etapa_id'];
$tenant_id = $_SESSION['tenant_id'];

error_log("🧪 TESTE MANUAL INICIADO - Cliente: $cliente_id, Etapa: $etapa_id");

require_once 'verificador_fluxos_automatizados.php';

// Buscar dados completos do cliente
$sql_cliente = "SELECT c.id, c.Nome_Cliente, c.Email, c.responsavel, c.etapa_funil_id,
                       f.id as funil_id, f.nome as funil_nome
                FROM clientes c
                LEFT JOIN etapas_funis ef ON c.etapa_funil_id = ef.id
                LEFT JOIN funis f ON ef.funil_id = f.id
                WHERE c.id = ? AND c.tenant_id = ?";
$stmt = $conn->prepare($sql_cliente);
$stmt->bind_param("ii", $cliente_id, $tenant_id);
$stmt->execute();
$cliente_info = $stmt->get_result()->fetch_assoc();
$stmt->close();

if (!$cliente_info) {
    die("❌ Cliente não encontrado");
}

// Buscar informações da nova etapa
$sql_nova_etapa = "SELECT f.id as funil_id, f.nome as funil_nome 
                   FROM etapas_funis ef 
                   JOIN funis f ON ef.funil_id = f.id 
                   WHERE ef.id = ? AND f.tenant_id = ?";
$stmt = $conn->prepare($sql_nova_etapa);
$stmt->bind_param("ii", $etapa_id, $tenant_id);
$stmt->execute();
$nova_etapa_info = $stmt->get_result()->fetch_assoc();
$stmt->close();

if (!$nova_etapa_info) {
    die("❌ Nova etapa não encontrada");
}

// Dados para o verificador
$dados_teste = [
    'etapa_funil_id' => $etapa_id,
    'etapa_anterior_id' => $cliente_info['etapa_funil_id'],
    'funil_id' => $nova_etapa_info['funil_id'],
    'tenant_id' => $tenant_id,
    'cliente_id' => $cliente_id,
    'cliente_nome' => $cliente_info['Nome_Cliente'],
    'cliente_email' => $cliente_info['Email'],
    'responsavel_id' => $cliente_info['responsavel']
];

echo "<h2>🧪 Resultado do Teste Manual</h2>";
echo "<pre>";
echo "Cliente: {$cliente_info['Nome_Cliente']} (ID: {$cliente_info['id']})\n";
echo "Etapa anterior: {$cliente_info['etapa_funil_id']}\n";
echo "Nova etapa: $etapa_id\n";
echo "Funil: {$nova_etapa_info['funil_nome']}\n";
echo "Dados enviados: " . json_encode($dados_teste, JSON_PRETTY_PRINT) . "\n\n";
echo "</pre>";

// Executar verificação
$resultado = criarAtividadesPorFluxo($conn, 'cliente_etapa_alterada', $cliente_id, $dados_teste);

echo "<h3>" . ($resultado > 0 ? "✅ SUCESSO" : "❌ FALHA") . "</h3>";
echo "<p>Atividades criadas: <strong>$resultado</strong></p>";

if ($resultado > 0) {
    echo "<p>🎉 O sistema funcionou! Foram criadas $resultado atividades automaticamente.</p>";
} else {
    echo "<p>😞 Nenhuma atividade foi criada. Verifique os logs do servidor para detalhes.</p>";
    echo "<p>Problemas comuns:</p>";
    echo "<ul>";
    echo "<li>Fluxo inativo ou não encontrado</li>";
    echo "<li>ID da etapa não corresponde ao configurado no fluxo</li>";
    echo "<li>Condições do fluxo mal formatadas</li>";
    echo "<li>Não há ações configuradas no fluxo</li>";
    echo "</ul>";
}

echo '<br><a href="diagnostico_fluxos.php">↩️ Voltar ao diagnóstico</a>';

$conn->close();
?>