예제 #1
0
 /**
  * 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;
 }