/**
  * 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;
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 6
0
 /**
  * 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();
     }
 }
Exemplo n.º 7
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;
 }
Exemplo n.º 8
0
 /**
  * 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;
 }
Exemplo n.º 9
0
 /**
  * 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);
 }
Exemplo n.º 10
0
 /**
  * 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();
 }
Exemplo n.º 11
0
 /**
  * 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;
 }
Exemplo n.º 12
0
 /**
  * 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;
 }