Esempio n. 1
0
 public function comboProfile(\Core_Dto_Mapping $dto, $inFuncionalidade = TRUE)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('p.sqPerfil', 'p.noPerfil')->from('app:Perfil', 'p')->innerJoin('p.sqSistema', 's')->where('p.stRegistroAtivo = :stRegistroAtivo')->setParameter('stRegistroAtivo', 'TRUE');
     if ($inFuncionalidade) {
         $queryBuilder->leftJoin('p.sqPerfilFuncionalidade', 'pf');
     }
     if ($dto->getSqSistema() !== '') {
         $queryBuilder->andWhere('p.sqSistema = :sqSistema')->setParameter('sqSistema', $dto->getSqSistema());
     }
     if ($dto->getInPerfilExterno() == '1') {
         $queryBuilder->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', ':perfilExterno'));
         $queryBuilder->setParameter('perfilExterno', 'TRUE');
     } else {
         if ($dto->getInPerfilExterno() == '0') {
             $queryBuilder->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', ':perfilExterno'));
             $queryBuilder->setParameter('perfilExterno', 'FALSE');
         }
     }
     return $queryBuilder->getQuery()->getArrayResult();
 }
Esempio n. 2
0
 public function findProfileByUnit(\Core_Dto_Mapping $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('p.sqPerfil', 'p.noPerfil')->from('app:UsuarioPerfil', 'up')->innerJoin('up.sqPerfil', 'p')->innerJoin('up.sqUsuario', 'u')->where('up.sqUnidadeOrgPessoa = :sqUnidadeOrg')->setParameter('sqUnidadeOrg', $dto->getSqUnidadeOrgPessoa())->andWhere('p.sqSistema = :sqSistema')->setParameter('sqSistema', $dto->getSqSistema())->andWhere($queryBuilder->expr()->eq('p.inPerfilExterno', ':inPerfilExterno'))->setParameter('inPerfilExterno', 'FALSE')->andWhere($queryBuilder->expr()->eq('u.sqUsuario', ':sqUsuario'))->setParameter('sqUsuario', $dto->getSqUsuario())->andWhere($queryBuilder->expr()->eq('p.stRegistroAtivo', ':stRegistroAtivo'))->setParameter('stRegistroAtivo', TRUE)->groupBy('p.sqPerfil, p.noPerfil');
     return $queryBuilder->getQuery()->getResult();
 }
Esempio n. 3
0
 /**
  *
  * @param \Core_Dto_Mapping $dto
  */
 public function order(\Core_Dto_Mapping $dto)
 {
     $entity = $this->_getRepository()->find($dto->getSqMenu());
     if ($entity->getSqMenuPai() !== NULL) {
         $sqMenuPai = $entity->getSqMenuPai()->getSqMenu();
     } else {
         $sqMenuPai = NULL;
     }
     $criteria = array('sqMenuPai' => $sqMenuPai, 'sqSistema' => $dto->getSqSistema());
     if ($dto->getDirecao() == 'up') {
         $criteria['nuOrdemApresent'] = $entity->getNuOrdemApresent() - 1;
         $entity->setNuOrdemApresent($entity->getNuOrdemApresent() - 1);
         $entity2 = current($this->_getRepository()->findBy($criteria));
         if ($entity2) {
             $entity2->setNuOrdemApresent($entity2->getNuOrdemApresent() + 1);
         }
     } else {
         if ($dto->getDirecao() == 'down') {
             $criteria['nuOrdemApresent'] = $entity->getNuOrdemApresent() + 1;
             $entity->setNuOrdemApresent($entity->getNuOrdemApresent() + 1);
             $entity2 = current($this->_getRepository()->findBy($criteria));
             if ($entity2) {
                 $entity2->setNuOrdemApresent($entity2->getNuOrdemApresent() - 1);
             }
         }
     }
     $entityManager = $this->getEntityManager();
     $entityManager->persist($entity);
     if ($entity2) {
         $entityManager->persist($entity2);
     }
     $entityManager->flush();
     $menusDown = $this->_getRepository()->findMenuBySystemAndPai($dto->getSqSistema(), NULL, $entity->getSqMenuPai() !== NULL ? $entity->getSqMenuPai()->getSqMenu() : NULL);
     $indice = 1;
     if ($menusDown) {
         foreach ($menusDown as $menu) {
             $menu->setNuOrdemApresent($indice);
             $this->_getRepository()->updateNuOrdem($menu);
             $indice++;
         }
     }
 }
Esempio n. 4
0
 public function saveBindProfile(\Core_Dto_Mapping $mapping, array $perfis)
 {
     $queryPerfis = $this->_em->createQueryBuilder();
     $queryPerfis->select('p.sqPerfil')->from('app:Perfil', 'p')->where($queryPerfis->expr()->eq('p.sqSistema', ':sistema'))->setParameter('sistema', $mapping->getSqSistema());
     $perfisFound = $queryPerfis->getQuery()->getArrayResult();
     $inPerfil = array();
     foreach ($perfisFound as $perfil) {
         $inPerfil[] = $perfil['sqPerfil'];
     }
     $criteria = array('sqUsuario' => $mapping->getUsuario(), 'sqUnidadeOrgPessoa' => $mapping->getUnidade());
     if ($inPerfil) {
         $criteria['sqPerfil'] = $inPerfil;
     }
     $usuarioPerfil = $this->getEntityManager()->getRepository('app:UsuarioPerfil')->findBy($criteria);
     foreach ($usuarioPerfil as $usuarioPerf) {
         $this->getEntityManager()->remove($usuarioPerf);
         $this->getEntityManager()->flush();
     }
     $unidade = $this->_em->getUnitOfWork()->createEntity('app:UnidadeOrg', array('sqPessoa' => $mapping->getUnidade()));
     $usuario = $this->_em->find('app:Usuario', $mapping->getUsuario());
     foreach ($perfis as $perfil) {
         $entityPerfil = $perfil->getEntity();
         $this->_em->getUnitOfWork()->registerManaged($entityPerfil, array('sqPerfil' => $entityPerfil->getSqPerfil()), array());
         $usuarioPerfil = new \Sica\Model\Entity\UsuarioPerfil();
         $usuarioPerfil->setSqPerfil($entityPerfil);
         $usuarioPerfil->setSqUnidadeOrgPessoa($unidade);
         $usuarioPerfil->setSqUsuario($usuario);
         $this->_em->persist($usuarioPerfil);
     }
     $this->_em->flush();
 }