<?php
// limpar_duplicatas.php
session_start();
require_once dirname(__DIR__, 2) . '/conexao.php';

echo "<h1>🧹 Limpeza de Duplicatas</h1>";

$tenant_id = $_SESSION['tenant_id'] ?? 17;

// Encontrar duplicatas
$sql = "
    SELECT call_id_zenvia, COUNT(*) as total, 
           GROUP_CONCAT(id ORDER BY duracao DESC) as ids,
           GROUP_CONCAT(duracao) as duracoes
    FROM chamadas_telefonicas 
    WHERE tenant_id = ? AND call_id_zenvia IS NOT NULL
    GROUP BY call_id_zenvia 
    HAVING total > 1
";

$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $tenant_id);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
    echo "<h2>🔴 Duplicatas Encontradas</h2>";
    echo "<table border='1' cellpadding='5'>";
    echo "<tr><th>call_id</th><th>Total</th><th>IDs (maior duração primeiro)</th><th>Durações</th><th>Ação</th></tr>";
    
    while ($row = $result->fetch_assoc()) {
        $ids = explode(',', $row['ids']);
        $id_manter = $ids[0]; // Primeiro ID (maior duração)
        $ids_remover = array_slice($ids, 1); // Restante
        
        echo "<tr>";
        echo "<td>" . htmlspecialchars($row['call_id_zenvia']) . "</td>";
        echo "<td>" . $row['total'] . "</td>";
        echo "<td>" . $row['ids'] . "</td>";
        echo "<td>" . $row['duracoes'] . "</td>";
        echo "<td>";
        echo "<form method='POST' style='display:inline'>";
        echo "<input type='hidden' name='call_id' value='" . htmlspecialchars($row['call_id_zenvia']) . "'>";
        echo "<input type='hidden' name='id_manter' value='$id_manter'>";
        echo "<button type='submit' name='limpar' style='background:#dc3545; color:white; border:none; padding:5px 10px; border-radius:3px;'>";
        echo "Limpar Duplicatas</button>";
        echo "</form>";
        echo "</td>";
        echo "</tr>";
    }
    echo "</table>";
    
    // Processar limpeza
    if (isset($_POST['limpar'])) {
        $call_id = $_POST['call_id'];
        $id_manter = $_POST['id_manter'];
        
        $delete = $conn->prepare("
            DELETE FROM chamadas_telefonicas 
            WHERE call_id_zenvia = ? AND id != ? AND tenant_id = ?
        ");
        $delete->bind_param("sii", $call_id, $id_manter, $tenant_id);
        
        if ($delete->execute()) {
            echo "<p style='color:green; font-weight:bold;'>✅ " . $delete->affected_rows . " duplicatas removidas para call_id: " . htmlspecialchars($call_id) . "</p>";
        } else {
            echo "<p style='color:red;'>❌ Erro: " . $conn->error . "</p>";
        }
        $delete->close();
        
        // Recarregar a página para mostrar resultado
        echo "<script>setTimeout(() => location.reload(), 2000);</script>";
    }
    
} else {
    echo "<h2 style='color:green;'>✅ Nenhuma duplicata encontrada!</h2>";
}

// Mostrar dados atuais
echo "<h2>📊 Dados Atuais (últimos 20 registros)</h2>";
$result = $conn->query("
    SELECT id, tenant_id, numero_destino, duracao, status, call_id_zenvia, data_hora_inicio
    FROM chamadas_telefonicas 
    WHERE tenant_id = $tenant_id 
    ORDER BY data_hora_inicio DESC 
    LIMIT 20
");

echo "<table border='1' cellpadding='5'>";
echo "<tr><th>ID</th><th>tenant</th><th>Número</th><th>Duração</th><th>Status</th><th>call_id</th><th>Data</th></tr>";

while ($row = $result->fetch_assoc()) {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['tenant_id'] . "</td>";
    echo "<td>" . $row['numero_destino'] . "</td>";
    echo "<td>" . $row['duracao'] . "</td>";
    echo "<td>" . $row['status'] . "</td>";
    echo "<td>" . htmlspecialchars($row['call_id_zenvia'] ?? '-') . "</td>";
    echo "<td>" . $row['data_hora_inicio'] . "</td>";
    echo "</tr>";
}
echo "</table>";

echo "<p><a href='https://son.tvitecnologia.com.br/telefonia/' target='_blank'>⬅️ Voltar ao Webphone</a></p>";
?>