private function tempo_medio_atendentes($dataInicial, $dataFinal)
 {
     $dados = array();
     $query = $this->em()->createQuery("\n            SELECT\n                CONCAT(u.nome, CONCAT(' ', u.sobrenome)) as atendente,\n                COUNT(a) as total,\n                AVG(a.dataChamada - a.dataChegada) as espera,\n                AVG(a.dataInicio - a.dataChamada) as deslocamento,\n                AVG(a.dataFim - a.dataInicio) as atendimento,\n                AVG(a.dataFim - a.dataChegada) as tempoTotal\n            FROM\n                Novosga\\Model\\ViewAtendimento a\n                JOIN a.usuario u\n            WHERE\n                a.dataChegada >= :dataInicial AND\n                a.dataChegada <= :dataFinal AND\n                a.dataFim IS NOT NULL\n            GROUP BY\n                u\n            ORDER BY\n                u.nome\n        ");
     $query->setParameter('dataInicial', $dataInicial);
     $query->setParameter('dataFinal', $dataFinal);
     $query->setMaxResults(self::MAX_RESULTS);
     $rs = $query->getResult();
     foreach ($rs as $r) {
         $d = array('atendente' => $r['atendente'], 'total' => $r['total']);
         try {
             // se der erro tentando converter a data do banco para segundos, assume que ja esta em segundos
             // Isso é necessário para manter a compatibilidade entre os bancos
             $d['espera'] = DateUtil::timeToSec($r['espera']);
             $d['deslocamento'] = DateUtil::timeToSec($r['deslocamento']);
             $d['atendimento'] = DateUtil::timeToSec($r['atendimento']);
             $d['tempoTotal'] = DateUtil::timeToSec($r['tempoTotal']);
         } catch (\Exception $e) {
             $d['espera'] = $r['espera'];
             $d['deslocamento'] = $r['deslocamento'];
             $d['atendimento'] = $r['atendimento'];
             $d['tempoTotal'] = $r['tempoTotal'];
         }
         $dados[] = $d;
     }
     return $dados;
 }