Browse Source

correção supervisor

dev
Lucas Awade 10 months ago
parent
commit
5e8795862a
  1. 7
      asterisk/var_lib_asterisk/scripts/callcenter/atualizar-dacs.php
  2. 25
      include/util/funcoesSsupervisor.php
  3. 10
      supervisor.php

7
asterisk/var_lib_asterisk/scripts/callcenter/atualizar-dacs.php

@ -42,12 +42,13 @@ fclose($socket);
foreach ($colas as $key => $cola) {
$info = GetNomeOrganizacao($key);
$query = sprintf("SELECT dac FROM pbx_supervisor_dacs WHERE dac = %s", QuotedStr($info['nome']));
$result = pg_query($dbcon, $query);
$exists = pg_num_rows($result);
$nome = $info['nome'];
$org_id = $info['org_id'];
$query = sprintf("SELECT dac FROM pbx_supervisor_dacs WHERE dac = %s", QuotedStr($nome));
$result = pg_query($dbcon, $query);
$exists = pg_num_rows($result);
if ($exists) {
$query = "UPDATE pbx_supervisor_dacs set atendidas = %s, abandonadas = %s, espera = %s, tempo_espera = %s, tempo_nivel_servico = %s, percentual_nivel_servico = %s WHERE dac = %s";
$query = sprintf($query, QuotedStr($cola['Completed']), QuotedStr($cola['Abandoned']), QuotedStr($cola['Calls']), QuotedStr(($cola['Calls'] ? $cola['Holdtime'] : 0)), QuotedStr($cola['ServiceLevel']), QuotedStr($cola['ServicelevelPerf']), QuotedStr($nome));

25
include/util/funcoesSsupervisor.php

@ -83,7 +83,8 @@ define("TEMPO_DELAY_AGENTE", 3);
*/
$patLog = "/var/log/asterisk/supervisor.log";
function sCreateMemory($fileKey, $paramMalloc, $mode = SHM_ACESS_MODE_C, $perms = SHM_ACESS_PERMISSION) {
function sCreateMemory($fileKey, $paramMalloc, $mode = SHM_ACESS_MODE_C, $perms = SHM_ACESS_PERMISSION)
{
$readOnly = $mode == SHM_ACESS_MODE_R;
/*
@ -121,14 +122,16 @@ function sCreateMemory($fileKey, $paramMalloc, $mode = SHM_ACESS_MODE_C, $perms
return $shmKey;
}
function Malloc($param) {
function Malloc($param)
{
/*
* Calculates necessary memory for 100 simultaneous processes.
*/
return !count($param) ? 0 : ( $param[0] + ( $param[1] * $param[2] ) );
return !count($param) ? 0 : ($param[0] + ($param[1] * $param[2]));
}
function GetInfoControle() {
function GetInfoControle()
{
try {
/*
* Verifica se o server esta trabalhando.
@ -156,7 +159,8 @@ function GetInfoControle() {
}
}
function RetornaDadosDac($paramControle, $dacUser = array()) {
function RetornaDadosDac($paramControle, $dacUser = array())
{
try {
/*
* Verifica se o server esta trabalhando.
@ -174,13 +178,14 @@ function RetornaDadosDac($paramControle, $dacUser = array()) {
$dadosDac = ShmReadVar($shmKey, 0, $sizeControle);
if (is_array($dadosDac)) {
if (Count($dacUser)) {
if (count($dacUser)) {
$arDacs = array();
foreach ($dacUser as $dac) {
$arDacs[$dac] = $dadosDac[$dac];
}
$dadosDac = $arDacs;
} else {
$dadosDac = [];
}
return $dadosDac;
}
@ -191,7 +196,8 @@ function RetornaDadosDac($paramControle, $dacUser = array()) {
}
}
function RetornaDadosAgt($paramControle) {
function RetornaDadosAgt($paramControle)
{
try {
/*
* Verifica se o server esta trabalhando.
@ -218,7 +224,8 @@ function RetornaDadosAgt($paramControle) {
}
}
function LimpaSessaoAgente($shmkey, $pos) {
function LimpaSessaoAgente($shmkey, $pos)
{
$offSet = $pos * TAM_SEGMENTO_SESSAO_CONTROLE;
$data = str_repeat(' ', TAM_SEGMENTO_SESSAO_CONTROLE);
ShmWrite($shmkey, $data, $offSet);

10
supervisor.php

@ -321,7 +321,7 @@ function GetDadosAgt($dac)
$dacAll = strtoupper($dac) == "TODOS";
$arControle = GetInfoControle();
// print_r($arControle); exit;
/*
* Verifica o tempo de atuzlização do servidor,
* se for inferior a 10s usa o servidor do su-
@ -459,11 +459,15 @@ function GetQueryDac()
function GetDacsAcesso($idUser, $array = false)
{
global $dbcon;
$query = "SELECT DISTINCT b.nome FROM pbx_queues_grupos b
$org_id = GetOrganizacao();
$query = "SELECT DISTINCT SUBSTRING(b.nome, 1, position('@' IN b.nome) - 1) AS nome
FROM pbx_queues_grupos b
INNER JOIN pbx_fila_grupos c ON c.id = b.id
INNER JOIN pbx_grupo_usuario d ON d.gp_id = c.gp_id
INNER JOIN pbx_grupo_usuario d ON d.gp_id = c.gp_id
AND d.user_id = %s and b.status = 'A' ";
$query = sprintf($query, IsAdmin() ? 'd.user_id' : QuotedStr($idUser));
$query .= " AND b.org_id = {$org_id}";
$result = pg_query($dbcon, $query);
$linha = $array ? array() : '';

Loading…
Cancel
Save