/** * método para cadastrar pessoa na entidade pessoa sgdoce caso necessario * @param \Core_Dto_Search $dto */ public function validarPessoa($dto) { $criteria = array('sqPessoaCorporativo' => $dto->getSqPessoaCorporativo()); $pessoaSgdoce = $this->_getRepository('app:PessoaSgdoce')->findBy($criteria); if (!$pessoaSgdoce) { $criteria = array('sqPessoa' => $dto->getSqPessoaCorporativo()); $pessoa = $this->_getRepository('app:VwPessoa')->findBy($criteria); $pessoa = $pessoa[0]; $sqTipoPessoa = $this->_getRepository('app:VwTipoPessoa')->find($pessoa->getSqTipoPessoa()); $sqPessoaCorp = $this->_getRepository('app:VwPessoa')->find($pessoa->getSqPessoa()); $entity = new \Sgdoce\Model\Entity\PessoaSgdoce(); $entity->setNoPessoa($pessoa->getNoPessoa()); $entity->setSqTipoPessoa($sqTipoPessoa); $entity->setNoPessoa($pessoa->getNoPessoa()); $entity->setSqPessoaCorporativo($sqPessoaCorp); if ($sqPessoaCorp->getSqTipoPessoa() == \Core_Configuration::getSgdoceTipoPessoaPessoaFisica()) { $pessoa = $this->_getRepository('app:VwPessoaFisica')->find($pessoa->getSqPessoa()); $entity->setNuCpfCnpjPassaporte($pessoa->getNuCpf()); } if ($sqPessoaCorp->getSqTipoPessoa() == \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica()) { $pessoa = $this->_getRepository('app:VwPessoaJuridica')->find($pessoa->getSqPessoa()); $entity->setNuCpfCnpjPassaporte($pessoa->getNuCnpj()); } $this->getEntityManager()->persist($entity); $this->getEntityManager()->flush(); } }
public function returnCpfCnpjPassaporte($dtoPessoaSearch) { $vwPessoa = $this->getPessoaDados($dtoPessoaSearch); $nuCpfCnjPassaporte = ''; switch ($vwPessoa->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): if ($vwPessoa->getSqPessoaFisica()->getSqNacionalidade()->getSqPais() == \Core_Configuration::getSgdocePaisBrasil() || $vwPessoa->getSqPessoaFisica()->getSqNacionalidade()->getSqPais() == NULL) { $nuCpfCnjPassaporte = $vwPessoa->getSqPessoaFisica()->getNuCpf(); } else { if ($vwPessoa->getSqPessoaDocumento() && $vwPessoa->getSqPessoaDocumento()->getTxValor() != NULL) { $nuCpfCnjPassaporte = $vwPessoa->getSqPessoaDocumento()->getTxValor(); } } break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $nuCpfCnjPassaporte = $vwPessoa->getSqPessoaJuridica()->getNuCnpj(); break; } return $nuCpfCnjPassaporte; }
/** * Valida dados do documento pessoa * @param $search * @return array */ public function validaDados($search) { $result = $this->_em->getRepository('app:VwPEssoa')->getDocumento(); $nuCpfCnpjPassaporte = str_replace('-', '', $search->getNuCPFInteressado()); $nuCpfCnpjPassaporte = str_replace('/', '', $nuCpfCnpjPassaporte); $nuCpfCnpjPassaporte = str_replace('.', '', $nuCpfCnpjPassaporte); $select = $this->getSelect($search); $query = $this->_em->createQueryBuilder()->select($select)->from('app:VwPessoa', 'p'); if ($search->getSqPessoaCorporativo()) { $query->andWhere('p.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $search->getSqPessoaCorporativo()); } switch ($search->getSqTipoPessoaInteressado()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): $query->leftJoin('p.sqPessoaFisica', 'pf'); if ($nuCpfCnpjPassaporte != '') { $query->andWhere('pf.nuCpf = :nuCpf')->setParameter('nuCpf', $nuCpfCnpjPassaporte); } break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $query->leftJoin('p.sqPessoaJuridica', 'pj'); if ($nuCpfCnpjPassaporte != '') { $query->andWhere('pj.nuCnpj = :nuCnpj')->setParameter('nuCnpj', $nuCpfCnpjPassaporte); } break; case \Core_Configuration::getSgdoceTipoPessoaEstrangeiro(): $query->leftJoin('p.sqPessoaDocumento', 'd'); if ($nuCpfCnpjPassaporte != '') { $query->andWhere('d.sqAtributoTipoDocumento = :sqAtributoTipoDocumento')->setParameter('sqAtributoTipoDocumento', $result['sqAtributoTipoDocumento']); } break; } $out = array(); $result = $query->getQuery()->execute(); foreach ($result as $value) { $out[] = array('sqPessoa' => $value->getSqPessoa(), 'noPessoa' => $value->getNoPessoa(), 'nuCpfCnpjPassaporte' => $this->getCpfCnpjPassaporte($search, $value)); } return $out; }
/** * Realiza o upload do arquivo */ public function uploadFileEndereco($post) { $tipoPessoa = 'fisica'; if (isset($post['sqTipoPessoa']) && $post['sqTipoPessoa']) { if ($post['sqTipoPessoa'] == \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica()) { $tipoPessoa = 'juridica'; } } $dto = new \Core_Dto_Search($post); $this->_redirect('/auxiliar/pessoa-' . $tipoPessoa . '/edit/id/' . $dto->getSqPessoa() . (isset($post['new']) && $post['new'] == 1 ? '/new/true' : '') . '/#enderecos'); }
/** * método que retorna os dados da pessoa rodape * @param dto Search * @return array */ public function getPessoaDadosRodape(\Core_Dto_Search $search) { $nuCpfCnpjPassaporte = ''; $query = $this->_em->createQueryBuilder(); switch ($search->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): $query->select('p,pf,d'); break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): $query->select('p,pj'); break; case \Core_Configuration::getSgdoceTipoPessoaEstrangeiro(): $query->select('p,e'); break; case \Core_Configuration::getSgdoceTipoPessoaMinisterioPublico(): case \Core_Configuration::getSgdoceTipoPessoaOutrosOrgaos(): $query->select('p'); break; default: $query->select('p,pf,pj,e'); } $query->from($this->_enName, 'p'); $this->addWhere($query, $search, $nuCpfCnpjPassaporte); return $query->getQuery()->execute(); }
/** * 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; }
/** * Monta o Dto pessoa * @return array */ public function mountDtoPessoaSgdoce($params) { //sgdoce $dtoSearch = \Core_Dto::factoryFromData($params, 'search'); $params = $this->getPessoaCorporativo($dtoSearch, $params); $dtoPessoaSgdoce = \Core_Dto::factoryFromData($params, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'mapping' => array('sqTipoPessoa' => 'Sgdoce\\Model\\Entity\\VwTipoPessoa', 'sqPessoaCorporativo' => array('sqPessoa' => 'Sgdoce\\Model\\Entity\\VwPessoa')))); $sqPessoaSgdoce = $this->getServiceLocator()->getService('Pessoa')->findPessoaSgdoce($dtoPessoaSgdoce); if (!$sqPessoaSgdoce) { $pessoaCorp = $this->_getRepository('app:VwPessoa')->find($dtoPessoaSgdoce->getSqPessoaCorporativo()->getSqPessoa()); switch ($pessoaCorp->getSqTipoPessoa()) { case \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(): //fisica if ($pessoaCorp->getSqPessoaFisica()->getSqNacionalidade()->getSqPais() == 1 || $pessoaCorp->getSqPessoaFisica()->getSqNacionalidade()->getSqPais() == NULL) { $dtoPessoaSgdoce->setNuCpfCnpjPassaporte($pessoaCorp->getSqPessoaFisica()->getNuCpf()); } else { $repository = $this->_getRepository('app:VwPessoa'); $atributoTipoDocumento = $repository->getDocumento(); $repositoryDoc = $this->_getRepository('app:VwDocumento'); $nuDocumento = $repositoryDoc->findBy(array('sqPessoa' => $pessoaCorp->getSqPessoa(), 'sqAtributoTipoDocumento' => $atributoTipoDocumento['sqAtributoTipoDocumento'])); if (count($nuDocumento)) { $dtoPessoaSgdoce->setNuCpfCnpjPassaporte($nuDocumento[0]->getTxValor()); } } break; case \Core_Configuration::getSgdoceTipoPessoaPessoaJuridica(): //juridica if ($pessoaCorp->getSqPessoaJuridica()) { $dtoPessoaSgdoce->setNuCpfCnpjPassaporte($pessoaCorp->getSqPessoaJuridica()->getNuCnpj()); } break; default: break; } $return = $this->getServiceLocator()->getService('MinutaEletronica')->saveDestinatario($dtoPessoaSgdoce); $sqPessoaSgdoce = $return->getSqPessoaSgdoce(); } $params['sqPessoaSgdoce'] = $sqPessoaSgdoce; return $params; }