<?php
include 'verifica_login.php';
header('Content-Type: application/json');
include 'conexao.php';
$conn = conectar_banco();

// Ensure table exists (optional safety)
$conn->query("CREATE TABLE IF NOT EXISTS contatos_empresa (
  idcontatos_empresa INT NOT NULL AUTO_INCREMENT,
  id_empresa INT NOT NULL,
  depto VARCHAR(50) NOT NULL,
  nome VARCHAR(100) NOT NULL,
  sobrenome VARCHAR(100) NOT NULL,
  cargo VARCHAR(80) NOT NULL,
  sexo VARCHAR(1) NOT NULL,
  email VARCHAR(120) NOT NULL,
  ddd VARCHAR(3) NOT NULL,
  tel VARCHAR(30) NOT NULL,
  celular VARCHAR(30) NOT NULL,
  ramal VARCHAR(10) NOT NULL,
  linkedin VARCHAR(150) NOT NULL,
  status_contato VARCHAR(60) NOT NULL,
  PRIMARY KEY (idcontatos_empresa)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci");

$action = $_GET['action'] ?? $_POST['action'] ?? '';

function json_error($msg){ echo json_encode(['success'=>false,'message'=>$msg]); exit; }
function json_ok($data=null){ echo json_encode(['success'=>true,'data'=>$data]); exit; }

if($action === 'list'){
    $id_empresa = isset($_GET['id_empresa']) ? (int)$_GET['id_empresa'] : 0;
    if(!$id_empresa) json_error('ID empresa inválido');
    $stmt = $conn->prepare("
        SELECT ce.*, cs.contato_status as status_contato_nome 
        FROM contatos_empresa ce 
        LEFT JOIN contato_status cs ON ce.idcontato_status = cs.idcontato_status 
        WHERE ce.id_empresa = ? 
        ORDER BY ce.nome ASC
    ");
    $stmt->bind_param('i', $id_empresa);
    $stmt->execute();
    $res = $stmt->get_result();
    $rows = [];
    while($r = $res->fetch_assoc()) $rows[] = $r;
    $stmt->close();
    json_ok($rows);
} elseif($action === 'get'){
    $idce = isset($_GET['idce']) ? (int)$_GET['idce'] : 0;
    if(!$idce) json_error('ID contato inválido');
    $stmt = $conn->prepare("
        SELECT ce.*, cs.contato_status as status_contato_nome 
        FROM contatos_empresa ce 
        LEFT JOIN contato_status cs ON ce.idcontato_status = cs.idcontato_status 
        WHERE ce.idcontatos_empresa = ?
    ");
    $stmt->bind_param('i', $idce);
    $stmt->execute();
    $res = $stmt->get_result();
    $row = $res->fetch_assoc();
    $stmt->close();
    if(!$row) json_error('Contato não encontrado');
    json_ok($row);
} elseif($action === 'save'){
    $idce = isset($_POST['idcontatos_empresa']) && $_POST['idcontatos_empresa'] !== '' ? (int)$_POST['idcontatos_empresa'] : 0;
    $id_empresa = isset($_POST['id_empresa']) ? (int)$_POST['id_empresa'] : 0;
    if(!$id_empresa) json_error('Empresa inválida');

    $depto = $_POST['depto'] ?? '';
    $nome = $_POST['nome'] ?? '';
    $sobrenome = $_POST['sobrenome'] ?? '';
    $cargo = $_POST['cargo'] ?? '';
    $sexo = $_POST['sexo'] ?? '';
    $email = $_POST['email'] ?? '';
    $ddd = $_POST['ddd'] ?? '';
    $tel = $_POST['tel'] ?? '';
    $celular = $_POST['celular'] ?? '';
    $ramal = $_POST['ramal'] ?? '';
    $linkedin = $_POST['linkedin'] ?? '';
    $idcontato_status = isset($_POST['idcontato_status']) && $_POST['idcontato_status'] !== '' ? (int)$_POST['idcontato_status'] : null;
    
    // Novos campos
    $area = $_POST['area'] ?? '';
    $entrevistado = $_POST['entrevistado'] ?? '';
    $endereco_mesmo = $_POST['endereco_mesmo'] ?? '';
    $endereco = $_POST['endereco'] ?? '';
    $numero = $_POST['numero'] ?? '';
    $complemento = $_POST['complemento'] ?? '';
    $bairro = $_POST['bairro'] ?? '';
    $cidade = $_POST['cidade'] ?? '';
    $uf = $_POST['uf'] ?? '';
    $cep = $_POST['cep'] ?? '';
    $telefone1 = $_POST['telefone1'] ?? $tel;
    $telefone2 = $_POST['telefone2'] ?? '';
    $observacoes = $_POST['observacoes'] ?? '';

    if($idce){
        $sql = "UPDATE contatos_empresa SET id_empresa=?, depto=?, nome=?, sobrenome=?, cargo=?, sexo=?, email=?, ddd=?, tel=?, celular=?, ramal=?, linkedin=?, idcontato_status=?, area=?, entrevistado=?, endereco_mesmo=?, endereco=?, numero=?, complemento=?, bairro=?, cidade=?, uf=?, cep=?, telefone1=?, telefone2=?, observacoes=? WHERE idcontatos_empresa=?";
        $stmt = $conn->prepare($sql);
        $stmt->bind_param('issssssssssiisssssssssssssi', $id_empresa, $depto, $nome, $sobrenome, $cargo, $sexo, $email, $ddd, $tel, $celular, $ramal, $linkedin, $idcontato_status, $area, $entrevistado, $endereco_mesmo, $endereco, $numero, $complemento, $bairro, $cidade, $uf, $cep, $telefone1, $telefone2, $observacoes, $idce);
        $ok = $stmt->execute();
        $stmt->close();
        if(!$ok) json_error('Falha ao atualizar');
        json_ok();
    } else {
        $sql = "INSERT INTO contatos_empresa (id_empresa, depto, nome, sobrenome, cargo, sexo, email, ddd, tel, celular, ramal, linkedin, idcontato_status, area, entrevistado, endereco_mesmo, endereco, numero, complemento, bairro, cidade, uf, cep, telefone1, telefone2, observacoes)
                VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        $stmt = $conn->prepare($sql);
        $stmt->bind_param('issssssssssiissssssssssssss', $id_empresa, $depto, $nome, $sobrenome, $cargo, $sexo, $email, $ddd, $tel, $celular, $ramal, $linkedin, $idcontato_status, $area, $entrevistado, $endereco_mesmo, $endereco, $numero, $complemento, $bairro, $cidade, $uf, $cep, $telefone1, $telefone2, $observacoes);
        $ok = $stmt->execute();
        $stmt->close();
        if(!$ok) json_error('Falha ao inserir');
        json_ok();
    }
} elseif($action === 'delete'){
    $idce = isset($_POST['idcontatos_empresa']) ? (int)$_POST['idcontatos_empresa'] : 0;
    if(!$idce) json_error('ID contato inválido');
    $stmt = $conn->prepare("DELETE FROM contatos_empresa WHERE idcontatos_empresa = ?");
    $stmt->bind_param('i', $idce);
    $ok = $stmt->execute();
    $stmt->close();
    if(!$ok) json_error('Falha ao excluir');
    json_ok();
} else {
    json_error('Ação inválida');
}
