/** * Obtém os dados da pessoa * @return array */ public function validaDadosInterno(\Core_Dto_Abstract $dto) { $filter = new \Zend_Filter_Digits(); $nuCpfCnpjPassaporte = $filter->filter($dto->getNuCPFInteressado()); $queryBuilder = $this->getEntityManager()->createQueryBuilder()->select('vf, p')->from('app:VwProfissional', 'vf')->innerJoin('vf.sqPessoa', 'p'); if ($dto->hasQuery()) { $query = mb_strtolower($dto->getQuery(), 'UTF-8'); $queryBuilder->andWhere('LOWER(p.noPessoa) like :noPessoa')->setParameter('noPessoa', '%' . $query . '%'); } if ($nuCpfCnpjPassaporte) { $queryBuilder->leftJoin('p.sqPessoaFisica', 'pf'); if ($nuCpfCnpjPassaporte != '') { $queryBuilder->andWhere('pf.nuCpf = :nuCpf')->setParameter('nuCpf', $nuCpfCnpjPassaporte); } } $queryBuilder->orderBy('p.noPessoa'); $out = array(); $result = $queryBuilder->getQuery()->execute(); foreach ($result as $value) { $out[] = array('sqPessoa' => $value->getSqProfissional()->getSqPessoa(), 'noPessoa' => $value->getSqProfissional()->getNoPessoa(), 'nuCpfCnpjPassaporte' => $value->getSqProfissional()->getSqPessoaFisica() != NULL ? $value->getSqProfissional()->getSqPessoaFisica()->getNuCpf() : NULL); } return $out; }