/** * Metódo que recupera o Dto da Assinatura */ public function getDtoAssinatura($data) { $data['sqPessoaCorporativo'] = $data['sqResponsavel']; $data['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); $data['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoAssinatura(); $data['sqPessoa'] = $data['sqPessoaAssinante']; $data['noPessoa'] = $data['sqResponsavel_autocomplete']; $dtoAssinatura['PessoaSgdoce'] = \Core_Dto::factoryFromData($data, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'mapping' => array('sqTipoPessoa' => 'Sgdoce\\Model\\Entity\\VWTipoPessoa', 'sqPessoaCorporativo' => array('sqPessoa' => 'Sgdoce\\Model\\Entity\\VwPessoa')))); $dtoAssinatura['PessoaAssinante'] = \Core_Dto::factoryFromData($data, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaAssinanteArtefato', 'mapping' => array('sqArtefato' => 'Sgdoce\\Model\\Entity\\Artefato', 'sqPessoaSgdoce' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'sqTipoAssinante' => 'Sgdoce\\Model\\Entity\\TipoAssinante'))); return $dtoAssinatura; }
public function addDestinatarioInternoAction() { $params = $this->_getAllParams(); $result = 'true'; $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario(); if ($params['sqTipoUnidadeOrg'] != '' && $params['sqUnidadeOrg'] == '' && $params['sqPessoaCorporativo'] == '') { $params['sqTipoEndereco'] = \Core_Configuration::getSgdoceTipoEnderecoResidencial(); $dtoSearch = Core_Dto::factoryFromData($params, 'search'); $service = $this->getService('TipoUnidadeOrg')->searchUnidadeOrgPorTipo($dtoSearch); $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); foreach ($service as $key => $value) { $params['sqPessoaCorporativo'] = $value['sqUnidadeOrg']; $params['noPessoa'] = $value['noUnidadeOrg']; $result = $this->searchUnidade($params); } //se preencher o tipo e a unidade } else { if ($params['sqTipoUnidadeOrg'] != '' && $params['sqUnidadeOrg'] != '' && $params['sqPessoaCorporativo'] == '') { $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); $params['sqTipoEndereco'] = \Core_Configuration::getSgdoceTipoEnderecoResidencial(); $params['sqPessoaCorporativo'] = $params['sqUnidadeOrg']; $params['noPessoa'] = $params['noUnidadeOrg']; $result = $this->searchUnidade($params); } else { $result = $this->searchUnidade($params); } } $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE); $this->_response->setBody($result); }
/** * Metódo que retorna a lista os destinatarios internos. * @return NULL */ public function listDestinatarioInternoAction() { $params = $this->_getAllParams(); $this->_helper->layout->disableLayout(); $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario(); $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); $configArray = $this->getConfigListDestinatario(); $this->view->grid = new Core_Grid($configArray); $params = $this->view->grid->mapper($params); $this->view->dto = Core_Dto::factoryFromData($params, 'search'); $this->view->result = $this->getResultListDestinatario($this->view->dto); }
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; }
/** * Metódo que retorna a lista com os temas tratados. * @return array */ public function listTemaTratadoAction() { $params = $this->_getAllParams(); $this->_helper->layout->disableLayout(); $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDestinatario(); $params['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica(); $configArray = array('columns' => array(array('alias' => 'vi.nome'), array('alias' => 'vi.tipo'))); $this->view->grid = new Core_Grid($configArray); $params = $this->view->grid->mapper($params); $this->view->dto = Core_Dto::factoryFromData($params, 'search'); $this->view->result = $this->getResultListTemaTratado($this->view->dto); }
/** * 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(); } }
/** * 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; }
/** * 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; }
/** * Metódo que realiza o save da Origem e Autor da Minuta */ public function saveOrigemAutor($entity, $unidadeEntity, $pessoaEntity) { $criteria = array('sqPessoaCorporativo' => $pessoaEntity->getSqPessoa()); $entityAux1 = $this->_getRepository('app:PessoaSgdoce')->findOneBy($criteria); if (!$entityAux1) { $entityAux1 = $this->_newEntity('app:PessoaSgdoce'); } $entityAux1->setSqPessoaCorporativo($pessoaEntity); $entityTipoPessoa = $this->getEntityManager()->getPartialReference('app:VwTipoPessoa', \Core_Configuration::getSgdoceTipoPessoaPessoaFisica()); $entityAux1->setNoPessoa($pessoaEntity->getNoPessoa()); $entityAux1->setSqTipoPessoa($entityTipoPessoa); $this->getEntityManager()->persist($entityAux1); $this->getEntityManager()->flush($entityAux1); $entityPessoaArtefato = $this->_newEntity('app:PessoaArtefato'); $entityArtefato = $this->getEntityManager()->getPartialReference('app:Artefato', $entity->getSqArtefato()->getSqArtefato()); $entityPessoaFuncao = $this->getEntityManager()->getPartialReference('app:PessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoAutor()); $entityPessoaArtefato->setSqArtefato($entityArtefato); $entityPessoaArtefato->setSqPessoaSgdoce($entityAux1); $entityPessoaArtefato->setSqPessoaFuncao($entityPessoaFuncao); //grava demais dados,endereco,email,telefone $this->saveComplementoPessoa($entityPessoaArtefato, $pessoaEntity, $entityAux1); $this->getEntityManager()->persist($entityPessoaArtefato); $this->getEntityManager()->flush($entityPessoaArtefato); $vwPessoa = $this->getServiceLocator()->getService('VwPessoa')->find($unidadeEntity->getSqUnidadeOrg()); $criteria = array('sqPessoaCorporativo' => $vwPessoa->getSqPessoa()); $entityAux2 = $this->_getRepository('app:PessoaSgdoce')->findOneBy($criteria); if (!$entityAux2) { $entityAux2 = $this->_newEntity('app:PessoaSgdoce'); } $entityAux2->setSqPessoaCorporativo($vwPessoa); $entityTipoPessoa = $this->getEntityManager()->getPartialReference('app:VwTipoPessoa', \Core_Configuration::getSgdoceTipoPessoaMinisterioPublico()); $entityPessoaFuncao = $this->getEntityManager()->getPartialReference('app:PessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoOrigem()); $entityAux2->setNoPessoa($unidadeEntity->getNoUnidadeOrg()); $entityAux2->setSqTipoPessoa($entityTipoPessoa); $this->getEntityManager()->persist($entityAux2); $this->getEntityManager()->flush($entityPessoaArtefato); $entityPessoaArtefato = $this->_newEntity('app:PessoaArtefato'); $entityPessoaArtefato->setSqArtefato($entityArtefato); $entityPessoaArtefato->setSqPessoaFuncao($entityPessoaFuncao); $entityPessoaArtefato->setSqPessoaSgdoce($entityAux2); $this->saveComplementoPessoa($entityPessoaArtefato, $pessoaEntity, $entityAux2); $this->getEntityManager()->persist($entityPessoaArtefato); $this->getEntityManager()->flush($entityPessoaArtefato); }
/** * 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; }