getEntityManager()->createQuery( $_dql )->getArrayResult(); } /** * * Recupera as Unidades Organizacionais do primeiro nível */ public function getPrimeiroNivel() { $_dql = "SELECT uorg.idUorg, uorg.nmUorg, COUNT(filhas.idUorg) AS numFilhas FROM CacicCommonBundle:Uorg uorg LEFT JOIN uorg.uorgFilhas filhas WHERE uorg.uorgPai IS NULL GROUP BY uorg.idUorg, uorg.nmUorg"; return $this->getEntityManager()->createQuery( $_dql )->getArrayResult(); } /** * * Recupera as folhas de determinado nó * - Recupera as Unidades Organizacionais relacionadas (filhas) da Unidade Organizacional parametrizada * @param int $idUorgPai */ public function getFolhasDoNo( $idUorgPai ) { $_dql = "SELECT uorg.idUorg, uorg.nmUorg, r.idRede, COUNT(filhas.idUorg) AS numFilhas FROM CacicCommonBundle:Uorg uorg INNER JOIN uorg.uorgPai pai LEFT JOIN uorg.uorgFilhas filhas LEFT JOIN uorg.rede r WHERE pai.idUorg = :idUorgPai GROUP BY uorg.idUorg, uorg.nmUorg, r.idRede"; return $this->getEntityManager()->createQuery( $_dql ) ->setParameter('idUorgPai', $idUorgPai) ->getArrayResult(); } /** * * Gera estrutura de árvores com as Unidades Organizacionais cadastradas à partir do primeiro nível */ public function getArvores() { } /** * * Gera estrutura de árvore a partir do nó (Unidade Organizacional) parametrizado * @param int $idUorgPai */ public function getArvoreDoNo( $idUorgPai ) { } public function vincular() { $_dql = "SELECT uorg.idUorg, r.idRede, uorg.nmUorg, COUNT(filhas.idUorg) AS numFilhas FROM CacicCommonBundle:Uorg uorg LEFT JOIN uorg.uorgFilhas filhas LEFT JOIN uorg.rede r WHERE uorg.uorgPai IS NULL GROUP BY uorg.idUorg, uorg.nmUorg, r.idRede"; return $this->getEntityManager()->createQuery( $_dql )->getArrayResult(); } }