"; if ($tpOper == OPERACAO_ATIVO) { $smarty->assign('nomeDac', $dados["dac"]); $smarty->assign('totalClientes', $dados["total_clientes"]); $smarty->assign('totalDiscados', $dados["cliente_discados"]); $smarty->assign('cliNaoDiscados', ($dados["total_clientes"] - $dados["cliente_discados"])); $smarty->assign('totalFones', $dados["total_fones"]); $smarty->assign('naoDiscados', $dados["naoDiscados"]); $smarty->assign('atendidas', $dados["atendidas"]); $smarty->assign('naoAtendidas', $dados["telefones_nao_atende"]); $smarty->assign('ocupados', $dados["telefones_ocupados"]); $smarty->assign('grafDac', $graf); } else { // distinct sel, dac, atendidas, abandonadas, espera, tempo_espera, tempo_nivel_servico $smarty->assign('nomeDac', $dados["dac"]); $smarty->assign('totalOferecidas', $dados["originadas"]); $smarty->assign('totalAtendidas', $dados["atendidas"]); //122->126 123->127 124->128 125->129 $linkAbandonadas = !$dados["abandonadas"] ? $dados["abandonadas"] : sprintf("(Detalhar) %s", $dac, $dados["abandonadas"]); $smarty->assign('totalAbandonadas', $linkAbandonadas); $smarty->assign('totalChamadas', $dados["totalChamadas"]); $smarty->assign('nivelServico', $dados["tempo_nivel_servico"]); $smarty->assign('espera', ($dados["espera"])); $smarty->assign('tempoEspera', SecondToStrTime($dados["tempo_espera"])); $smarty->assign('grafDac', $graf); } GetTemplate($smarty, $tpl); } function FetchDados($dbcon, $dac) { $dados = GetDados($dbcon, $dac); if ($GLOBALS["tpOper"] == OPERACAO_ATIVO) { $_SESSION["SSnomeGraphPie"] = "Operação de Ativo"; $totalClientes = $dados["total_clientes"]; $clientesDiscados = $dados["cliente_discados"]; $totalFones = $dados["total_fones"]; $naoDiscados = $totalFones - $dados["telefones_discados"]; $atendidas = $dados["telefones_discados"] - ($dados["telefones_ocupados"] + $dados["telefones_nao_atende"]); $naoAtendidas = $dados["telefones_nao_atende"]; $ocupadas = $dados["telefones_ocupados"]; $dados["atendidas"] = $atendidas; $dados["naoDiscados"] = $naoDiscados; $dadosInfoAgt = array($atendidas, $naoAtendidas, $ocupadas); $_SESSION["SScolorAgtGraphPie"] = array("green", "red", "gray"); $_SESSION["SSlegendAgtGraphPie"] = array("Atendidas", "Não Atendidas", "Ocupadas"); $_SESSION["SSdadosAgtGraphPie"] = $dadosInfoAgt; } else { $_SESSION["SSnomeGraphPie"] = "Operação de Receptivo"; $totalChamadas = $dados["atendidas"] + $dados["abandonadas"] + $dados["originadas"]; $dados["totalChamadas"] = $totalChamadas; $totalAtendiadas = $dados["atendidas"]; $totalOriginadas = $dados["originadas"]; $totalAbandonadas = $dados["abandonadas"]; $dadosInfoAgt = array($totalAtendiadas, $totalAbandonadas, $totalOriginadas); $_SESSION["SSlegendAgtGraphPie"] = array("Atendidas", "Abandonadas", "Originadas"); $_SESSION["SSdadosAgtGraphPie"] = $dadosInfoAgt; } return $dados; } function GetDados($dbcon, $dac) { $query = GetQueryDac($dac); $result = pg_query($dbcon, $query); if ($result) { $numReg = pg_num_rows($result); $dados = pg_fetch_array($result); $dadosGraph = array(); if ($numReg) { foreach ($dados as $key => $value) { $dadosGraph[$key] = $value; } } return $dadosGraph; } return false; } function GetQueryDac($dac) { $queryDac = " select distinct sel, a.dac, a.originadas, a.atendidas, a.abandonadas, b.espera, b.tempo_espera, round(inb,0) as tempo_nivel_servico,'D' as tipo from ( SELECT 0 as sel, DAC ,DATA ,ABANDONADAS ,ORIGINADAS_PA AS ORIGINADAS ,ATENDIDAS_PA AS ATENDIDAS ,ESPERA ,round( CASE WHEN(ESPERA = 0)THEN 0 ELSE (TEMPO_ESPERA / ESPERA) END ) * INTERVAL '1 SECOND' AS TME ,round( CASE WHEN(ATENDIDAS_PA = 0)THEN 0 ELSE (TEMPO_ATENDIMENTO / ATENDIDAS_PA)END) * INTERVAL '1 SECOND' AS TMA ,round(CASE WHEN(ABANDONADAS = 0)THEN 0 ELSE (TEMPO_ABANDONO / ABANDONADAS) END) * INTERVAL '1 SECOND' AS TMAB ,(CASE WHEN(OFERECIDAS = 0)THEN 0 ELSE ATENDIDAS_30::FLOAT / OFERECIDAS::FLOAT END * 100)::numeric(5,2) as INB ,(CASE WHEN(OFERECIDAS::FLOAT = 0)THEN 0 ELSE (ABANDONADAS::FLOAT / OFERECIDAS::FLOAT) END * 100)::numeric(5,2) as IAB ,TEMPO_ESPERA ,TEMPO_ATENDIMENTO ,TEMPO_ABANDONO FROM ( SELECT DATA, DAC ,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 ('COMPLETAAGENT','COMPLETACALLER','TRANSFERORIG') THEN 1 ELSE 0 END) AS ORIGINADAS_PA ,SUM (CASE WHEN EVENTO IN ('COMPLETEAGENT','COMPLETECALLER', 'TRANSFER') AND SUBSTRING(AGENTE,1,5) = 'Agent' THEN 1 ELSE 0 END) AS ATENDIDAS_PA ,SUM (CASE WHEN EVENTO IN ('COMPLETEAGENT','COMPLETECALLER','TRANSFER') AND SUBSTRING(AGENTE,1,5) <> 'Agent' THEN 1 ELSE 0 END) AS ATENDIDAS_FILA ,SUM (CASE WHEN EVENTO IN ('COMPLETEAGENT','COMPLETECALLER','TRANSFER') AND strtoint(param1) <= '30' THEN 1 ELSE 0 END) AS ATENDIDAS_30 ,SUM (CASE WHEN EVENTO IN ('CONNECT') AND strtoint(param1) > '3' THEN 1 ELSE 0 END) AS ESPERA ,SUM (CASE WHEN EVENTO IN ('CONNECT') AND strtoint(param1) > '3' THEN strtoint(param1) ELSE 0 END) AS TEMPO_ESPERA ,SUM (CASE WHEN EVENTO IN ('COMPLETEAGENT','COMPLETECALLER') AND strtoint((case when(param2 = '')then '0' else param2 end)) > '1' THEN strtoint((case when(param2 = '')then '0' else param2 end)) ELSE 0 END) AS TEMPO_ATENDIMENTO ,SUM (CASE WHEN EVENTO IN ('ABANDON') THEN strtoint(param3) ELSE 0 END) AS TEMPO_ABANDONO FROM ( SELECT D.NOME AS DAC, to_char(a.calldate,'YYYY-MM-DD') AS DATA, a.calldate,b.fila,b.evento,b.agente,b.param1,b.param2,b.param3,b.param4 FROM ast_eventos_dacs b INNER JOIN ast_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','CONNECT','ENTERQUEUE','TRANSFER', 'COMPLETAAGENT','COMPLETACALLER','TRANSFERORIG') AND a.calldate::date = now()::date AND a.calldate IS NOT NULL AND d.nome = '$dac' ) AS DADOS GROUP BY DATA, DAC ) AS DADOS ORDER BY 1 ) a, pbx_supervisor_dacs b where b.dac = a.dac order by 8, 2"; //AND SUBSTRING(AGENTE,1,5) = 'Agent' //if(IsAdmin()) echo $queryDac; return $queryDac; } ?>