|
|
|
@ -16,21 +16,27 @@ class ServiceSupervisorPBx implements IService
|
|
|
|
|
$this->supervisorModel = new SupervisorModel; |
|
|
|
|
$agentes = $this->supervisorModel->listaAgentesDisponivel(null, false); |
|
|
|
|
foreach ($agentes as $key => $agente) { |
|
|
|
|
if ($this->validaInatividade($agente->duracao)) { |
|
|
|
|
$agentPbx = $this->validaAgentCriado($agente->matricula); |
|
|
|
|
if (!$agentPbx) { |
|
|
|
|
$this->criaRegistroSupervisor($agente); |
|
|
|
|
} else { |
|
|
|
|
$this->atualizaTabelaSupervisor($agente, $agentPbx); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
$this->supervisorModel->deleteAgent($agente->matricula); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$agentesPbx = $this->supervisorModel->findAllAgentesPBX(); |
|
|
|
|
foreach ($agentesPbx as $key => $pbx) { |
|
|
|
|
if (empty($pbx->ramal)) { |
|
|
|
|
$age = $this->supervisorModel->findAgentByMatricula($pbx->matricula); |
|
|
|
|
if (empty($age) && empty($pbx->ramal)) { |
|
|
|
|
$this->supervisorModel->deleteAgentPbx($pbx->matricula); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function atualizaTabelaSupervisor($agente, $agentePbx) |
|
|
|
|
{ |
|
|
|
@ -84,4 +90,13 @@ class ServiceSupervisorPBx implements IService
|
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function validaInatividade($dateTime) |
|
|
|
|
{ |
|
|
|
|
$timealert = strtotime($dateTime . '+40 seconds'); |
|
|
|
|
if ($timealert < strtotime(date('Y-m-d H:i:s'))) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |