|
|
|
@ -1,12 +1,12 @@
|
|
|
|
|
<?php |
|
|
|
|
|
|
|
|
|
include_once 'util/relatoriosBase.php'; |
|
|
|
|
|
|
|
|
|
class RelRecebidasAgente extends Relatorios |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
private $___agente; |
|
|
|
|
private $___tempoAtendimento; |
|
|
|
|
private $___entrada; |
|
|
|
|
|
|
|
|
|
public function __construct($idProg, $dbcon, $incDac) |
|
|
|
|
{ |
|
|
|
@ -14,6 +14,7 @@ class RelRecebidasAgente extends Relatorios
|
|
|
|
|
$this->___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 .= '<td>Data Final </td>'; |
|
|
|
|
$filtro .= '<td>Agente</td>'; |
|
|
|
|
$filtro .= '<td>Duração (Segundos)</td>'; |
|
|
|
|
$filtro .= '<td>Entrada</td>'; |
|
|
|
|
$filtro .= '<td align="center" valign="middle"> </td>'; |
|
|
|
|
$filtro .= '</tr>'; |
|
|
|
|
|
|
|
|
@ -99,6 +101,7 @@ class RelRecebidasAgente extends Relatorios
|
|
|
|
|
$filtro .= '<td><input name="dataFim" id="dataFim" type="text" size="15" maxlength="10" value="%s" onkeyup="formataData(this)" title="dd/mm/aaaa"></td>'; |
|
|
|
|
$filtro .= sprintf('<td>%s</td>', $agente); |
|
|
|
|
$filtro .= "<td><input name=\"tempoAtendimento\" type=\"text\" id=\"tempoAtendimento\" size='10'value='{$this->___tempoAtendimento}' /></td>"; |
|
|
|
|
$filtro .= "<td><input name=\"entrada\" type=\"text\" id=\"entrada\" size='10'value='{$this->___entrada}' /></td>"; |
|
|
|
|
$filtro .= '<td><input type="submit" name="btConsulta" id="btConsulta" value="Consultar"></td>'; |
|
|
|
|
$filtro .= '<td>%s</td>'; |
|
|
|
|
$filtro .= '</tr>'; |
|
|
|
@ -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[] = '<table width="70%" cellpadding="2" class="grid">'; |
|
|
|
|
$dataRel[] = '<table width="80%" cellpadding="2" class="grid">'; |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* Monta a linha de cabecalio. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
$linha = '<tr>'; |
|
|
|
|
$linha .= "<th align=\"center\" colspan=\"6\">Chamadas Recebidas por Agente</th>"; |
|
|
|
|
$linha .= "<th align=\"center\" colspan=\"7\">Chamadas Recebidas por Agente</th>"; |
|
|
|
|
$linha .= "</tr>"; |
|
|
|
|
$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 = '<tr><th colspan="2" align="right">TMO: </th><th colspan="4" align="left">%s</th></tr>'; |
|
|
|
|
$linhaGeral = '<tr><th colspan="2" align="right">TMO: </th><th colspan="5" align="left">%s</th></tr>'; |
|
|
|
|
$dataRel[] = sprintf($linhaGeral, SecondToStrTime($somaDuracao)); |
|
|
|
|
/* |
|
|
|
|
* Fecha relatorio. |
|
|
|
|