示例#1
0
 /**
  * método para persistencia  - Grau de Acesso
  * @param \Core_Dto_Search $dto
  */
 public function alterarArtefato($dto)
 {
     $sqTipoDocumento = $this->_getRepository('app:TipoDocumento')->find($dto->getSqTipoDocumento());
     $criteria = array('sqAssunto' => $dto->getSqAssunto(), 'sqTipoArtefato' => \Core_Configuration::getSgdoceTipoArtefatoDossie());
     $sqTipoArtefatoAssunto = $this->_getRepository('app:TipoArtefatoAssunto')->findBy($criteria);
     $entity = $this->_getRepository('app:Artefato')->find($dto->getSqArtefato());
     $entity->setNuArtefato($dto->getNuArtefato());
     $entity->setSqTipoDocumento($sqTipoDocumento);
     $entity->setTxAssuntoComplementar($dto->getTxAssuntoComplementar());
     $entity->setSqTipoArtefatoAssunto($this->_getRepository('app:TipoArtefatoAssunto')->find($sqTipoArtefatoAssunto[0]->getSqTipoArtefatoAssunto()));
     $entityArtefatoDossie = $this->_getRepository('app:ArtefatoDossie')->find($dto->getSqArtefato());
     if (!$entityArtefatoDossie) {
         $entityArtefatoDossie = new \Sgdoce\Model\Entity\ArtefatoDossie();
     }
     $entityArtefatoDossie->setNoTitulo($dto->getNoTitulo());
     $entityArtefatoDossie->setTxObservacao($dto->getTxObservacao());
     $entityArtefatoDossie->setSqArtefato($entity);
     $this->getEntityManager()->persist($entityArtefatoDossie);
     $this->getEntityManager()->flush($entityArtefatoDossie);
     //Persistir PessoaAssinanteArtefato
     $this->persistPessoaAssinanteArtefato($entity, $dto);
     self::_salvaOrigem($entity, $dto);
     // RN - Caso não exista Grau de Acesso ao Artefato sera por default publico(1)
     if (!$dto->getSqGrauAcesso()) {
         $data = array('sqGrauAcesso' => \Core_Configuration::getSgdoceGrauAcessoPublico());
         $dto = new \Core_Dto_Mapping($data, array_keys($data));
         $sqGrauAcesso = $this->_getRepository('app:GrauAcesso')->find($dto->getSqGrauAcesso());
     } else {
         $sqGrauAcesso = $this->_getRepository('app:GrauAcesso')->find($dto->getSqGrauAcesso());
     }
     // realizando a persistencia do Grau de Acesso
     $test = $this->persistGrauAcessoArtefato($entity, $sqGrauAcesso);
     $this->getEntityManager()->persist($entity);
     $this->getEntityManager()->flush($entity);
 }
示例#2
0
 /**
  * método que pesquisa dados da grid
  * @param array $params
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function listItemsTipoArtefato($tipo = NULL)
 {
     $tipoDocumento = \Core_Configuration::getSgdoceTipoArtefatoDocumento();
     $tipoProcesso = \Core_Configuration::getSgdoceTipoArtefatoProcesso();
     $tipoDossie = \Core_Configuration::getSgdoceTipoArtefatoDossie();
     $tipoAmbos = \Core_Configuration::getSgdoceTipoArtefatoAmbos();
     $queryBuilder = $this->_em->createQueryBuilder()->select('ta.sqTipoArtefato,ta.noTipoArtefato')->from('app:TipoArtefato', 'ta')->orderBy('ta.noTipoArtefato', 'ASC');
     if ($tipo == 'documento') {
         $queryBuilder->where($queryBuilder->expr()->in('ta.sqTipoArtefato', array($tipoDocumento, $tipoProcesso)));
     } else {
         if ($tipo == 'material') {
             $queryBuilder->where($queryBuilder->expr()->in('ta.sqTipoArtefato', array($tipoDocumento, $tipoDossie)));
         }
     }
     $out = array();
     $res = $queryBuilder->getQuery()->getArrayResult();
     foreach ($res as $item) {
         $out[$item['sqTipoArtefato']] = $item['noTipoArtefato'];
     }
     return $out;
 }
示例#3
0
 /**
  * @param integer $sqArtefato
  * @return boolean
  */
 public function canUpload($sqArtefato)
 {
     $artefatoEntity = $this->_getRepository('app:Artefato')->find($sqArtefato);
     if ($artefatoEntity instanceof ArtefatoEntity) {
         $tipoArtefatoAssuntoEntity = $artefatoEntity->getSqTipoArtefatoAssunto();
         if ($tipoArtefatoAssuntoEntity instanceof TipoArtefatoAssuntoEntity) {
             $tipoArtefatoEntity = $tipoArtefatoAssuntoEntity->getSqTipoArtefato();
             if ($tipoArtefatoEntity instanceof TipoArtefatoEntity) {
                 $allowedList = array(\Core_Configuration::getSgdoceTipoArtefatoDossie(), \Core_Configuration::getSgdoceTipoArtefatoDocumento());
                 return in_array($tipoArtefatoEntity->getSqTipoArtefato(), $allowedList);
             }
         }
     }
     return false;
 }