<?php
/*
* Pega data do dia anterior para consulta
*/
$data = new CalcDataHora();
$data->somaDia(-1);
$dataDisplay = $data->getData();
$data = FormatDtMssql($data->getData());
$data = '2013-04-22';
$queryAgt = "CREATE TEMPORARY TABLE agente_operacao (id_dac int, fila varchar(50) not null, apelido varchar(30), matricula varchar(4) not null, data date not null,
login timestamp, logoff timestamp, tempoLogin int, chamadas_atendidas int, num_pausa int, tempo_espera int, tempo_entrada int, chamadas_realizadas int,
tempo_saida int, tempo_pausa int, num_pausa_prod int, tempo_pausa_prod int, CONSTRAINT \"pkAgtOpera\" PRIMARY KEY( fila, matricula, data ));
insert into agente_operacao
select c.id as id_dac, c.nome as fila, b.apelido, a.matricula, cast(a.login as date) as data, min(login) as login, max(logoff) as logoff, sum(EXTRACT(epoch from ((logoff) - (login)))) as tempoLogin,
0 as chamadas_atendidas, 0 as num_pausa, 0 as tempo_espera, 0 as tempo_entrada, 0 as chamadas_realizadas, 0 as tempo_saida, 0 as tempo_pausa, 0 as num_pausa_prod, 0 as tempo_pausa_prod
from pbx_eventos_agentes a, pbx_usuarios b, pbx_dacs c
where b.matricula = a.matricula
and c.id = a.id_dac
and a.id_dac = coalesce('{ID_DAC}', a.id_dac)
and cast(a.login as date) = '{DATA}'
and b.matricula = coalesce(null, b.matricula)
group by 1, 2, 3, 4, 5;
CREATE TEMPORARY TABLE agente_pausa AS
select a.id_dac, b.apelido, cast(a.entrada_pausa as date) as data,
sum(case when(a.pausa_produtiva = 0)then 1 else 0 end) as num_pausa,
sum(case when(a.pausa_produtiva = 1)then 1 else 0 end) as num_pausa_prod,
sum(EXTRACT(epoch from ( case when(a.pausa_produtiva = 0)then saida_pausa - entrada_pausa else '00:00:00' end ))) as tempo_pausa,
sum(EXTRACT(epoch from ( case when(a.pausa_produtiva = 1)then saida_pausa - entrada_pausa else '00:00:00' end ))) as tempo_pausa_prod
from pbx_eventos_agentes a, pbx_usuarios b
where b.matricula = a.matricula
and a.id_dac = coalesce('{ID_DAC}', a.id_dac)
and cast(a.entrada_pausa as date) = '{DATA}'
and b.matricula = coalesce(null, b.matricula)
group by a.id_dac, b.apelido, cast(a.entrada_pausa as date);
update agente_operacao
set num_pausa = b.num_pausa,
tempo_pausa = b.tempo_pausa,
num_pausa_prod = b.num_pausa_prod,
tempo_pausa_prod = b.tempo_pausa_prod
from agente_pausa as b
where agente_operacao.apelido = b.apelido
and agente_operacao.data = b.data
and agente_operacao.id_dac = b.id_dac;
update agente_operacao
set chamadas_atendidas = a.chamadas_atendidas,
tempo_espera = a.tempo_espera,
tempo_entrada = a.tempo_entrada,
chamadas_realizadas = a.chamadas_realizadas,
tempo_saida = a.tempo_saida
from (select
substring(dac.agente, 7,4) as matricula, bil.calldate::date as data, dac.fila,
sum(case when(dac.evento in('COMPLETECALLER', 'COMPLETEAGENT', 'TRANSFER'))then 1 else 0 end) as chamadas_atendidas,
sum(case when((dac.evento = 'CONNECT') and (coalesce(dac.param1, '0')::integer > 3) )then dac.param1::integer else 0 end) as tempo_espera,
sum(case when(dac.evento in('COMPLETAAGENT','COMPLETACALLER', 'TRANSFERORIG'))then 1 else 0 end) as chamadas_realizadas,
sum(case when(dac.evento in('COMPLETECALLER', 'COMPLETEAGENT', 'TRANSFER'))then case when(dac.evento = 'TRANSFER')then( case when(coalesce(param4,'') < > '')then coalesce(param4,'0')::integer else 0 end )else( case when(coalesce(param2,'') < > '')then coalesce(param2,'0')::integer else 0 end )end else 0 end) as tempo_entrada,
sum(case when(dac.evento in('COMPLETAAGENT','COMPLETACALLER', 'TRANSFERORIG') )then case when(dac.evento = 'TRANSFERORIG')then( case when(coalesce(param4,'') < > '')then coalesce(param4,'0')::integer else 0 end )else( case when(coalesce(param2,'') < > '')then coalesce(param2,'0')::integer else 0 end )end else 0 end) as tempo_saida
from pbx_bilhetes bil, pbx_eventos_dacs dac, agente_operacao
where dac.uid2 = bil.uniqueid
and agente_operacao.fila = dac.fila
and agente_operacao.matricula = substring(dac.agente, 7,4)
and agente_operacao.data = bil.calldate::date
and bil.calldate::date = '{DATA}'
and bil.lastapp < > 'Transferred Call'
group by 1,2,3
) a where agente_operacao.data = a.data
and agente_operacao.matricula = a.matricula
and agente_operacao.matricula = a.matricula
and agente_operacao.fila = a.fila;
select id_dac, fila, apelido, matricula, data, login, logoff, tempologin, chamadas_atendidas,
num_pausa, tempo_espera, tempo_entrada, chamadas_realizadas, tempo_saida, tempo_pausa,
num_pausa_prod, tempo_pausa_prod
from agente_operacao order by data, apelido";
$query = "SELECT
ID_FILA
,FILA
,DATA
,SUM (CASE WHEN EVENTO = 'ENTERQUEUE' THEN 1 ELSE 0 END) AS OFERECIDAS
,SUM (CASE WHEN EVENTO = 'ENTERQUEUE' THEN 1 ELSE 0 END) AS ATENDIDAS_URA
,SUM (CASE WHEN EVENTO = 'ABANDON' THEN 1 ELSE 0 END) AS ABANDONADAS
,SUM (CASE WHEN EVENTO IN ('COMPLETEAGENT','COMPLETECALLER','TRANSFER') THEN 1 ELSE 0 END) AS ATENDIDAS_PA
,SUM (CASE WHEN EVENTO IN ('COMPLETAAGENT','COMPLETACALLER','TRANSFERORIG') THEN 1 ELSE 0 END) AS ORIGINADAS_PA
,SUM (CASE WHEN EVENTO IN ('CONNECT') AND (param1 < = 30) THEN 1 ELSE 0 END) AS ATENDIDAS_30
,SUM (CASE WHEN EVENTO IN ('TRANSFER') THEN 1 ELSE 0 END) AS TRANSFERIDAS
,SUM (CASE WHEN EVENTO IN ('CONNECT') AND (param1 > 3) THEN 1 ELSE 0 END) AS ESPERA
,SUM (CASE WHEN EVENTO IN ('CONNECT') AND param1 > 1 THEN param1 ELSE 0 END) AS TEMPO_ESPERA
,SUM (CASE WHEN EVENTO IN ('COMPLETEAGENT','COMPLETECALLER') AND param2 > 1 THEN param2 ELSE 0 END) AS TEMPO_ATENDIMENTO
,SUM (CASE WHEN EVENTO IN ('COMPLETAAGENT','COMPLETACALLER') AND param2 > 1 THEN param2 ELSE 0 END) AS TEMPO_ORIGINADAS
,SUM (CASE WHEN EVENTO = 'ABANDON' THEN param3 ELSE 0 END) AS TEMPO_ABANDONO
FROM (
SELECT
a.calldate::date AS DATA, a.calldate,d.id as id_fila, b.fila,b.evento,strtoint(b.param1, 0) as param1,strtoint(b.param2, 0) as param2, strtoint(b.param3, 0) as param3, strtoint(b.param4, 0) as param4
FROM pbx_eventos_dacs b INNER JOIN pbx_bilhetes a on a.uniqueid = b.uid2 and a.lastapp < > 'Transferred Call'
INNER JOIN pbx_dacs d on d.nome = b.fila
WHERE b.evento in ('ABANDON','COMPLETEAGENT','COMPLETECALLER','COMPLETAAGENT','COMPLETACALLER','CONNECT','ENTERQUEUE','TRANSFER','TRANSFERORIG')
AND a.calldate::date = '$data'
) AS DADOS
GROUP BY ID_FILA, FILA, DATA order by FILA";
$dadosDac = array();
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_array($result)) {
$dadosDac[] = $dados;
}
//< meta http-equiv = "Content-Type" content = "text/html; charset=iso-8859-1" / >
$isMobile = false;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=iso-8859-1" / >
< title > Workflow Diá rio< / title >
< style type = "text/css" >
body
{
font-family: Tahoma,Verdana,Helvetica,Helvetica-Narrow,sans-serif;
margin: 0px;
padding:0px;
/*background: #D8D5C2 url(img/background_main.jpg) repeat-x top;*/
}
.grid
{
<?php echo $isMobile ? "width: 100%; \n " : "width: 100%; \n max-width:760px; \n " ; ?>
border-collapse: collapse;
border: 1px solid #CCCCCC;
background-color:#FFF;
font-size:<?php echo $isMobile ? "xx-large" : "11px" ; ?> ;
font-family:Arial, Helvetica, sans-serif;
}
.grid th
{
background-color:#FFA700;
border: 1px solid #CCCCCC;
color:#FFFFFF;
}
.media
{
background-color:#FFD673;
border: 1px solid #CCCCCC;
color:#A67500;
padding:2px;
}
.total
{
background-color:#A67500;
border: 1px solid #CCCCCC;
color:#FFA700;
padding:2px;
}
.grid td
{
font-size:<?php echo $isMobile ? "xx-large" : "10px" ; ?> ;
border: 1px solid #CCCCCC;
}
.cabecalio
{
background-color:#FFFFFF;
font:Arial, Helvetica, sans-serif;
font-size:<?php echo $isMobile ? "48px" : "18px" ; ?> ;;
font-weight:bold;
color:#BF9530;
}
.dac
{
background-color:#BF9530;
font-size:14px;
color:#fff;
font-weight:bold;
}
< / style >
< / head >
< body >
< table align = "center" border = "0" cellspacing = "0" cellpadding = "2" class = "grid" >
< tr >
< td >
< table border = "0" cellpadding = "2" cellspacing = "0" style = "width:100%; border:0" >
< tr >
< td style = "border:0" width = "192" > < img src = "http://177.67.197.51/img//logoPrincipal.gif" width = "191" height = "48" / > < / td >
< td style = "border:0" align = "center" valign = "middle" >< span class = "cabecalio" > WORKFLOW DIÁ RIO <?php echo $dataDisplay ; ?> </ span ></ td >
< / tr >
< / table > < / td >
< / tr >
< tr >
< td >
<?php
foreach ($dadosDac as $dados) {
//OFERECIDAS ATENDIDAS_URA ABANDONADAS ATENDIDAS_PA ORIGINADAS_PA ATENDIDAS_30
//TRANSFERIDAS ESPERA TEMPO_ESPERA TEMPO_ATENDIMENTO TEMPO_ORIGINADAS TEMPO_ABANDONO
$dac = $dados["fila"];
$data = $dados["data"];
$atdUra = $dados["atendidas_ura"];
$abd = $dados["abandonadas"];
$atdPa = $dados["atendidas_pa"];
$atd30 = $dados["atendidas_30"];
$transfer = $dados["transferidas"];
$espera = $dados["espera"];
$originadas = $dados["originadas_pa"];
$tmpEspera = $dados["tempo_espera"];
$tmpAtd = $dados["tempo_atendimento"];
$tmpAbd = $dados["tempo_abandono"];
$tmpOrig = $dados["tempo_originadas"];
$ca = $atdPa + $abd;
$ns = FormataValor($ca ? round(($atd30 / $ca) * 100.0, 1) : 0, 1) . "%";
$tmpEspera = SecondToStrTime($espera ? round($tmpEspera / $espera, 0) : 0);
$tmpAtd = SecondToStrTime($atdPa ? round($tmpAtd / $atdPa, 0) : 0);
$tmpOrig = SecondToStrTime($originadas ? round($tmpOrig / $originadas, 0) : 0);
$tmpAbd = SecondToStrTime($abd ? round($tmpAbd / $abd, 0) : 0);
?>
< table border = "0" cellspacing = "0" cellpadding = "2" class = "grid" >
< tr >
< td class = "dac" >< span class = "dac" >< strong > Dac: </ strong > <?php echo $dac ; ?> < span ></ td >
< / tr >
< tr >
< td >
< table class = "grid" width = "100%" border = "1" cellpadding = "2" cellspacing = "0" >
< tr >
< th colspan = "7" align = "center" > Ligaç õ es< / th >
< th colspan = "5" align = "center" > Performace< / th >
< / tr >
< tr >
< th colspan = "7" align = "center" > Total de Chamadas < / th >
< th colspan = "5" align = "center" > < strong > Tempo Mé dio< / strong > < / th >
< / tr >
< tr align = "center" bgcolor = "#FFFFFF" >
< th > Atendidas< br / >
URA < / th >
< th > Abandonadas< / th >
< th > Atendidas < br / > < / th >
< th > Atendidas < br / >
até 30'' < / th >
< th > Transferidas< / th >
< th > Espera < / th >
< th > Originadas< br / > < / th >
< th align = "center" > Espera< / th >
< th align = "center" > Atendimento< br / > < / th >
< th align = "center" > Originando< / th >
< th align = "center" > Abandono< / th >
< th > NS< / th >
< / tr >
<?php
echo "< tr align = \"center\" bgcolor = \"#FFFFFF\" >
< td > $atdUra< / td >
< td > $abd< / td >
< td > $atdPa< / td >
< td > $atd30< / td >
< td > $transfer< / td >
< td > $espera< / td >
< td > $originadas< / td >
< td align = \"center\" > $tmpEspera< / td >
< td align = \"center\" > $tmpAtd< / td >
< td align = \"center\" > $tmpOrig< / td >
< td align = \"center\" > $tmpAbd< / td >
< td > $ns< / td >
< / tr > ";
?>
< / table > < / td >
< / tr >
< tr >
< td > Resumo da Operaç ã o por Agente< / td >
< / tr >
< tr >
< td > < table width = "100%" border = "0" cellpadding = "2" cellspacing = "0" class = "grid" >
< tr >
< th align = "left" class = "headColun" > < / th >
< th colspan = "2" align = "center" class = "headColun" > Nú mero de Pausas < / th >
< th colspan = "2" align = "center" class = "headColun" > Nú mero de Chamadas< / th >
< th colspan = "8" align = "center" class = "headColun" > Tempo< / th >
< / tr >
< tr >
< th align = "left" class = "headColun" > Agente< / th >
< th align = "right" class = "headColun" > P< / th >
< th align = "right" class = "headColun" > PP< / th >
< th align = "right" class = "headColun" > CA< / th >
< th align = "right" class = "headColun" > CO< / th >
< th align = "center" class = "headColun" > Logado< / th >
< th align = "center" class = "headColun" > P< / th >
< th align = "center" class = "headColun" > PP< / th >
< th align = "center" class = "headColun" > CA< / th >
< th align = "center" class = "headColun" > CO< / th >
< th align = "center" class = "headColun" > Livre< / th >
< th align = "center" class = "headColun" > TMA< / th >
< th align = "center" class = "headColun" > TMO< / th >
< / tr >
<?php
/*
* Esta funcao verifica se uma determinada tabela temporaria existe na sessao corrente
*/
dropTemporaryTable($dbcon, 'agente_operacao');
dropTemporaryTable($dbcon, 'agente_pausa');
$query = str_replace("{ID_DAC}", $dados["id_fila"], $queryAgt);
$query = str_replace("{DATA}", $data, $query);
$result = pg_query($dbcon, $query);
$somaAgt = 0;
$somaPausa = 0;
$somaPausaP = 0;
$somaCa = 0;
$somaCo = 0;
$somatmpLgd = 0;
$somaTmpP = 0;
$somaTmpPP = 0;
$somaTmpCa = 0;
$somaTmpCo = 0;
$somaTmpLivre = 0;
while ($dadosAgt = pg_fetch_array($result)) {
/*
* select id_dac, fila, apelido, matricula, data, login, logoff, tempologin, chamadas_atendidas,
* num_pausa, tempo_espera, tempo_entrada, chamadas_realizadas, tempo_saida, tempo_pausa,
* num_pausa_prod, tempo_pausa_prod
*
*/
$agt = $dadosAgt["apelido"];
$pausa = $dadosAgt["num_pausa"];
$pausaP = $dadosAgt["num_pausa_prod"];
$ca = $dadosAgt["chamadas_atendidas"];
$co = $dadosAgt["chamadas_realizadas"];
$tmpLgd = $dadosAgt["tempologin"];
$tmpP = $dadosAgt["tempo_pausa"];
$tmpPP = $dadosAgt["tempo_pausa_prod"];
$tmpCa = $dadosAgt["tempo_entrada"];
$tmpCo = $dadosAgt["tempo_saida"];
$tmpLivre = $tmpLgd - ($tmpP + $tmpPP + $tmpCa + $tmpCo);
$tma = $ca ? round($tmpCa / $ca, 0) : 0;
$tmo = $co ? round($tmpCo / $co, 0) : 0;
$somaAgt++;
$somaPausa += $pausa;
$somaPausaP += $pausaP;
$somaCa += $ca;
$somaCo += $co;
$somatmpLgd += $tmpLgd;
$somaTmpP += $tmpP;
$somaTmpPP += $tmpPP;
$somaTmpCa += $tmpCa;
$somaTmpCo += $tmpCo;
$somaTmpLivre += $tmpLivre;
echo "< tr >
< td align = \"right\" > $agt< / td >
< td align = \"right\" > $pausa< / td >
< td align = \"right\" > $pausaP< / td >
< td align = \"right\" > $ca< / td >
< td align = \"right\" > $co< / td >
< td align = \"center\" > " . SecondToStrTime($tmpLgd) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tmpP) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tmpPP) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tmpCa) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tmpCo) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tmpLivre) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tma) . "< / td >
< td align = \"center\" > " . SecondToStrTime($tmo) . "< / td >
< / tr > ";
}
//$somaAgt; $somaPausa; $somaPausaP; $somaCa; $somaCo;
//$somatmpLgd; $somaTmpP; $somaTmpPP;$somaTmpCa; $somaTmpCo; $somaTmpLivre;
$pausa_M = FormataValor(!$somaAgt ? 0 : round($somaPausa / $somaAgt, 1), 1);
$pausaP_M = FormataValor(!$somaAgt ? 0 : round($somaPausaP / $somaAgt, 1), 1);
$ca_M = FormataValor(!$somaAgt ? 0 : round($somaCa / $somaAgt, 1), 1);
$co_M = FormataValor(!$somaAgt ? 0 : round($somaCo / $somaAgt, 1), 1);
$tmpLgd_M = SecondToStrTime(!$somaAgt ? 0 : round($somatmpLgd / $somaAgt, 0));
$tmpP_M = SecondToStrTime(!$somaAgt ? 0 : round($somaTmpP / $somaAgt, 0));
$tmpPP_M = SecondToStrTime(!$somaAgt ? 0 : round($somaTmpPP / $somaAgt, 0));
$tmpCa_M = SecondToStrTime(!$somaAgt ? 0 : round($somaTmpCa / $somaAgt, 0));
$tmpCo_M = SecondToStrTime(!$somaAgt ? 0 : round($somaTmpCo / $somaAgt, 0));
$tmpLivre_M = SecondToStrTime(!$somaAgt ? 0 : round($somaTmpLivre / $somaAgt, 0));
$tma_M = SecondToStrTime(!$somaCa ? 0 : round($somaTmpCa / $somaCa, 0));
$tmo_M = SecondToStrTime(!$somaCo ? 0 : round($somaTmpCo / $somaCo, 0));
echo "< tr class = \"media\" >
< td align = \"left\" > Mé dia< / td >
< td align = \"right\" > $pausa_M< / td >
< td align = \"right\" > $pausaP_M< / td >
< td align = \"right\" > $ca_M< / td >
< td align = \"right\" > $co_M< / td >
< td align = \"center\" > $tmpLgd_M< / td >
< td align = \"center\" > $tmpP_M< / td >
< td align = \"center\" > $tmpPP_M< / td >
< td align = \"center\" > $tmpCa_M< / td >
< td align = \"center\" > $tmpCo_M< / td >
< td align = \"center\" > $tmpLivre_M< / td >
< td align = \"center\" > $tma_M< / td >
< td align = \"center\" > $tmo_M< / td >
< / tr > ";
/* $somaAgt;
$somaPausa;
$somaPausaP;
$somaCa;
$somaCo; */
$somatmpLgd = SecondToStrTime($somatmpLgd);
$somaTmpP = SecondToStrTime($somaTmpP);
$somaTmpPP = SecondToStrTime($somaTmpPP);
$somaTmpCa = SecondToStrTime($somaTmpCa);
$somaTmpCo = SecondToStrTime($somaTmpCo);
$somaTmpLivre = SecondToStrTime($somaTmpLivre);
echo "< tr class = \"total\" >
< td align = \"left\" > Total< / td >
< td align = \"right\" > $somaPausa< / td >
< td align = \"right\" > $somaPausaP< / td >
< td align = \"right\" > $somaCa< / td >
< td align = \"right\" > $somaCo< / td >
< td align = \"center\" > $somatmpLgd< / td >
< td align = \"center\" > $somaTmpP< / td >
< td align = \"center\" > $somaTmpPP< / td >
< td align = \"center\" > $somaTmpCa< / td >
< td align = \"center\" > $somaTmpCo< / td >
< td align = \"center\" > $somaTmpLivre< / td >
< td align = \"center\" > -< / td >
< td align = \"center\" > -< / td >
< / tr > ";
?>
< / table > < / td >
< / tr >
< / table >
<?php
/* fim da area dac */
}
?>
< / td >
< / tr >
< tr >
< td > < table border = "0" cellspacing = "0" cellpadding = "2" >
< tr >
< th colspan = "2" align = "center" > Legenda< / th >
< / tr >
< tr >
< th align = "left" > P< / th >
< td align = "left" > Pausa< / td >
< / tr >
< tr >
< th align = "left" > PP< / th >
< td align = "left" > Pausa Produtiva< / td >
< / tr >
< tr >
< th align = "left" > CA< / th >
< td align = "left" > Chamadas Atendidas< / td >
< / tr >
< tr >
< th align = "left" > CO< / th >
< td align = "left" > Chamadas Originadas< / td >
< / tr >
< tr >
< th align = "left" > TMA< / th >
< td align = "left" > Tempo Mé dio de Atendimento< / td >
< / tr >
< tr >
< th align = "left" > TMO< / th >
< td align = "left" > Tempo Mé dio de Atendimento Originando< / td >
< / tr >
< / table > < / td >
< / tr >
< tr >
< td >
<?php
$relClas = "";
$table = '< table cellpadding = "2" class = "grid" >
< tr >
< th colspan = "4" align = "center" > %s< / th >
< / tr >
< tr align = "center" >
< th align = "left" nowrap class = "headColun" > Classificaç ã o< / th >
< th align = "left" nowrap class = "headColun" > Serviç o< / th >
< th nowrap class = "headColun" > %%< / th >
< th align = "right" nowrap class = "headColun" > Qtde< / th >
< / tr >
%s
< / table > ';
$query = "select distinct a.id, a.nome
from pbx_dacs a, pbx_classifica_reg b, pbx_bilhetes d
where d.uniqueid = b.id_bilhetes
and a.id = b.id_dac
and d.calldate::date = '$data'
order by 2";
$resultDac = pg_query($dbcon, $query);
while ($dadosDac = pg_fetch_array($resultDac)) {
$somaQtde = 0;
$dac = $dadosDac["id"];
$dacNome = $dadosDac["nome"];
$query = GetQueryClassificaWkf($data, $dac);
$result = pg_query($dbcon, $query);
$dadosBuff = array();
while ($dados = pg_fetch_array($result)) {
$dadosBuff[] = $dados;
$somaQtde += $dados["qtde"];
}
$dados = array();
$linhas = "";
foreach ($dadosBuff as $dados) {
$clas = $dados["clas_descricao"];
$item = $dados["clit_descricao"];
$qtde = $dados["qtde"];
$perc = round(!$somaQtde ? 0 : ($qtde * 100.0) / $somaQtde, 0);
$linhas .= "< tr >
< td align = \"left\" class = \"headColun\" nowrap > $clas< / td >
< td align = \"left\" class = \"headColun\" > $item< / td >
< td align = \"center\" class = \"headColun\" > $perc%< / td >
< td align = \"right\" class = \"headColun\" > $qtde< / td >
< / tr > ";
}
$linhas .= "< tr > < th align = \"center\" colspan = \"3\" class = \"headColun\" > Total< / th > < th align = \"right\" > $somaQtde< / th > < / tr > ";
$relClas .= sprintf($table, $dacNome, $linhas);
}
echo "< table cellpadding = \"2\" class = \"grid\" >
< tr > < td align = \"center\" > < span style = \"font-size:12px; font-weight:bold ; \ " > Classifica<EFBFBD> <EFBFBD> o de Atendimento< span > < / td > < / tr > < tr > < td > $relClas< / td > < / tr >
< / table > ";
?>
< / td >
< / tr >
< / table >
< / body >
< / html >
<?php
function GetQueryClassificaWkf($data, $dac) {
return "select a.id_dac, e.nome, clas_descricao, clit_descricao, count(*) as qtde
from pbx_classifica_reg a, pbx_classifica_atendimento b, pbx_classifica_item c,
pbx_bilhetes d, pbx_dacs e
where b.clas_id = a.clas_id
and c.clit_id = a.clit_id
and d.uniqueid = a.id_bilhetes
and e.id = a.id_dac
and d.lastapp < > 'Transferred Call'
and a.id_dac = '$dac'
and d.calldate::date = '$data'
group by a.id_dac, e.nome, clas_descricao, clit_descricao
order by 5 desc";
}
?>