From 9f9a161bf506fbcebbb4fe2109e294e79fecb660 Mon Sep 17 00:00:00 2001 From: Claudio Zimmermann Junior Date: Wed, 3 Jul 2024 15:59:17 -0400 Subject: [PATCH] implementei filtro e coluna de entrada no relatorio de chamadas recebidas por agente --- .../callcenter/geral/recebidasAgente.php | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/relatorios/callcenter/geral/recebidasAgente.php b/relatorios/callcenter/geral/recebidasAgente.php index 99274329..547cfbd7 100644 --- a/relatorios/callcenter/geral/recebidasAgente.php +++ b/relatorios/callcenter/geral/recebidasAgente.php @@ -1,12 +1,12 @@ ___dac = isset($_POST['listaDacs']) ? $_POST['listaDacs'] : 0; $this->___tempoAtendimento = isset($_POST['tempoAtendimento']) ? $_POST['tempoAtendimento'] : ''; $this->___agente = isset($_POST["listaAgente"]) ? $_POST["listaAgente"] : 0; + $this->___entrada = isset($_REQUEST['entrada']) ? $_REQUEST['entrada'] : ''; } public function ___ValidaForm() @@ -39,7 +40,7 @@ class RelRecebidasAgente extends Relatorios /* * Recupera os filtros da sessão do usuário. */ - list($this->___dac, $this->___dataIni, $this->___dataFim, $this->___tipoRelatorio) = $_SESSION["SSstorageFiltros"]; + list($this->___dac, $this->___dataIni, $this->___dataFim, $this->___tipoRelatorio, $this->___entrada) = $_SESSION["SSstorageFiltros"]; if ($this->___media == MEDIA_PRINT_HTML) { $fila = $this->GetIncDac() ? 'Fila: ' . GetDacDesc($this->GetDbCon(), $this->GetIdProg() . ' ') : ''; @@ -86,6 +87,7 @@ class RelRecebidasAgente extends Relatorios $filtro .= 'Data Final '; $filtro .= 'Agente'; $filtro .= 'Duração (Segundos)'; + $filtro .= 'Entrada'; $filtro .= ' '; $filtro .= ''; @@ -99,6 +101,7 @@ class RelRecebidasAgente extends Relatorios $filtro .= ''; $filtro .= sprintf('%s', $agente); $filtro .= ""; + $filtro .= ""; $filtro .= ''; $filtro .= '%s'; $filtro .= ''; @@ -108,7 +111,7 @@ class RelRecebidasAgente extends Relatorios * Guarda os filtros passados para recuperar na emissão dos relatóios para impressão. */ - $_SESSION["SSstorageFiltros"] = array($this->___dac, $this->___dataIni, $this->___dataFim, $this->___tipoRelatorio, $this->___agente); + $_SESSION["SSstorageFiltros"] = array($this->___dac, $this->___dataIni, $this->___dataFim, $this->___tipoRelatorio, $this->___agente, $this->___entrada); return sprintf($filtro, $this->___dataIni, $this->___dataFim, $lkPrint); } @@ -119,8 +122,9 @@ class RelRecebidasAgente extends Relatorios $dataFim = FormatDtHoraBD($this->___dataFim); $agente = $this->___agente; $dac = $this->___dac; + $entrada = $this->___entrada; - $query1 = "SELECT a.calldate AS data, a.src AS origem, + $query1 = "SELECT a.calldate AS data, a.src AS origem, a.clid AS entrada, CASE WHEN(b.evento IN('COMPLETECALLER', 'COMPLETEAGENT', 'COMPLETEAGENTRAMAL', 'COMPLETECALLERRAMAL'))THEN strtoint(b.param2) ELSE CASE WHEN(b.evento = 'TRANSFER')THEN strtoint(b.param4) ELSE 0 END @@ -140,6 +144,9 @@ class RelRecebidasAgente extends Relatorios if ($agente) { $query .= "AND c.matricula = '$agente'"; } + if (!empty($entrada)) { + $query .= "AND UPPER(a.clid) LIKE UPPER('%$entrada%')"; + } $sqlTempo = $this->___tempoAtendimento && $this->___tempoAtendimento > 10 ? " AND strtoint(b.param2) >= " . $this->___tempoAtendimento : ''; @@ -278,7 +285,8 @@ class RelRecebidasAgente extends Relatorios 'Origem' => 'align="center"', 'TMA' => 'align="center"', 'Agente' => 'align="center"', - 'Status' => 'align="center"' + 'Status' => 'align="center"', + 'Entrada' => 'align="center"' ); $dadosField = array( 'data' => 'align="center"', @@ -286,20 +294,21 @@ class RelRecebidasAgente extends Relatorios 'origem' => 'align="center"', 'tmo' => 'align="center"', 'agente' => 'align="center"', - 'status' => 'align="center"' + 'status' => 'align="center"', + 'entrada' => 'align="center"' ); /* * Inicia o relatório. */ - $dataRel[] = ''; + $dataRel[] = '
'; /* * Monta a linha de cabecalio. */ $linha = ''; - $linha .= ""; + $linha .= ""; $linha .= ""; $dataRel[] = $linha; @@ -331,6 +340,7 @@ class RelRecebidasAgente extends Relatorios $somaReg++; $somaDuracao += $row['tmo']; + $row['entrada'] = explode('"', $row['entrada'])[1]; $row['status'] == 1 ? $somaAtendida++ : $somaNAtendida++; $row['origem'] = ocultarTelefone($row['origem']); $row['hora'] = date('H:i:s', strtotime($row['data'])); @@ -346,7 +356,7 @@ class RelRecebidasAgente extends Relatorios $dataRel[] = $linha; } - $linhaGeral = ''; + $linhaGeral = ''; $dataRel[] = sprintf($linhaGeral, SecondToStrTime($somaDuracao)); /* * Fecha relatorio.
Chamadas Recebidas por AgenteChamadas Recebidas por Agente
TMO: %s
TMO: %s