diff --git a/src/Cacic/CommonBundle/Entity/ComputadorRepository.php b/src/Cacic/CommonBundle/Entity/ComputadorRepository.php index dbf95b5..436a3b9 100644 --- a/src/Cacic/CommonBundle/Entity/ComputadorRepository.php +++ b/src/Cacic/CommonBundle/Entity/ComputadorRepository.php @@ -166,6 +166,27 @@ class ComputadorRepository extends EntityRepository /** * + * Conta os computadores associados a cada Sistema Operacional com acesso nos ultimos 30 dias + */ + public function countPorSO30Dias() + { + $qb = $this->createQueryBuilder('comp') + ->select('so.idSo, so.teDescSo, so.sgSo, so.teSo, COUNT(DISTINCT comp.idComputador) as numComp') + ->innerJoin('comp.idSo', 'so') + ->innerJoin('CacicCommonBundle:LogAcesso','log', 'WITH', 'log.idComputador = comp.idComputador') + ->andWhere( 'log.data >= (current_date() - 30)' ) + ->groupBy('so'); + + + $qb = $qb->getQuery(); + $qb->useResultCache(true); + $qb->setResultCacheLifetime(600); + + return $qb->getResult(); + } + + /** + * * Conta todos os computadores monitorados * @return int */ -- libgit2 0.21.2