Beispiel #1
0
 public function listGrid(\Core_Dto_Search $dto)
 {
     $query = $this->_em->createQueryBuilder();
     $query->select('s.sqSistema, s.sgSistema, s.noSistema, s.stRegistroAtivo, a.noArquitetura, r.noPessoa')->from($this->_entityName, 's')->leftJoin('s.sqArquitetura', 'a')->innerJoin('s.sqPessoaResponsavel', 'r')->leftJoin('r.sqPessoaFisica', 'pf');
     if ($dto->hasNoSistema()) {
         $expre = $query->expr()->lower($query->expr()->trim('s.noSistema'));
         $value = "%" . mb_strtolower(trim($dto->getNoSistema()), 'UTF-8') . "%";
         $query->andWhere('(' . $query->expr()->like($expre, ':sistema') . ' OR ' . $query->expr()->like($expre, ':orSistema') . ' OR ' . $query->expr()->like('clear_accentuation(' . $expre . ')', $query->expr()->literal($this->translate($value))) . ')')->setParameter('sistema', $value)->setParameter('orSistema', $this->translate($value));
     }
     if ($dto->hasSistema()) {
         $query->andWhere($query->expr()->eq('s.sqSistema', ':sqSistema'))->setParameter('sqSistema', $dto->getSistema(), 'integer');
     }
     if ($dto->getNoPessoa()) {
         $expre = $query->expr()->lower($query->expr()->trim('r.noPessoa'));
         $value = "%" . mb_strtolower(trim($dto->getNoPessoa()), 'UTF-8') . "%";
         $query->andWhere('(' . $query->expr()->like($expre, ':responsavel') . ' OR ' . $query->expr()->like($expre, ':orResposavel') . ' OR ' . $query->expr()->like('clear_accentuation(' . $expre . ')', $query->expr()->literal($this->translate($value))) . ')')->setParameter('responsavel', $value)->setParameter('orResposavel', $this->translate($value));
     }
     if ($dto->hasSqArquitetura()) {
         $query->andWhere($query->expr()->eq('a.sqArquitetura', ':arquitetura'))->setParameter('arquitetura', $dto->getSqArquitetura(), 'integer');
     }
     if ($dto->hasNuCpf()) {
         $query->andWhere($query->expr()->eq('pf.nuCpf', ':cpf'))->setParameter('cpf', \Zend_Filter::filterStatic($dto->getNuCpf(), 'Digits'), 'integer');
     }
     if ($dto->hasStRegistroAtivo()) {
         $query->andWhere($query->expr()->eq('s.stRegistroAtivo', ':registro'))->setParameter('registro', $dto->getStRegistroAtivo());
     }
     return $query;
 }
Beispiel #2
0
 public function findUsers(\Core_Dto_Search $dto)
 {
     $tipoTelefoneInstituicional = \Core_Configuration::getCorpTipoTelefoneInstitucional();
     $tipoEmailInstituicional = \Core_Configuration::getCorpTipoEmailInstitucional();
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('pf.nuCpf, p.noPessoa, e.txEmail, t.nuTelefone, t.nuDdd, u.stAtivo, s.sqSistema, ' . 's.noSistema, s.sgSistema, pl.noPerfil, un.noPessoa noUnidade')->from($this->_entityName, 'u')->innerJoin('u.sqPessoa', 'p')->innerJoin('p.sqPessoaFisica', 'pf')->leftJoin('p.telefone', 't', 'WITH', $queryBuilder->expr()->eq('t.sqTipoTelefone', ':tipoTelefone'))->leftJoin('p.email', 'e', 'WITH', $queryBuilder->expr()->eq('e.sqTipoEmail', ':tipoEmail'))->leftJoin('u.sqUsuarioPerfil', 'up')->leftJoin('up.sqPerfil', 'pl')->leftJoin('pl.sqSistema', 's')->leftJoin('up.sqUnidadeOrgPessoa', 'un')->setParameter('tipoTelefone', $tipoTelefoneInstituicional, 'integer')->setParameter('tipoEmail', $tipoEmailInstituicional, 'integer')->orderBy('p.noPessoa, s.sgSistema, s.noSistema')->addOrderBy('pl.noPerfil, un.noPessoa');
     if ($dto->hasNuCpf()) {
         $cpf = \Zend_Filter::filterStatic($dto->getNuCpf(), 'Digits');
         $queryBuilder->andWhere($queryBuilder->expr()->eq('pf.nuCpf', ':cpf'))->setParameter('cpf', $cpf);
     }
     if ($dto->hasNoPessoa()) {
         $queryBuilder->andWhere($queryBuilder->expr()->like($queryBuilder->expr()->lower('p.noPessoa'), ':pessoa'))->setParameter('pessoa', '%' . mb_strtolower($dto->getNoPessoa(), 'utf-8') . '%');
     }
     if ($dto->hasSqUnidadeOrg() && $dto->getSqUnidadeOrg()) {
         $queryBuilder->andWhere($queryBuilder->expr()->eq('un.sqUnidadeOrgPessoa', ':unidade'))->setParameter('unidade', $dto->getSqUnidadeOrg());
     }
     if ($dto->hasSqSistema()) {
         $queryBuilder->andWhere($queryBuilder->expr()->eq('s.sqSistema', ':sistema'))->setParameter('sistema', $dto->getSqSistema());
     }
     if ($dto->hasSqPerfil()) {
         $queryBuilder->andWhere($queryBuilder->expr()->eq('pl.sqPerfil', ':perfil'))->setParameter('perfil', $dto->getSqPerfil());
     }
     if ($dto->hasStAtivo()) {
         $queryBuilder->andWhere($queryBuilder->expr()->eq('u.stAtivo', ':ativo'))->setParameter('ativo', $dto->getStAtivo());
     }
     return $queryBuilder->getQuery()->getArrayResult();
 }