<?php
// teste_insercao_simples.php
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<h2>🔍 Teste de Inserção Simples</h2>";

// Dados de teste (iguais aos que a API usa)
$tenant_id = 17;
$usuario_id = 100;
$cliente_id = null;
$numero_origem = '+5548998298300';
$numero_destino = '+5511888888888';
$duracao = 45;
$status = 'realizada';
$call_id = null;
$custo = number_format(($duracao / 60) * 0.10, 4, '.', '');

echo "<h3>Dados para inserir:</h3>";
echo "<pre>";
echo "tenant_id: $tenant_id\n";
echo "usuario_id: $usuario_id\n";
echo "cliente_id: " . ($cliente_id ?? 'NULL') . "\n";
echo "numero_origem: $numero_origem\n";
echo "numero_destino: $numero_destino\n";
echo "duracao: $duracao\n";
echo "status: $status\n";
echo "call_id: " . ($call_id ?? 'NULL') . "\n";
echo "custo: $custo\n";
echo "</pre>";

// Conectar ao banco
require_once 'conexao.php';

if (!$conn || $conn->connect_error) {
    die("❌ Erro de conexão: " . $conn->connect_error);
}
echo "✅ Conectado ao banco<br>";

// Inserir chamada
$sql = "
    INSERT INTO chamadas_telefonicas 
    (tenant_id, usuario_id, cliente_id, numero_origem, numero_destino, 
     duracao, status, call_id_zenvia, custo, data_hora_inicio)
    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW())
";

$stmt = $conn->prepare($sql);
if (!$stmt) {
    die("❌ Erro no prepare: " . $conn->error);
}

// Tratar cliente_id NULL
$cliente_id_db = $cliente_id ?? 0;

$stmt->bind_param("iiississs", 
    $tenant_id,
    $usuario_id,
    $cliente_id_db,
    $numero_origem,
    $numero_destino,
    $duracao,
    $status,
    $call_id,
    $custo
);

if ($stmt->execute()) {
    $chamada_id = $stmt->insert_id;
    echo "✅ Chamada inserida! ID: $chamada_id<br>";
    
    // Se cliente_id era NULL, atualizar
    if ($cliente_id === null) {
        $update = $conn->prepare("UPDATE chamadas_telefonicas SET cliente_id = NULL WHERE id = ?");
        $update->bind_param("i", $chamada_id);
        $update->execute();
        $update->close();
        echo "✅ cliente_id atualizado para NULL<br>";
    }
    
    // Atualizar data_hora_fim
    if ($duracao > 0) {
        $update = $conn->prepare("UPDATE chamadas_telefonicas SET data_hora_fim = DATE_ADD(data_hora_inicio, INTERVAL ? SECOND) WHERE id = ?");
        $update->bind_param("ii", $duracao, $chamada_id);
        $update->execute();
        $update->close();
        echo "✅ data_hora_fim atualizada<br>";
    }
    
} else {
    echo "❌ Erro na inserção: " . $stmt->error . "<br>";
}

$stmt->close();

// Mostrar a chamada inserida
$result = $conn->query("SELECT * FROM chamadas_telefonicas WHERE id = $chamada_id");
if ($result && $row = $result->fetch_assoc()) {
    echo "<h3>Registro inserido:</h3>";
    echo "<pre>" . print_r($row, true) . "</pre>";
}

$conn->close();
?>