From 9564f80f10193b1c69d90b57613f890cabe395ab Mon Sep 17 00:00:00 2001 From: Matheo Bonucia Date: Fri, 16 Aug 2024 21:52:19 +0000 Subject: [PATCH] =?UTF-8?q?mudan=C3=A7a=20no=20m=C3=A9todo=20de=20implemen?= =?UTF-8?q?ta=C3=A7=C3=A3o=20dos=20grupos=20de=20captura,=20agora=20ser?= =?UTF-8?q?=C3=A1=20feito=20atrav=C3=A9s=20de=20grupos=20nomeados,=20sem?= =?UTF-8?q?=20limita=C3=A7=C3=A3o=20de=2064=20grupos.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/CadGruposAtendimento.php | 115 +++++++++++----------- admin/GruposAtendimento.php | 155 ++++++++++++++---------------- admin/funcoes.php | 26 ++--- projeto/base/sql/versao-1.9.0.sql | 12 ++- 4 files changed, 155 insertions(+), 153 deletions(-) diff --git a/admin/CadGruposAtendimento.php b/admin/CadGruposAtendimento.php index 98828981..2e7804ee 100644 --- a/admin/CadGruposAtendimento.php +++ b/admin/CadGruposAtendimento.php @@ -91,6 +91,7 @@ $acao = $_GET["acao"]; $acao2 = $_GET["acao2"]; $org_id = $_SESSION['SSEmpresaPadrao']; + $id = $_GET["id"] ?? 0; /* * Parametros necessarios para manter a paginacao. */ @@ -99,24 +100,22 @@ if ($acao2 == "salva") { $id = $_POST["id"] ?? 0; $nome = RemoveAcentos($_POST["nome"], true); - $numero = 0; if ($acao == "edita") { $query = "select nome from pbx_grupos_atendimento where nome='$nome' and id <> $id and org_id = $org_id"; } else { $query = "select nome from pbx_grupos_atendimento where nome='$nome' and org_id = $org_id"; - $numero = GetIdGrupoAtendimento($dbcon); } $msg = ''; $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result); $existe = trim($dados['nome']); + $nome_formatado = str_replace(' ', '', $nome); + $nome_formatado = strtolower($nome_formatado); + if ($existe != '') { $msg = "JÁ EXISTE UM GRUPO COM O NOME $existe"; } - if ($numero > 63) { - $msg = "É PERMITIDO CADASTRAR APENAS 63 GRUPOS"; - } if (!empty($msg)) { echo ""; } else { if ($acao == "inseri") { - $query = "INSERT INTO pbx_grupos_atendimento(id,nome,org_id) VALUES ('$numero','$nome', $org_id)"; - pg_query($dbcon, $query); - $id_ult = $numero; + pg_query($dbcon, "begin"); + $try_query = "INSERT INTO pbx_grupos_atendimento(nome, org_id) VALUES ('$nome', $org_id) RETURNING id"; + $success_query = pg_query($dbcon, $try_query); + + if (!$success_query) { + pg_query($dbcon, 'rollback'); + return false; + } + + $retorno = pg_fetch_assoc($success_query); + $id_ult = $retorno['id']; + + $update_query = "UPDATE pbx_grupos_atendimento SET nome_asterisk = '$org_id$nome_formatado' WHERE org_id = $org_id AND id = $id_ult"; + $success_query = pg_query($dbcon, $update_query); + + if (!$success_query) { + pg_query($dbcon, 'rollback'); + return false; + } + + pg_query($dbcon, "commit"); } if ($acao == "edita") { - $ramaisExistentes = array(); + pg_query($dbcon, "begin"); $query = "select ramal from pbx_grupos_atendimento_ramais where id_grupo = $id and org_id=$org_id"; $result = pg_query($dbcon, $query); - while ($row = pg_fetch_row($result)) - $ramaisExistentes[] = $row[0]; + + if (!$result) { + pg_query($dbcon, 'rollback'); + return false; + } $query = "UPDATE pbx_grupos_atendimento SET nome='$nome' WHERE id=$id AND org_id = $org_id"; - pg_query($dbcon, $query); + $result_update = pg_query($dbcon, $query); - $query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id=$org_id"; - pg_query($dbcon, $query); + if (!$result_update) { + pg_query($dbcon, 'rollback'); + return false; + } + + $query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id = $org_id"; + $result_delete = pg_query($dbcon, $query); + + if (!$result_delete) { + pg_query($dbcon, 'rollback'); + return false; + } + pg_query($dbcon, "commit"); } $ramais = $_POST["ramais"]; for ($i = 0; $i < count($ramais); $i++) { if ($acao == "edita") { - $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramais[$i]', $org_id)"; + $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id, nome_asterisk) values ($id,'$ramais[$i]', $org_id, '$org_id$nome_formatado')"; } else { - $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramais[$i]', $org_id)"; + $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id, nome_asterisk) values ($id_ult,'$ramais[$i]', $org_id, '$org_id$nome_formatado')"; } pg_query($dbcon, $query); } @@ -160,7 +191,6 @@ gera_arquivos($dbcon, 'IAX_PBX'); //gera arquivos e executa o reload dos dados no asterisk // GeraDahdi($dbcon, 1); GeraKhomp($dbcon, 1); - gera_arquivos($dbcon, 'DIGIVOICE'); echo "