private function appendQuery(\Doctrine\ORM\QueryBuilder $queryBuilder, \Core_Dto_Search $dto) { //Filtro por Interessado if ($dto->getSqPessoaSgdoce()) { $queryBuilder->andWhere('vwca.sqPessoaInteressada like :sqPessoaSgdoce')->setParameter('sqPessoaSgdoce', '%' . $dto->getSqPessoaSgdoce() . '%'); } //Filtro por Cpf, Cnpj e Passaport if ($dto->getNuCpfCnpjPassaporte()) { $filter = new \Zend_Filter_Digits(); $queryBuilder->andWhere('vwca.nuCpfCnpjPassaporteOrigem = :nuCpfCnpjPassaporte')->setParameter('nuCpfCnpjPassaporte', $filter->filter($dto->getNuCpfCnpjPassaporte())); } //Filtro pelo tipo de documento if ($dto->getSqTipoDocumento()) { $queryBuilder->andWhere('vwca.sqTipoDocumento = :sqTipoDocumento')->setParameter('sqTipoDocumento', $dto->getSqTipoDocumento()); } if ($dto->getSqPessoaFuncao()) { $queryBuilder->andWhere('vwca.sqPessoaSgdoceOrigem = :sqPessoaSgdoceOrigem ')->setParameter('sqPessoaSgdoceOrigem', $dto->getSqPessoaFuncao()); } $this->appendQuery2($queryBuilder, $dto); }
/** * Realiza a busca de informacoes da pessoa pelo codigo do documento CPF/CNPJ/RegistroEstrangeiro * @param \Core_Dto_Search $search * @return Object */ public function buscaPessoaPorDocumento(\Core_Dto_Search $search) { $filter = new \Zend_Filter_Digits(); $nuCpfCnpjPassaporte = $filter->filter($search->getNuCpfCnpjPassaporte()); switch ($search->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): if ($search->getSqTipoPessoa() == \Core_Configuration::getSgdoceTipoPessoaPessoaFisica()) { $select = 'p,pf'; } else { $select = 'p,pf,d'; } break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $select = 'p,pj'; break; case \Core_Configuration::getSgdoceTipoPessoaMinisterioPublico(): case \Core_Configuration::getSgdoceTipoPessoaOutrosOrgaos(): $select = 'p'; break; } $query = $this->_em->createQueryBuilder()->select($select)->from($this->_enName, 'p'); $this->addWhere($query, $search, $nuCpfCnpjPassaporte); $result = $query->getQuery()->execute(); return $result ? $result[0] : $result; }