Exemplo n.º 1
0
 public function buscaPessoaPorDocumento(\Core_Dto_Search $dtoSearch)
 {
     //fazer uma pesquisa no sgdoce também;
     $dadosSgdoce = $this->getServiceLocator()->getService('Pessoa')->findPessoaDestinatarioArtefato($dtoSearch);
     $objCorporativo = $this->_getRepository()->buscaPessoaPorDocumento($dtoSearch);
     if (!count($objCorporativo)) {
         return array();
     }
     $endereco = $this->_getRepository('app:VwEndereco')->findEndereco($objCorporativo->getSqPessoa());
     $criteria = array('sqPessoa' => $objCorporativo->getSqPessoa(), 'sqAtributoTipoDocumento' => \Core_Configuration::getSgdoceSqAtributoTipoDocNumeroPassaporte());
     $documento = $this->_getRepository('app:VwDocumento')->findBy($criteria);
     if (!$documento) {
         $documento = $this->_newEntity('app:VwDocumento');
     }
     if (!$endereco) {
         $endereco = $this->_newEntity('app:VwEndereco');
     }
     $cep = \Zend_Filter::filterStatic($endereco->getSqCep(), 'MaskNumber', array('cep'), array('Core_Filter'));
     $corporativo = array('sqPessoa' => $objCorporativo->getSqPessoa(), 'noPessoa' => $objCorporativo->getNoPessoa(), 'nuCpfCnpjPassaporte' => $this->getServiceLocator()->getService('Pessoa')->getTipoPessoa($dtoSearch, $objCorporativo), 'txEndereco' => $endereco->getTxEndereco(), 'coCep' => $cep, 'sqEstadoDestinatarioId' => $endereco->getSqMunicipio()->getSqEstado()->getSqEstado(), 'sqEstadoDestinatario' => $endereco->getSqMunicipio()->getSqEstado()->getNoEstado(), 'sqMunicipioDestinatarioHidden' => $endereco->getSqMunicipio()->getSqMunicipio(), 'sqMunicipioDestinatario' => $endereco->getSqMunicipio()->getNoMunicipio());
     foreach ($dadosSgdoce as $key => $result) {
         if ($result['coCep'] == $endereco->getSqCep() && $result['sqEstado'] == $endereco->getSqMunicipio()->getSqEstado()->getSqEstado() && $result['sqMunicipio'] == $endereco->getSqMunicipio()->getSqMunicipio() && $result['txEndereco'] == $endereco->getTxEndereco()) {
             unset($corporativo);
             $corporativo = array();
         }
     }
     $base['nuPassaporte'] = $documento->getTxValor();
     $base['sqPessoa'] = $objCorporativo->getSqPessoa();
     $base['noPessoa'] = $objCorporativo->getNoPessoa();
     $base['corporativo'] = $corporativo;
     $base['sgdoce'] = $dadosSgdoce;
     $base['nuCpf'] = $this->getServiceLocator()->getService('Pessoa')->getTipoPessoa($dtoSearch, $objCorporativo);
     return $base;
 }
Exemplo n.º 2
0
 /**
  * Método que retorna os dados da pessoa
  * @return array
  */
 public function getPessoaDados($dtoSearch = NULL)
 {
     $dadosCorporativo = $this->_getRepository($this->_entityNameCorp)->getPessoaDados($dtoSearch);
     //fazer uma pesquisa no sgdoce também;
     $dadosSgdoce = $this->findPessoaDestinatarioArtefato($dtoSearch);
     if (!$dadosCorporativo) {
         return array();
     }
     if (!$dadosSgdoce) {
         $criteria = array('sqPessoaCorporativo' => $dadosCorporativo->getSqPessoa());
         $pessoaSgdoce = $this->_getRepository($this->_entityNameSgdoce)->findOneBy($criteria);
         if ($pessoaSgdoce) {
             $dadosSgdoce = $this->getServiceLocator()->getService('EnderecoSgdoce')->findByArray($pessoaSgdoce);
         }
     }
     $criteria = array('sqPessoa' => $dadosCorporativo->getSqPessoa());
     $endereco = $this->getServiceLocator()->getService('VwEndereco')->findBy($criteria);
     $criteria = array('sqPessoa' => $dadosCorporativo->getSqPessoa(), 'sqAtributoTipoDocumento' => \Core_Configuration::getSgdoceSqAtributoTipoDocNumeroPassaporte());
     $documento = $this->_getRepository('app:VwDocumento')->findBy($criteria);
     if (!$documento) {
         $documento = $this->_newEntity('app:VwDocumento');
     } else {
         $documento = $documento[0];
     }
     if (!$endereco) {
         $endereco = $this->_newEntity('app:VwEndereco');
     }
     $corporativo = $this->validaCorporativo($endereco, $dadosCorporativo, $dtoSearch);
     $corporativo = $this->validaSgdoce($dadosSgdoce, $endereco, $corporativo);
     if ($dtoSearch->getSqTipoPessoa() == \Core_Configuration::getSgdoceTipoPessoaPessoaFisica()) {
         $base['nuCpf'] = $this->getTipoPessoa($dtoSearch, $dadosCorporativo);
     } else {
         $base['nuCnpj'] = $this->getTipoPessoa($dtoSearch, $dadosCorporativo);
     }
     $base['nuPassaporte'] = $documento->getTxValor();
     $base['sqPessoa'] = $dadosCorporativo->getSqPessoa();
     $base['noPessoa'] = $dadosCorporativo->getNoPessoa();
     $base['corporativo'] = $corporativo;
     $base['sgdoce'] = $dadosSgdoce;
     return $base;
 }