Exemplo n.º 1
0
 /**
  * Metódo que recupera o Dto do Rodape
  */
 public function getDtoRodape($data)
 {
     unset($data['sqTipoAssinante']);
     unset($data['noProfissao']);
     $data['sqPessoaCorporativo'] = $data['sqPessoaRodape'];
     $data['sqTipoPessoa'] = \Core_Configuration::getSgdoceTipoPessoaPessoaFisica();
     $data['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDadosRodape();
     $data['noPessoa'] = $data['sqPessoaRodape_autocomplete'];
     $data['txEndereco'] = $data['txEnderecoRodape'];
     $data['coCep'] = str_replace('.', '', str_replace('-', '', $data['coCepRodape']));
     $data['txEnderecoEletronico'] = $data['txEmailRodape'];
     $data['nuTelefone'] = trim(str_replace('-', '', $data['txTelefoneRodape']));
     $data['sqPessoaSgdoce'] = $data['sqTbPessoa'];
     $dtoPessoaSgdoce['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'))));
     //pessoaArtefato
     $dtoPessoaSgdoce['PessoaArtefato'] = \Core_Dto::factoryFromData($data, 'entity', array('entity' => 'Sgdoce\\Model\\Entity\\PessoaArtefato', 'mapping' => array('sqArtefato' => 'Sgdoce\\Model\\Entity\\Artefato', 'sqPessoaSgdoce' => 'Sgdoce\\Model\\Entity\\PessoaSgdoce', 'sqEnderecoSgdoc' => 'Sgdoce\\Model\\Entity\\EnderecoSgdoc', 'sqPessoaFuncao' => 'Sgdoce\\Model\\Entity\\PessoaFuncao', 'sqTratamentoVocativo' => 'Sgdoce\\Model\\Entity\\TratamentoVocativo')));
     return $dtoPessoaSgdoce;
 }
Exemplo n.º 2
0
 /**
  * Metódo que realiza o save da pessoa interessa e assinante.
  */
 public function saveExtraPessoa($entity, $entityArtefatoClone, $entityArtefato)
 {
     //grava pessoa interessada artefato
     $entityInteressadaArtefato = $this->_getRepository('app:PessoaInteressadaArtefato')->findBy(array('sqArtefato' => $entity->getSqArtefato()->getSqArtefato()));
     if (is_array($entityInteressadaArtefato)) {
         foreach ($entityInteressadaArtefato as $entityInteressada) {
             $entityInteressadaClone = clone $entityInteressada;
             $entityInteressadaClone->setSqArtefato($entityArtefatoClone);
             $this->getEntityManager()->persist($entityInteressadaClone);
             $this->getEntityManager()->flush($entityInteressadaClone);
         }
     }
     //grava pessoa interessada artefato
     $entityAssinanteArtefato = $this->_getRepository('app:PessoaAssinanteArtefato')->findBy(array('sqArtefato' => $entity->getSqArtefato()->getSqArtefato()));
     if (is_array($entityAssinanteArtefato)) {
         foreach ($entityAssinanteArtefato as $entityAssinante) {
             $entityAssinanteClone = clone $entityAssinante;
             $entityAssinanteClone->setSqArtefato($entityArtefatoClone);
             $this->getEntityManager()->persist($entityAssinanteClone);
             $this->getEntityManager()->flush($entityAssinanteClone);
         }
     }
     //grava pessoa motivacao artefato
     $entityMotivacaoArtefato = $this->_getRepository('app:Motivacao')->findBy(array('sqArtefato' => $entity->getSqArtefato()->getSqArtefato()));
     if (is_array($entityMotivacaoArtefato)) {
         foreach ($entityMotivacaoArtefato as $entityMotivacao) {
             $entityMotivacaoClone = clone $entityMotivacao;
             $entityMotivacaoClone->setSqArtefato($entityArtefatoClone);
             $this->getEntityManager()->persist($entityMotivacaoClone);
             $this->getEntityManager()->flush($entityMotivacaoClone);
         }
     }
     //grava rodape
     $criteria = array('sqArtefato' => $entityArtefato->getSqArtefato(), 'sqPessoaFuncao' => \Core_Configuration::getSgdocePessoaFuncaoDadosRodape());
     $entityRodapeArtefato = $this->_getRepository('app:PessoaArtefato')->findOneBy($criteria);
     if ($entityRodapeArtefato) {
         $entityRodapeArtefatoClone = clone $entityRodapeArtefato;
         $entityRodapeArtefatoClone->setSqArtefato($entityArtefatoClone);
         $this->getEntityManager()->persist($entityRodapeArtefatoClone);
         $this->getEntityManager()->flush($entityRodapeArtefatoClone);
     }
     //grava o artefato minuta
     $entityArtefatoMinuta = $this->_getRepository()->find($entity->getSqArtefato()->getSqArtefato());
     $entityArtefatoMinutaClone = clone $entityArtefatoMinuta;
     $entityArtefatoMinutaClone->setSqArtefato($entityArtefatoClone);
     $this->getEntityManager()->persist($entityArtefatoMinutaClone);
     $this->getEntityManager()->flush($entityArtefatoMinutaClone);
     //save historico
     $criteria = array('sqArtefato' => $entity->getSqArtefato()->getSqArtefato());
     $entityHistorico = $this->_getRepository('app:HistoricoArtefato')->findBy($criteria);
     $entityHistoricoClone = clone $entityHistorico[0];
     $entityHistoricoClone->setSqArtefato($entityArtefatoClone);
     $this->getEntityManager()->persist($entityHistoricoClone);
     $this->getEntityManager()->flush($entityHistoricoClone);
     //save origem
     $entityOrigemSgdoce = $this->getPessoaSgdoce($entity, \Core_Configuration::getSgdocePessoaFuncaoOrigem());
     $entityOrigemSgdoceClone = clone $entityOrigemSgdoce[0];
     $entityOrigemSgdoceClone->setSqArtefato($entityArtefatoClone);
     $this->getEntityManager()->persist($entityOrigemSgdoceClone);
     $this->getEntityManager()->flush($entityOrigemSgdoceClone);
     //save autor
     $entityAutorSgdoce = $this->getPessoaSgdoce($entity, \Core_Configuration::getSgdocePessoaFuncaoAutor());
     $entityAutorSgdoceClone = clone $entityAutorSgdoce[0];
     $entityAutorSgdoceClone->setSqArtefato($entityArtefatoClone);
     $this->getEntityManager()->persist($entityAutorSgdoceClone);
     $this->getEntityManager()->flush($entityAutorSgdoceClone);
 }
Exemplo n.º 3
0
 /**
  * Metódo que realiza o save da Assinatura
  */
 public function saveRodape($dto, $pessoaEntity)
 {
     $filter = new \Zend_Filter();
     $criteria = array('sqPessoaSgdoce' => $pessoaEntity['PessoaSgdoce']->getSqPessoaSgdoce());
     $entityAux = $this->_getRepository('app:PessoaSgdoce')->findOneBy($criteria);
     $pessoaSgdoceEntity = $pessoaEntity['PessoaSgdoce']->getEntity();
     $pessoaArtefatoEntity = $pessoaEntity['PessoaArtefato']->getEntity();
     if (!$entityAux) {
         $entityAux = $this->_newEntity('app:PessoaSgdoce');
     }
     $tipoPessoa = $this->getEntityManager()->getPartialReference('app:VwTipoPessoa', $pessoaSgdoceEntity->getSqTipoPessoa()->getSqTipoPessoa());
     $sqPessoaCorporativo = $this->getEntityManager()->getPartialReference('app:VwPessoa', $pessoaSgdoceEntity->getSqPessoaCorporativo()->getSqPessoa());
     $entityAux->setNoPessoa($pessoaSgdoceEntity->getNoPessoa());
     $entityAux->setSqPessoaCorporativo($sqPessoaCorporativo);
     $entityAux->setSqTipoPessoa($tipoPessoa);
     $this->getEntityManager()->persist($entityAux);
     $this->getEntityManager()->flush($entityAux);
     //salvar endereco / telefone / email --
     // falta consultar se existe já o endereco e setar no id
     $entityEnderecoArtefato = $this->getServiceLocator()->getService('EnderecoSgdoce')->saveEnderecoPessoaRodape($dto, $entityAux);
     $entityEmailArtefato = $this->getServiceLocator()->getService('EmailSgdoce')->saveEmailPessoaRodape($dto, $entityAux);
     $entityTelefoneArtefato = $this->getServiceLocator()->getService('TelefoneSgdoce')->saveTelefonePessoaRodape($dto, $entityAux);
     //salvar pessoaArtefato
     $entityPessoaArtefato = $this->_newEntity('app:PessoaArtefato');
     $entityArtefato = $this->getEntityManager()->getPartialReference('app:Artefato', $pessoaArtefatoEntity->getSqArtefato()->getSqArtefato());
     $entityPessoaFuncao = $this->getEntityManager()->getPartialReference('app:PessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoDadosRodape());
     $entityPessoaArtefato->setSqArtefato($entityArtefato);
     $entityPessoaArtefato->setSqPessoaSgdoce($entityAux);
     $entityPessoaArtefato->setSqPessoaFuncao($entityPessoaFuncao);
     //outros sets ender/tel/email/
     $entityPessoaArtefato->setSqEnderecoSgdoce($entityEnderecoArtefato);
     $entityPessoaArtefato->setSqEmailSgdoce($entityEmailArtefato);
     $entityPessoaArtefato->setSqTelefoneSgdoce($entityTelefoneArtefato);
     $params['sqPessoaCorporativo'] = $pessoaSgdoceEntity->getSqPessoaCorporativo()->getSqPessoa();
     $params['sqArtefato'] = $pessoaArtefatoEntity->getSqArtefato()->getSqArtefato();
     $params['sqPessoaFuncao'] = \Core_Configuration::getSgdocePessoaFuncaoDadosRodape();
     $dto = \Core_Dto::factoryFromData($params, 'search');
     $result = $this->getServiceLocator()->getService('Pessoa')->findPessoaAssinaturaArtefato($dto);
     if (!$result) {
         $this->getEntityManager()->persist($entityPessoaArtefato);
         $this->getEntityManager()->flush($entityPessoaArtefato);
     }
     return $entityAux;
 }
Exemplo n.º 4
0
 /**
  * método que obtén informarções da pessoa 'rodape' relacionada ao artefato
  * @param integer
  * @return array
  */
 public function getPessoaArtefatoRodape($dto)
 {
     $select = 'pf.sqPessoaFuncao, pf.noPessoaFuncao, p.sqPessoaSgdoce
               ,e.txEndereco, e.nuEndereco,
                em.txEmail, p.noPessoa, p.noProfissao, te.nuTelefone,te.nuDdd, t.noTratamento,
                tv.deEnderecamento, v.noVocativo,
                 cid.noMunicipio, est.noEstado,e.coCep,
                a.deImagemRodape, pc.sqPessoa sqPessoaCorporativo';
     $query = $this->_em->createQueryBuilder()->select($select)->from('app:Artefato', 'a')->innerJoin('a.sqPessoaArtefato', 'pa')->innerJoin('pa.sqPessoaSgdoce', 'p')->innerJoin('pa.sqPessoaFuncao', 'pf')->leftJoin('pa.sqTratamentoVocativo', 'tv')->leftJoin('tv.sqTratamento', 't')->leftJoin('tv.sqVocativo', 'v')->leftJoin('p.sqPessoaCorporativo', 'pc')->leftJoin('pa.sqEnderecoSgdoce', 'e')->leftJoin('e.sqMunicipio', 'cid')->leftJoin('cid.sqEstado', 'est')->leftJoin('pa.sqEmailSgdoce', 'em')->leftJoin('pa.sqTelefoneSgdoce', 'te')->andWhere('a.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato())->andWhere('pf.sqPessoaFuncao = :sqPessoaFuncao')->setParameter('sqPessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoDadosRodape())->getQuery()->execute();
     if (empty($query)) {
         return NULL;
     }
     return $query[0];
 }