@ -157,10 +157,11 @@
INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2
INNER JOIN pbx_eventos_dacs b ON a.uniqueid = b.uid2
LEFT JOIN pbx_pesquisa_regitra c ON a.uniqueid = c.uniqueid
LEFT JOIN pbx_pesquisa_regitra c ON a.uniqueid = c.uniqueid
LEFT JOIN pbx_usuarios d ON d.matricula = SUBSTRING(b.agente, 7, 4)
LEFT JOIN pbx_usuarios d ON d.matricula = SUBSTRING(b.agente, 7, 4)
LEFT JOIN pbx_queues_grupos e ON e.nome = b.fila
WHERE calldate::DATE >= '$dataIni'
WHERE calldate::DATE >= '$dataIni'
AND calldate::DATE < = '$dataFim'
AND calldate::DATE < = '$dataFim'
AND b.evento IN('COMPLETEAGENT','COMPLETECALLER', 'TRANSFER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL', 'COMPLETACALLER', 'COMPLETAAGENT')
AND b.evento IN('COMPLETEAGENT','COMPLETECALLER', 'TRANSFER','COMPLETEAGENTRAMAL','COMPLETECALLERRAMAL', 'COMPLETACALLER', 'COMPLETAAGENT')
AND fila = 'SUPORTE_NIVEL1_ARAXA '
AND e.id = '$dac '
GROUP BY fila, d.matricula, apelido";
GROUP BY fila, d.matricula, apelido";
$result = $this->___GetQuery($query);
$result = $this->___GetQuery($query);
@ -201,6 +202,7 @@
}
}
$dataRel[] = GenerateCsvFromArray($linha);
$dataRel[] = GenerateCsvFromArray($linha);
$dataRel[] = GenerateCsvFromArray($linha);
// Formata linha de dados.
// Formata linha de dados.
foreach ($this->GetData()[$x] as $dataPsq) {
foreach ($this->GetData()[$x] as $dataPsq) {
$linha = array();
$linha = array();
@ -209,7 +211,7 @@
if ($key == 'po_opcao') {
if ($key == 'po_opcao') {
$linha[] = RemoveAcentos($dataPsq["$key"]);
$linha[] = RemoveAcentos($dataPsq["$key"]);
} else if ($key == 'por_resp') {
} else if ($key == 'por_resp') {
$dataPsq['por_resp'] = number_format(($dataPsq["num_resp"] / $somaResp) * 100.0, 2, ',', '.') . '%';
$dataPsq['por_resp'] = $dataPsq["num_resp"] ?? number_format(($dataPsq["num_resp"] / $somaResp) * 100.0, 2, ',', '.') . '%';
$linha[] = $dataPsq['por_resp'];
$linha[] = $dataPsq['por_resp'];
} else {
} else {
$linha[] = $dataPsq["$key"];
$linha[] = $dataPsq["$key"];
@ -218,7 +220,7 @@
$dataRel[] = GenerateCsvFromArray($linha);
$dataRel[] = GenerateCsvFromArray($linha);
unset($linha);
unset($linha);
}
}
$dataRel[] = GenerateCsvFromArray(array('Total', '', 'Resp.: '.$somaResp,number_format(($somaResp / $somaResp) * 100.0, 2, ',', '.') . '%'));
$dataRel[] = GenerateCsvFromArray(array('Total', '', 'Resp.: '.$somaResp, $somaResp ?? number_format(($somaResp / $somaResp) * 100.0, 2, ',', '.') . '%'));
$x++;
$x++;
}
}
@ -275,17 +277,15 @@
}
}
$dataRel[] = $linha;
$dataRel[] = $linha;
//$row['po_opcao'] = RemoveAcentos($row['po_opcao']);
// Formata linha de dados.
// Formata linha de dados.
foreach ($this->GetData()[$x] as $dataPsq) {
foreach ($this->GetData()[$x] as $dataPsq) {
$linha = array('DADOS');
$linha = array('DADOS');
foreach ($dadosField as $key) {
foreach ($dadosField as $key) {
if ($key == 'po_opcao') {
if ($key == 'po_opcao') {
$linha[] = RemoveAcentos($dataPsq["$key"]);
$linha[] = RemoveAcentos($dataPsq["$key"]);
} else if ($key == 'por_resp') {
} else if ($key == 'por_resp') {
$dataPsq['por_resp'] = number_format(($dataPsq["num_resp"] / $somaResp) * 100.0, 2, ',', '.') . '%';
$dataPsq['por_resp'] = $dataPsq["num_resp"] ?? number_format(($dataPsq["num_resp"] / $somaResp) * 100.0, 2, ',', '.') . '%';
$linha[] = $dataPsq['por_resp'];
$linha[] = $dataPsq['por_resp'];
} else {
} else {
$linha[] = $dataPsq["$key"];
$linha[] = $dataPsq["$key"];
@ -295,11 +295,30 @@
$dataRel[] = $linha;
$dataRel[] = $linha;
unset($linha);
unset($linha);
}
}
$dataRel[] = array('LABEL', 'Total', '', 'Resp.: '.$somaResp,number_format(($somaResp / $somaResp) * 100.0, 2, ',', '.') . '%');
$dataRel[] = array('LABEL', 'Total', '', 'Resp.: '.$somaResp, $somaResp ?? number_format(($somaResp / $somaResp) * 100.0, 2, ',', '.') . '%');
$x++;
$x++;
}
}
$dataRel[] = array('LABEL', '');
$dadosCabecalio = array('Fila', 'Agente', 'Direcionamento Pesquisa', 'Conclusao Pesquisa', 'Chamadas');
$linha = array('LABEL');
foreach ($dadosCabecalio as $value) {
$linha[] = $value;
}
$dataRel[] = $linha;
$dadosField = array('fila', 'apelido', 'envio_pesquisa', 'completou_pesquisa', 'chamadas_realizadas');
$linha = array('DADOS');
foreach ($this->GetData()[$x] as $stat) {
$linha = array('DADOS');
foreach ($dadosField as $key) {
$linha[] = $stat[$key];
}
}
$dataRel[] = $linha;
$this->___dataRel[] = $dataRel;
$this->___dataRel[] = $dataRel;
}
}
@ -344,6 +363,7 @@
//print_r($this->GetData());
//print_r($this->GetData());
$x = 1;
$x = 1;
$somaResp = 0;
$somaResp = 0;
$linhas = '';
/*
/*
* Linhas de dados.
* Linhas de dados.
@ -364,14 +384,14 @@
$linhas .= "< tr > ";
$linhas .= "< tr > ";
foreach ($dadosField as $k => $value) {
foreach ($dadosField as $k => $value) {
if ($k == 'por_resp') {
if ($k == 'por_resp') {
$linhas .= sprintf("< td % s > %s%%< / td > ", $value, number_format(($dataPesquisa["num_resp"] / $somaResp) * 100.0, 2, ',', '.'));
$linhas .= sprintf("< td % s > %s%%< / td > ", $value, $dataPesquisa["num_resp"] ?? number_format(($dataPesquisa["num_resp"] / $somaResp) * 100.0, 2, ',', '.'));
} else {
} else {
$linhas .= sprintf("< td % s > %s< / td > ", $value, $dataPesquisa["$k"]);
$linhas .= sprintf("< td % s > %s< / td > ", $value, $dataPesquisa["$k"]);
}
}
}
}
$linhas .= "< / tr > ";
$linhas .= "< / tr > ";
}
}
$linhas .= sprintf("< tr > < td colspan = '2' align = 'center' > < b > Total< / b > < / td > < td align = 'center' > < b > $somaResp< / b > < / td > < td align = 'center' > < b > %s< / b > < / td > < / tr > ", number_format(($somaResp / $somaResp) * 100.0, 2, ',', '.').'%');
$linhas .= sprintf("< tr > < td colspan = '2' align = 'center' > < b > Total< / b > < / td > < td align = 'center' > < b > $somaResp< / b > < / td > < td align = 'center' > < b > %s< / b > < / td > < / tr > ", $somaResp ?? number_format(($somaResp / $somaResp) * 100.0, 2, ',', '.').'%');
$x++;
$x++;
$dataRel[] = $linhas;
$dataRel[] = $linhas;
unset($linhas);
unset($linhas);
@ -454,14 +474,34 @@
$dataQst[$z]['po_opcao'] = $data['po_opcao'];
$dataQst[$z]['po_opcao'] = $data['po_opcao'];
$dataQst[$z]['num_resp'] = $data['num_resp'];
$dataQst[$z]['num_resp'] = $data['num_resp'];
$dataQst[$z]['po_tecla'] = $data['po_tecla'];
$dataQst[$z]['po_tecla'] = $data['po_tecla'];
$dataQst[$z]['por_resp'] = number_format(($data["num_resp"] / $somaTotalQtd) * 100.0, 2, ',', '.') . '%';
$dataQst[$z]['por_resp'] = $data["num_resp"] ?? number_format(($data["num_resp"] / $somaTotalQtd) * 100.0, 2, ',', '.') . '%';
$z++;
$z++;
}
}
$totalizador = array('Total: ', $row['pq_questao'], 'Resp.: '.$somaTotalQtd , number_format(($somaTotalQtd / $somaTotalQtd) * 100.0, 2, ',', '.') . '%');
$totalizador = array('Total: ', $row['pq_questao'], 'Resp.: '.$somaTotalQtd , $somaTotalQtd ?? number_format(($somaTotalQtd / $somaTotalQtd) * 100.0, 2, ',', '.') . '%');
$tables[] = array($dadosCabecalio, $dadosField, $dataQst, $widthHeader, $totalizador, 0);
$tables[] = array($dadosCabecalio, $dadosField, $dataQst, $widthHeader, $totalizador, 0);
$x++;
$x++;
unset($dataQst);
unset($dataQst);
}
}
$dadosCabecalio = array(
'Fila' => 'C',
'Agente' => 'C',
'Direcionamento Pesquisa' => 'C',
'Conclusao Pesquisa' => 'C',
'Chamadas' => 'C'
);
$dadosField = array(
'fila' => 'C',
'apelido' => 'C',
'envio_pesquisa' => 'C',
'completou_pesquisa' => 'C',
'chamadas_realizadas' => 'C'
);
$widthHeader = array(20, 20, 40, 40, 20);
$tables[] = array($dadosCabecalio, $dadosField, $this->GetData()[$x], $widthHeader, 0, 0);
$this->___dataRel = $tables;
$this->___dataRel = $tables;
}
}
@ -510,10 +550,7 @@
$smarty->assign('msg', $this->GetMsg());
$smarty->assign('msg', $this->GetMsg());
GetTemplate($smarty, 'relatoriosGrid.tpl');
GetTemplate($smarty, 'relatoriosGrid.tpl');
}
}
}
}
$relPesquisa = new RelPesquisa($idProg, $dbcon, 1);
$relPesquisa = new RelPesquisa($idProg, $dbcon, 1);
$relPesquisa->ExecutaRelatorio();
$relPesquisa->ExecutaRelatorio();