Browse Source

Colocar duas colunas no numero_asterisk e nome_asterisk. Esses campos ficam a referência para o o asterisk e as informações. O processo de mostrar no pabx não precisará fazer manipulação de string o que pode ocasionar erros ou bugs com nomes

1.9
bruno 3 months ago
parent
commit
67a07b0d15
  1. 62
      admin/cadQgrupos.php
  2. 2
      admin/popula.php
  3. 2
      admin/queues.php
  4. 9
      projeto/base/sql/versao-1.9.0.sql

62
admin/cadQgrupos.php

@ -158,7 +158,7 @@
$pesquisaLiberacao = $_POST["pesquisa_liberacao"]; $pesquisaLiberacao = $_POST["pesquisa_liberacao"];
$ativaFila = isset($_POST['ativaFila']) ? 'A' : 'I'; $ativaFila = isset($_POST['ativaFila']) ? 'A' : 'I';
$disponivelfila = $_POST['disponivelfila']; $disponivelfila = $_POST['disponivelfila'];
$nome = GravaNomeOrganizacao(LimpaString($_POST["nome"], true)); $nome = LimpaString($_POST["nome"], true);
$musicclass = trim($_POST["musicclass"]); $musicclass = trim($_POST["musicclass"]);
$strategy = trim($_POST["strategy"]); $strategy = trim($_POST["strategy"]);
$servicelevel = empty($_POST["servicelevel"]) || !is_numeric(trim($_POST["servicelevel"])) ? '0' : trim($_POST["servicelevel"]); $servicelevel = empty($_POST["servicelevel"]) || !is_numeric(trim($_POST["servicelevel"])) ? '0' : trim($_POST["servicelevel"]);
@ -182,7 +182,7 @@
$reportholdtime = trim($_POST["reportholdtime"]); $reportholdtime = trim($_POST["reportholdtime"]);
$timeoutrestart = 'no'; // trim($_POST["timeoutrestart"]); $timeoutrestart = 'no'; // trim($_POST["timeoutrestart"]);
$setinterfacevar = 'yes'; //trim($_POST["setinterfacevar"]); $setinterfacevar = 'yes'; //trim($_POST["setinterfacevar"]);
$numero = trim($_POST["numero"]); $numero = intval(trim($_POST["numero"]));
$timeout2 = trim($_POST["timeout2"]); $timeout2 = trim($_POST["timeout2"]);
$m_espera = trim($_POST["m_espera"]); $m_espera = trim($_POST["m_espera"]);
$som_ura = !$_POST["som_ura"] ? '' : 'customizados/' . trim($_POST["som_ura"]); $som_ura = !$_POST["som_ura"] ? '' : 'customizados/' . trim($_POST["som_ura"]);
@ -197,13 +197,14 @@
$exige_classificacao = $_POST["exige_classificacao"]; $exige_classificacao = $_POST["exige_classificacao"];
$justificativa_pausa = $_POST["justificativa_pausa"]; $justificativa_pausa = $_POST["justificativa_pausa"];
$retornar_abandonadas = isset($_POST["retornar_abandonadas"]) ? $_POST["retornar_abandonadas"] : 0; $retornar_abandonadas = isset($_POST["retornar_abandonadas"]) ? $_POST["retornar_abandonadas"] : 0;
$nome_asterisk = GravaNomeOrganizacao($nome);
if ($acao == "inseri") { if ($acao == "inseri") {
if (strtoupper($nome) != 'TODOS') { // VERIFICA NOME DA FILA <> TODOS if (strtoupper($nome) != 'TODOS') { // VERIFICA NOME DA FILA <> TODOS
$query = "SELECT (select count(*) FROM pbx_queues_grupos WHERE nome = '$nome') as fila_exist, $query = "SELECT (select count(*) FROM pbx_queues_grupos WHERE nome = '$nome' and org_id = $org_id) as fila_exist,
(select count(*) FROM pbx_queues_grupos WHERE numero = '$numero' and status = 'A') + (select count(*) FROM pbx_queues_grupos WHERE numero = '$numero' and status = 'A' and org_id = $org_id) +
(select count(*) FROM pbx_ramais WHERE nome = '$numero') as numero_exist"; (select count(*) FROM pbx_ramais WHERE nome = '$numero' and org_id = $org_id) as numero_exist";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
$row = pg_fetch_row($result); $row = pg_fetch_row($result);
@ -214,14 +215,14 @@
maxlen, joinempty, eventwhencalled, eventmemberstatus, ringinuse, maxlen, joinempty, eventwhencalled, eventmemberstatus, ringinuse,
periodic_announce_frequency,wrapuptime,autofill,autopause,\"announce-frequency\",\"announce-holdtime\",\"announce-round-seconds\",\"monitor-format\",\"monitor-type\",reportholdtime,timeoutrestart periodic_announce_frequency,wrapuptime,autofill,autopause,\"announce-frequency\",\"announce-holdtime\",\"announce-round-seconds\",\"monitor-format\",\"monitor-type\",reportholdtime,timeoutrestart
,numero,timeout2,m_espera,opcao,acao,setinterfacevar,anuncio, id_transbordo, max_agente_pausa, tempo_ring, exige_classificacao, ,numero,timeout2,m_espera,opcao,acao,setinterfacevar,anuncio, id_transbordo, max_agente_pausa, tempo_ring, exige_classificacao,
justificativa_pausa, context, retornar_abandonadas,status $dataClass,modo_atendimento,id_pesquisa_liberacao, disponivelfila, org_id) justificativa_pausa, context, retornar_abandonadas,status $dataClass,modo_atendimento,id_pesquisa_liberacao, disponivelfila, org_id, numero_asterisk, nome_asterisk)
VALUES ('$nome', '$musicclass', '$strategy', $servicelevel, $timeout, $retry, VALUES ('$nome', '$musicclass', '$strategy', $servicelevel, $timeout, $retry,
$maxlen, '$joinempty', '$eventwhencalled', '$eventmemberstatus', '$ringinuse', $maxlen, '$joinempty', '$eventwhencalled', '$eventmemberstatus', '$ringinuse',
$periodic_announce_frequency, $periodic_announce_frequency,
'$wrapuptime','$autofill','$autopause','$announce_frequency','$announce_holdtime','$announce_round_seconds','$monitor_format', '$wrapuptime','$autofill','$autopause','$announce_frequency','$announce_holdtime','$announce_round_seconds','$monitor_format',
'$monitor_type','$reportholdtime','$timeoutrestart','$numero','$timeout2','$m_espera','$opcao','$acao_opcao','$setinterfacevar', '$monitor_type','$reportholdtime','$timeoutrestart','$numero','$timeout2','$m_espera','$opcao','$acao_opcao','$setinterfacevar',
'$som_ura', $idTransbordo, $max_agente_pausa, $tempoRing, $exige_classificacao, $justificativa_pausa, '$context', '$som_ura', $idTransbordo, $max_agente_pausa, $tempoRing, $exige_classificacao, $justificativa_pausa, '$context',
$retornar_abandonadas,'$ativaFila' $dateClass,'$modoAtendimento',$pesquisaLiberacao, '$disponivelfila', $org_id)"; $retornar_abandonadas,'$ativaFila' $dateClass,'$modoAtendimento',$pesquisaLiberacao, '$disponivelfila', $org_id, '$org_id$numero', '$nome_asterisk')";
pg_query($dbcon, $query); pg_query($dbcon, $query);
$query2 = "SELECT id FROM pbx_queues_grupos WHERE org_id = {$org_id} ORDER BY id DESC LIMIT 1"; $query2 = "SELECT id FROM pbx_queues_grupos WHERE org_id = {$org_id} ORDER BY id DESC LIMIT 1";
@ -248,8 +249,8 @@
} }
if ($acao == "edita") { if ($acao == "edita") {
$query = "SELECT (select count(*) from pbx_queues_grupos where numero = '$numero' and status = 'A' and id <> $id) + $query = "SELECT (select count(*) from pbx_queues_grupos where numero = '$numero' and status = 'A' and id <> $id and org_id = $org_id) +
(select count(*) from pbx_ramais where nome = '$numero') as numero_exist"; (select count(*) from pbx_ramais where nome = '$numero' and org_id = $org_id) as numero_exist";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
$row = pg_fetch_row($result); $row = pg_fetch_row($result);
@ -257,15 +258,20 @@
GetDataClassifica($exige_classificacao, 1); GetDataClassifica($exige_classificacao, 1);
$query = "UPDATE pbx_queues_grupos $query = "UPDATE pbx_queues_grupos
SET musicclass='$musicclass', strategy='$strategy', servicelevel='$servicelevel', timeout='$timeout', retry='$retry', SET musicclass='$musicclass', strategy='$strategy', servicelevel='$servicelevel', timeout='$timeout', retry='$retry',
maxlen='$maxlen', joinempty='$joinempty', eventwhencalled='$eventwhencalled', eventmemberstatus='$eventmemberstatus', ringinuse='$ringinuse', maxlen='$maxlen', joinempty='$joinempty', eventwhencalled='$eventwhencalled', eventmemberstatus='$eventmemberstatus', ringinuse='$ringinuse',
periodic_announce_frequency='$periodic_announce_frequency',wrapuptime='$wrapuptime',autofill='$autofill',autopause='$autopause',\"announce-frequency\"='$announce_frequency',\"announce-holdtime\"='$announce_holdtime',\"announce-round-seconds\"='$announce_round_seconds',\"monitor-format\"='$monitor_format', periodic_announce_frequency='$periodic_announce_frequency',wrapuptime='$wrapuptime',autofill='$autofill',autopause='$autopause',
\"monitor-type\" ='$monitor_type',reportholdtime='$reportholdtime',timeoutrestart='$timeoutrestart',numero='$numero',timeout2='$timeout2',m_espera='$m_espera',opcao='$opcao',acao='$acao_opcao',setinterfacevar='$setinterfacevar', anuncio='$som_ura', id_transbordo = '$idTransbordo', max_agente_pausa = '$max_agente_pausa', \"announce-frequency\"='$announce_frequency',\"announce-holdtime\"='$announce_holdtime',\"announce-round-seconds\"='$announce_round_seconds',
tempo_ring = '$tempoRing', exige_classificacao = '$exige_classificacao', justificativa_pausa = '$justificativa_pausa', context = '$context', retornar_abandonadas = '$retornar_abandonadas', modo_atendimento = '$modoAtendimento',id_pesquisa_liberacao = $pesquisaLiberacao,disponivelfila = '$disponivelfila',status = '$ativaFila' $dataClass \"monitor-format\"='$monitor_format',\"monitor-type\" ='$monitor_type',reportholdtime='$reportholdtime',timeoutrestart='$timeoutrestart',
WHERE id=$id"; numero='$numero', numero_asterisk='$org_id$numero', timeout2='$timeout2',m_espera='$m_espera',opcao='$opcao',acao='$acao_opcao',
setinterfacevar='$setinterfacevar', anuncio='$som_ura', id_transbordo = '$idTransbordo', max_agente_pausa = '$max_agente_pausa',
tempo_ring = '$tempoRing', exige_classificacao = '$exige_classificacao', justificativa_pausa = '$justificativa_pausa', context = '$context',
retornar_abandonadas = '$retornar_abandonadas', modo_atendimento = '$modoAtendimento',id_pesquisa_liberacao = $pesquisaLiberacao,
disponivelfila = '$disponivelfila',status = '$ativaFila' $dataClass
WHERE id=$id and org_id = $org_id";
pg_query($dbcon, $query); pg_query($dbcon, $query);
$query = "DELETE FROM pbx_queues_membros WHERE id_fila=$id"; $query = "DELETE FROM pbx_queues_membros WHERE id_fila=$id and org_id = $org_id";
pg_query($dbcon, $query); pg_query($dbcon, $query);
} else { } else {
$filaExiste = 1; $filaExiste = 1;
@ -284,7 +290,7 @@
$paramRamal = explode('/', $ramalSel); $paramRamal = explode('/', $ramalSel);
$num = ($paramRamal[0] == "KHOMP") ? $paramRamal[2] : $paramRamal[1]; $num = ($paramRamal[0] == "KHOMP") ? $paramRamal[2] : $paramRamal[1];
$a = 0; $a = 0;
$sql = "SELECT count(*) FROM pbx_supervisor_agentes WHERE ramal = '$num'"; $sql = "SELECT count(*) FROM pbx_supervisor_agentes WHERE ramal = '$num' and org_id = $org_id";
$result = pg_query($dbcon, $sql); $result = pg_query($dbcon, $sql);
$qtde = pg_fetch_row($result); $qtde = pg_fetch_row($result);
if ($qtde[0] >= 1) { if ($qtde[0] >= 1) {
@ -331,10 +337,10 @@
if ($acao == "edita") { if ($acao == "edita") {
$id = !$_GET["id"] ? 0 : $_GET["id"]; $id = !$_GET["id"] ? 0 : $_GET["id"];
$query = "SELECT * FROM pbx_queues_grupos where id=$id"; $query = "SELECT * FROM pbx_queues_grupos where id=$id and org_id = $org_id";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
} else { } else {
$query = "SELECT * FROM pbx_queues_grupos where id is null"; $query = "SELECT * FROM pbx_queues_grupos where id is null and org_id = $org_id";
$ativaFila = 'A'; $ativaFila = 'A';
$disponivelfila = GetDisponivelFila(); $disponivelfila = GetDisponivelFila();
$retornar_abandonadas = 0; $retornar_abandonadas = 0;
@ -369,7 +375,7 @@
$monitor_format = trim($dados['monitor-format']); $monitor_format = trim($dados['monitor-format']);
$context = trim($dados['context']); $context = trim($dados['context']);
$reportholdtime = trim($dados['reportholdtime']); $reportholdtime = trim($dados['reportholdtime']);
$numero = RemoveOrganizacaoStr(trim($dados['numero'])); $numero = intval(trim($dados['numero']));
$timeout2 = trim($dados['timeout2']); $timeout2 = trim($dados['timeout2']);
$timeout = trim($dados['timeout2']); $timeout = trim($dados['timeout2']);
$m_espera = trim($dados['m_espera']); $m_espera = trim($dados['m_espera']);
@ -976,11 +982,11 @@
$query2 = " $query2 = "
SELECT ramais.* from SELECT ramais.* from
(select id,nome,dispositivo from pbx_ramais where org_id = {$org_id}) ramais (select id,nome,dispositivo from pbx_ramais where org_id = {$org_id}) ramais
where dispositivo not in (select dispositivo from pbx_queues_membros where id_fila=$id) where dispositivo not in (select dispositivo from pbx_queues_membros where id_fila=$id and org_id = $org_id)
and not exists(select * from pbx_supervisor_agentes where ramal = ramais.nome ) and not exists(select * from pbx_supervisor_agentes where ramal = ramais.nome and org_id = $org_id)
order by nome asc"; order by nome asc";
} else { } else {
$query2 = "select id,nome,dispositivo from pbx_ramais a where not exists(select * from pbx_supervisor_agentes where ramal = a.nome ) and org_id = {$org_id} order by nome asc"; $query2 = "select id,nome,dispositivo from pbx_ramais a where not exists(select * from pbx_supervisor_agentes where ramal = a.nome and org_id = $org_id) and org_id = {$org_id} order by nome asc";
} }
$result2 = pg_query($dbcon, $query2); $result2 = pg_query($dbcon, $query2);
@ -1028,11 +1034,11 @@
<?php <?php
if ($acao == 'edita') { if ($acao == 'edita') {
$query3 = "SELECT a.*,ramais.nome from pbx_queues_membros a, $query3 = "SELECT a.*,ramais.nome from pbx_queues_membros a,
(select id,nome,dispositivo from pbx_ramais) ramais (select id,nome,dispositivo from pbx_ramais where org_id=$org_id) ramais
where a.dispositivo = ramais.dispositivo where a.dispositivo = ramais.dispositivo
and a.id_fila = $id and org_id = {$org_id}"; and a.id_fila = $id and a.org_id = {$org_id}";
} else { } else {
$query3 = "SELECT * from pbx_iax_pbx where id = null"; $query3 = "SELECT * from pbx_iax_pbx where id = null and org_id = $org_id";
} }
$result3 = pg_query($dbcon, $query3); $result3 = pg_query($dbcon, $query3);
@ -1130,8 +1136,8 @@ function GetOptPesquisaSatisfacao($dbcon, $dac, $idPl = null)
$org_id = GetOrganizacao(); $org_id = GetOrganizacao();
$query = "SELECT a.pl_id,a.pl_descricao,c.id_pesquisa_liberacao FROM pbx_pesquisa_liberacao a $query = "SELECT a.pl_id,a.pl_descricao,c.id_pesquisa_liberacao FROM pbx_pesquisa_liberacao a
INNER JOIN pbx_pesquisa_liberacao_dacs b ON a.pl_id = b.pl_id INNER JOIN pbx_pesquisa_liberacao_dacs b ON a.pl_id = b.pl_id and a.org_id = b.org_id
INNER JOIN pbx_queues_grupos c ON c.id = b.id_dac INNER JOIN pbx_queues_grupos c ON c.id = b.id_dac and c.org_id = b.org_id
WHERE a.pl_ativa = 1 WHERE a.pl_ativa = 1
AND c.id = '$dac' AND c.id = '$dac'
AND a.org_id = $org_id AND a.org_id = $org_id

2
admin/popula.php

@ -89,7 +89,7 @@ function _GetAcoes($dbcon, $force, $id, $tipo, $tipo2, $id_ura, $proto = PROTO_X
$query2 = "SELECT * FROM pbx_queues_grupos where status='A' and org_id = {$org_id} order by nome asc"; $query2 = "SELECT * FROM pbx_queues_grupos where status='A' and org_id = {$org_id} order by nome asc";
$result2 = pg_query($dbcon, $query2); $result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) { while ($dados2 = pg_fetch_array($result2)) {
$fila = GravaNomeOrganizacao($dados2['nome']); $fila = $dados2['nome'];
//$dadosArq[$idxArq][0] = GetOrganizacao() . $dados2['numero']; //$dadosArq[$idxArq][0] = GetOrganizacao() . $dados2['numero'];
$dadosArq[$idxArq][0] = $dados2['numero']; $dadosArq[$idxArq][0] = $dados2['numero'];
$dadosArq[$idxArq][1] = $fila; $dadosArq[$idxArq][1] = $fila;

2
admin/queues.php

@ -168,7 +168,7 @@ if ($acao == "deleta") {
<td width="50" align="center"><?php echo $dados['id']; ?></td> <td width="50" align="center"><?php echo $dados['id']; ?></td>
<td> <td>
<a href="#" style="color: #000" onclick="abre_janela('780', '560', 'index.php?idProg=11002&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?= $params; ?>');"> <a href="#" style="color: #000" onclick="abre_janela('780', '560', 'index.php?idProg=11002&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?= $params; ?>');">
<?= GravaNomeOrganizacao($dados['nome']); ?> <?= $dados['nome']; ?>
</a> </a>
</td> </td>
<td width="120"><?php echo $dados['numero']; ?></td> <td width="120"><?php echo $dados['numero']; ?></td>

9
projeto/base/sql/versao-1.9.0.sql

@ -163,6 +163,7 @@ ALTER TABLE pbx_parametros DROP COLUMN prm_media_simultaneo;
ALTER TABLE pbx_parametros ADD COLUMN prm_url_meet VARCHAR(250); ALTER TABLE pbx_parametros ADD COLUMN prm_url_meet VARCHAR(250);
-- Alteracao da view pbx_ramais, foi acrescentada a bina e removido os ramais pbx. -- Alteracao da view pbx_ramais, foi acrescentada a bina e removido os ramais pbx.
CREATE OR REPLACE VIEW public.pbx_ramais CREATE OR REPLACE VIEW public.pbx_ramais
@ -227,4 +228,10 @@ update pbx_usuarios set check_vl = md5(email);
create unique index "idxPbxGrupoNome" on pbx_grupo(gp_nome, org_id); create unique index "idxPbxGrupoNome" on pbx_grupo(gp_nome, org_id);
ALTER TABLE pbx_sip_ramais ALTER TABLE pbx_sip_ramais
ADD COLUMN registro varchar(100); ADD COLUMN registro varchar(100);
ALTER TABLE pbx_queues_grupos
ADD COLUMN numero_asterisk varchar(25)
ALTER TABLE pbx_queues_grupos
ADD COLUMN nome_asterisk varchar(105)

Loading…
Cancel
Save