Пример #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);
 }
 /**
  *
  * @param \Core_Dto_Search $dto
  * @return boolean
  */
 public function isTramiteExterno(\Core_Dto_Search $dto)
 {
     $sql = "SELECT (uo.sq_pessoa is null) AS is_tramite_externo\n                  FROM sgdoce.vw_ultimo_tramite_artefato uta\n                  JOIN corporativo.vw_pessoa pes\n                    ON pes.sq_pessoa = uta.sq_pessoa_destino\n             LEFT JOIN corporativo.vw_unidade_org uo\n                    ON pes.sq_pessoa = uo.sq_pessoa\n                 WHERE sq_artefato = :sqArtefato";
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping();
     $rsm->addScalarResult('is_tramite_externo', 'isTramiteExterno', 'boolean');
     $query = $this->_em->createNativeQuery($sql, $rsm);
     $query->setParameter('sqArtefato', $dto->getSqArtefato());
     return $query->getSingleScalarResult();
 }
Пример #3
0
 /**
  * método que retorna dados para da assinatura pela chave sqArtefato
  * @param \Core_Dto_Abstract $dto
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function findAssinatura(\Core_Dto_Search $dto)
 {
     $query = mb_strtolower($dto->getQuery(), 'UTF-8');
     $queryBuilder = $this->getEntityManager()->createQueryBuilder()->select('
                 a.sqAssinatura,
                 a.dtAssinatura,
                 a.txMotivacao,
                 p.noPessoa
             ')->from('app:Assinatura', 'a')->leftjoin('a.sqPessoa', 'p')->andWhere('a.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato());
     return $res = $queryBuilder->getQuery()->getOneOrNullResult();
 }
Пример #4
0
 /**
  * Método que retorna os registros do grau de acesso do artefato que estiveram ativos
  * @param \Core_Dto_Search $dtoSearch
  * @return array
  */
 public function getGrauAcessoArtefato(\Core_Dto_Search $dtoSearch)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('gaa')->from('app:GrauAcessoArtefato', 'gaa')->andWhere("gaa.sqArtefato = {$dtoSearch->getSqArtefato()}")->andWhere('gaa.stAtivo = TRUE');
     $result = $queryBuilder->getQuery()->execute();
     if (count($result) > 0) {
         $result = $result[0];
     } else {
         $result = NULL;
     }
     return $result;
 }
 public function listGridHistoricoDespacho(\Core_Dto_Search $dto)
 {
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping();
     $rsm->addScalarResult('total_record', 'totalRecord', 'integer');
     $rsm->addScalarResult('sq_despacho_interlocutorio', 'sqDespachoInterlocutorio', 'integer');
     $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer');
     $rsm->addScalarResult('dt_despacho', 'dtDespacho', 'zenddate');
     $rsm->addScalarResult('tx_despacho', 'txDespacho', 'string');
     $rsm->addScalarResult('no_assinatura', 'noAssinatura', 'string');
     $rsm->addScalarResult('no_origem', 'noOrigem', 'string');
     $rsm->addScalarResult('no_encaminhado', 'noEncaminhado', 'string');
     $rsm->addScalarResult('sq_pessoa_operacao', 'sqPessoaOperacao', 'integer');
     $sql = "SELECT count(sq_despacho_interlocutorio) over() as total_record,\n                       di.sq_despacho_interlocutorio,\n                       di.sq_artefato,\n                       di.dt_despacho,\n                       di.tx_despacho,\n                       pes_ass.no_pessoa as no_assinatura,\n                       uo_orig.sg_unidade_org AS no_origem,\n                       uo_enc.sg_unidade_org AS no_encaminhado,\n                       pes_oper.sq_pessoa AS sq_pessoa_operacao\n                  FROM despacho_interlocutorio di\n                  JOIN vw_pessoa pes_ass ON di.sq_pessoa_assinatura = pes_ass.sq_pessoa\n                  JOIN vw_unidade_org uo_orig ON di.sq_unidade_assinatura = uo_orig.sq_pessoa\n                  JOIN vw_unidade_org uo_enc ON di.sq_unidade_destino = uo_enc.sq_pessoa\n                  JOIN vw_pessoa pes_oper ON di.sq_pessoa_operacao = pes_oper.sq_pessoa\n                 WHERE di.sq_artefato = :sqArtefato\n              ORDER BY di.sq_despacho_interlocutorio DESC";
     $query = $this->_em->createNativeQuery($sql, $rsm);
     $query->setParameter('sqArtefato', $dto->getSqArtefato());
     return $query;
 }
Пример #6
0
 /**
  *
  * @param \Core_Dto_Search $dto
  * @param type $returnArray
  * @return mixed Core_Dto_Search array
  */
 public function findArtefato(\Core_Dto_Search $dto, $returnArray = FALSE)
 {
     $sql = "SELECT * FROM sgdoce.fn_show_area_trabalho(:sqArtefato, NULL, :sqPessoa, :sqUnidadeOrg, NULL, NULL, NULL)";
     $query = $this->_em->createNativeQuery($sql, $this->_getResultMapping());
     $query->setParameter('sqArtefato', (int) $dto->getSqArtefato(), 'integer')->setParameter('sqPessoa', (int) \Core_Integration_Sica_User::getPersonId(), 'integer')->setParameter('sqUnidadeOrg', (int) \Core_Integration_Sica_User::getUserUnit(), 'integer');
     $result = $query->getArrayResult();
     if ($result) {
         $data = current($result);
         if (!$returnArray) {
             $result = \Core_Dto::factoryFromData($data, 'search');
         } else {
             $result = $data;
         }
     } else {
         $result = NULL;
     }
     return $result;
 }
Пример #7
0
 /**
  * Deleta Destinatario
  * @param \Core_Dto_Search $dto
  * @return array
  */
 public function deleteInteressadoSemSqCorporativo($dto)
 {
     $sqPessoaFuncaoInteressado = \Core_Configuration::getSgdocePessoaFuncaoInteressado();
     $sql = "SELECT ps.sq_pessoa_sgdoce\n                 FROM pessoa_artefato pa\n                 JOIN pessoa_sgdoce ps using(sq_pessoa_sgdoce)\n                WHERE pa.sq_artefato = :sqArtefato\n                  AND pa.sq_pessoa_funcao = :sqPessoaFuncaoInteressado\n                  AND ps.sq_pessoa_corporativo IS NULL";
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping();
     $rsm->addScalarResult('sq_pessoa_sgdoce', 'sqPessoaSgdoce', 'integer');
     $nq = $this->_em->createNativeQuery($sql, $rsm);
     $nq->setParameter('sqArtefato', $dto->getSqArtefato());
     $nq->setParameter('sqPessoaFuncaoInteressado', $sqPessoaFuncaoInteressado);
     $result = $nq->getArrayResult();
     if (!$result) {
         return 0;
     }
     $aux = array();
     foreach ($result as $value) {
         $aux[] = $value['sqPessoaSgdoce'];
     }
     $queryBuilder = $this->_em->createQueryBuilder();
     $delete = $queryBuilder->delete($this->_entityName, 'pa')->setParameter('sqArtefato', $dto->getSqArtefato())->setParameter('sqPessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoInteressado())->andWhere('pa.sqArtefato = :sqArtefato')->andWhere('pa.sqPessoaFuncao = :sqPessoaFuncao')->andWhere($queryBuilder->expr()->in('pa.sqPessoaSgdoce', $aux));
     return $delete->getQuery()->execute();
 }
Пример #8
0
 /**
  * Realiza busca para grid
  *
  * @param \Core_Dto_Search $search
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function listGrid($search)
 {
     try {
         $rsm = new \Doctrine\ORM\Query\ResultSetMapping();
         $rsm->addScalarResult('total_record', 'totalRecord', 'integer');
         $rsm->addScalarResult('sq_comentario_artefato', 'sqComentarioArtefato', 'integer');
         $rsm->addScalarResult('sq_pessoa', 'sqPessoa', 'integer');
         $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer');
         $rsm->addScalarResult('sq_unidade_org', 'sqUnidadeOrg', 'integer');
         $rsm->addScalarResult('no_pessoa', 'noPessoa', 'string');
         $rsm->addScalarResult('tx_comentario', 'txComentario', 'string');
         $rsm->addScalarResult('no_unidade_org', 'noUnidadeOrg', 'string');
         $rsm->addScalarResult('dt_comentario', 'dtComentario', 'zenddate');
         $rsm->addScalarResult('dt_tramite', 'dtTramite', 'zenddate');
         $sql = "SELECT COUNT(sq_comentario_artefato) OVER() as total_record,\n                           ca.sq_comentario_artefato,\n                           pes.sq_pessoa,\n                           pes.no_pessoa,\n                           art.sq_artefato,\n                           ca.tx_comentario,\n                           ca.dt_comentario,\n                           uo.sq_pessoa as sq_unidade_org,\n                           uo.no_pessoa as no_unidade_org,\n                           uta.dt_tramite\n                      FROM comentario_artefato ca\n                      JOIN vw_pessoa pes\n                        ON ca.sq_pessoa = pes.sq_pessoa\n                      JOIN artefato art\n                        ON ca.sq_artefato = art.sq_artefato\n                      JOIN vw_unidade_org uo\n                        ON ca.sq_unidade = uo.sq_pessoa\n                      JOIN tramite_artefato uta\n                        ON uta.sq_artefato = ca.sq_artefato AND uta.st_ultimo_tramite\n                    WHERE ca.sq_artefato = :sqArtefato\n                    ORDER BY ca.dt_comentario DESC";
         $query = $this->_em->createNativeQuery($sql, $rsm);
         $query->setParameter('sqArtefato', $search->getSqArtefato());
         return $query;
     } catch (\Exception $e) {
         throw $e;
     }
 }
Пример #9
0
 /**
  *
  * @param \Core_Dto_Search $dto
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function listGrid(\Core_Dto_Search $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $query = $queryBuilder->select('pv')->from('app:ProcessoVolume', 'pv')->where($queryBuilder->expr()->eq('pv.sqArtefato', $dto->getSqArtefato()))->orderBy('pv.nuVolume', 'DESC');
     return $query;
 }
Пример #10
0
 /**
  * Verifica se artefato esta arquivado
  * 
  * @param \Core_Dto_Search $dto
  * @return boolean
  */
 public function isArquivado(\Core_Dto_Search $dto)
 {
     $data = $this->_getRepository()->findOneBySqArtefato($dto->getSqArtefato());
     return $data ? TRUE : FALSE;
 }
Пример #11
0
 public function saveDevolucao(\Core_Dto_Search $dto)
 {
     try {
         $dtOperacao = \Zend_Date::now();
         $sqTipoHistorico = \Core_Configuration::getSgdoceTipoHistoricoArquivoDevolvido();
         foreach ($dto->getSqArtefato()->getApi() as $method) {
             $entityArtefato = $this->_getRepository('app:Artefato')->find($dto->getSqArtefato()->{$method}());
             $this->_checkCanReturn($entityArtefato);
             $entityCaixaArtefato = $this->_getRepository('app:CaixaArtefato')->findOneBy(array('sqArtefato' => $entityArtefato->getSqArtefato()));
             $this->getServiceLocator()->getService('CaixaArtefato')->insertHistorico($entityCaixaArtefato, $dtOperacao, $sqTipoHistorico);
         }
         $this->getEntityManager()->flush();
     } catch (\Exception $e) {
         throw $e;
     }
 }
Пример #12
0
 public function getSolicitacaoDuplicado(\Core_Dto_Search $dto)
 {
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em);
     $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer');
     $rsm->addScalarResult('sq_solicitacao', 'sqSolicitacao', 'integer');
     $rsm->addScalarResult('sq_tipo_assunto_solicitacao', 'sqTipoAssuntoSolicitacao', 'integer');
     $rsm->addScalarResult('ds_solicitacao', 'dsSolicitacao', 'string');
     $rsm->addScalarResult('dt_solicitacao', 'dtSolicitacao', 'zenddate');
     $sql = 'SELECT s.*
               FROM sgdoce.solicitacao s
               JOIN sgdoce.vw_ultimo_status_solicitacao uss USING (sq_solicitacao)
              WHERE s.sq_artefato = :sqArtefato
                AND s.sq_tipo_assunto_solicitacao = :sqTipoAssuntoSolicitacao
                AND s.sq_pessoa = :sqPessoa
                AND s.sq_unidade_org = :sqUnidadeOrg
                AND uss.sq_tipo_status_solicitacao <> :sqStatusAberta';
     $nq = $this->_em->createNativeQuery($sql, $rsm)->setParameter('sqArtefato', $dto->getSqArtefato())->setParameter('sqTipoAssuntoSolicitacao', $dto->getSqTipoAssuntoSolicitacao())->setParameter('sqPessoa', $dto->getSqPessoa())->setParameter('sqUnidadeOrg', $dto->getSqUnidadeOrg())->setParameter('sqStatusAberta', \Core_Configuration::getSgdoceTipoStatusSolicitacaoFinalizada())->useResultCache(false);
     return $nq->getScalarResult();
 }
Пример #13
0
 /**
  * Deleta motivação
  * @param \Core_Dto_Search $dto
  * @return boolean
  */
 public function deleteMotivacao($dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->delete('app:Motivacao', 'm')->andWhere('m.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato()->getSqArtefato())->andWhere('m.sqPessoaUnidadeOrg = :sqPessoaUnidadeOrg')->setParameter('sqPessoaUnidadeOrg', $dto->getSqPessoaUnidadeOrg()->getSqPessoaUnidadeOrg());
     $out = $queryBuilder->getQuery()->execute();
     return $out;
 }
Пример #14
0
 /**
  *
  * @param \Core_Dto_Abstract $dto
  * @return array
  */
 public function listGridMaterial(\Core_Dto_Search $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('ta.noTipoAnexo, af.nuDigital, aav.noTituloAnexo, aav.sqAnexoArtefatoVinculo')->from('app:AnexoArtefatoVinculo', 'aav')->innerJoin('aav.sqArtefatoVinculo', 'av')->innerJoin('aav.sqTipoAnexo', 'ta')->innerJoin('av.sqArtefatoPai', 'ap')->innerJoin('av.sqArtefatoFilho', 'af')->andWhere('ap.sqArtefato = :sqArtefato')->andWhere('av.sqTipoVinculoArtefato = :sqTipoVinculoArtefato')->setParameter('sqArtefato', $dto->getSqArtefato())->setParameter('sqTipoVinculoArtefato', \Core_Configuration::getSgdoceTipoVinculoArtefatoApoio());
     return $queryBuilder;
 }
 public function getAssinanteArtefato(\Core_Dto_Search $dtoSearch)
 {
     $criteria = array('sqArtefato' => $dtoSearch->getSqArtefato());
     return $this->_getRepository()->findOneBy($criteria);
 }
Пример #16
0
 /**
  * método que retorna dados para grid de historico dos dados do sistema antigo
  *
  * @param \Core_Dto_Abstract $dto
  * @return \Doctrine\ORM\NativeQuery
  */
 public function listGridHistoricoFisico(\Core_Dto_Search $dto)
 {
     $strSql = "SELECT *\n                     FROM vw_historico_sgdoc_fisico\n                    WHERE sq_artefato = :sqArtefato\n                 ORDER BY dt_operacao DESC";
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em);
     $rsm->addScalarResult('tx_operacao', 'txOperacao', 'string');
     $rsm->addScalarResult('no_pessoa', 'noPessoa', 'string');
     $rsm->addScalarResult('no_unidade_org', 'noUnidadeOrg', 'string');
     $rsm->addScalarResult('dt_operacao', 'dtOperacao', 'zenddate');
     $nativeQuery = $this->_em->createNativeQuery($strSql, $rsm);
     $nativeQuery->setParameter('sqArtefato', $dto->getSqArtefato());
     $nativeQuery->useResultCache(false);
     return $nativeQuery;
 }
Пример #17
0
 public function hasArtefatoImagemAtiva(\Core_Dto_Search $dto)
 {
     $listArtefatoImagem = $this->findBy(array('sqArtefato' => $dto->getSqArtefato(), 'stAtivo' => TRUE));
     if (count($listArtefatoImagem)) {
         return true;
     }
     return false;
 }
Пример #18
0
 public function getFirstPiece(\Core_Dto_Search $dto)
 {
     $data = $this->_getRepository('app:ArtefatoVinculo')->findBy(array('sqArtefatoPai' => $dto->getSqArtefato(), 'sqTipoVinculoArtefato' => \Core_Configuration::getSgdoceTipoVinculoArtefatoAutuacao()));
     return current($data);
 }
 /**
  * método que retorna dados para Vizualizar o Artefato
  * @param \Core_Dto_Abstract $dto
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function countInteressadosArtefatoValido(\Core_Dto_Search $dto)
 {
     $query = mb_strtolower($dto->getQuery(), 'UTF-8');
     $queryBuilder = $this->getEntityManager()->createQueryBuilder()->select('count(ps.sqPessoaSgdoce) as nu_interessados')->from('app:Artefato', 'a')->innerJoin('a.sqPessoaInteressadaArtefato', 'pa')->innerJoin('pa.sqPessoaSgdoce', 'ps')->andWhere('a.sqArtefato = :sqArtefato')->andWhere('ps.sqPessoaCorporativo IS NOT NULL')->setParameter('sqArtefato', $dto->getSqArtefato());
     return $res = $queryBuilder->getQuery()->getSingleResult();
 }
Пример #20
0
 public function hasTramiteEfetivo(\Core_Dto_Search $dto)
 {
     $sql = "SELECT (count(sq_tramite_artefato) > 1) has_tramite_efetivo\n                  FROM tramite_artefato\n                 WHERE nu_tramite <> :nuTramite\n                   AND sq_status_tramite < :sqStatusTramite\n                   AND NOT st_ultimo_tramite\n                   AND sq_artefato = :sqArtefato";
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em);
     $rsm->addScalarResult('has_tramite_efetivo', 'hasTramiteEfetivo', 'boolean');
     $nq = $this->_em->createNativeQuery($sql, $rsm)->useResultCache(false);
     $nq->setParameters(array('nuTramite' => TramiteArtefatoService::FIRST_TRAMITE_NUMBER, 'sqStatusTramite' => \Core_Configuration::getSgdoceStatusTramiteCancelado(), 'sqArtefato' => $dto->getSqArtefato()));
     return $nq->getSingleScalarResult();
 }
 /**
  * @param \Core_Dto_Search $dto
  */
 public function findRequest(\Core_Dto_Search $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('smi')->from('app:SolicitacaoMigracaoImagem', 'smi')->andWhere($queryBuilder->expr()->eq("smi.sqArtefato", $dto->getSqArtefato()));
     return $queryBuilder->getQuery()->execute();
 }
 /**
  * Método que obtém os dados para grid
  * @param \Core_Dto_Search $dtoSearch
  * @return array
  */
 public function getResultList(\Core_Dto_Search $dtoSearch)
 {
     $dtoSearch->sqArtefato = $this->_getParam('sqArtefato');
     $dtoSearch->limitComment = self::T_ARTEFATO_DESPACHO_INTERLOCUTORIO_LIMIT_COMMENT_GRID;
     $dtoSearch->hasPermission = $this->_checkPermissaoArtefato($dtoSearch->getSqArtefato());
     $dtoSearch->ultimoTramite = $this->getService('TramiteArtefato')->getLastTramite($dtoSearch->getSqArtefato());
     $dtoSearch->demandaAberta = $this->getService('Solicitacao')->getSolicitacaoAberta($dtoSearch);
     $res = $this->getService()->getGrid($dtoSearch);
     return $res;
 }
Пример #23
0
 /**
  * método salvar vinculo de material de apoio dos artefatos
  * @param \Core_Dto_Search $dto
  */
 public function salvarMaterial(\Core_Dto_Search $dto)
 {
     $criteria = array('nuDigital' => $dto->getNuDigital());
     $artefato = $this->_getRepository('app:Artefato')->findOneBy($criteria);
     $sqArtefatoPai = $this->_getRepository()->find($dto->getSqArtefato());
     $sqArtefatoFilho = $this->_getRepository()->find($artefato->getSqArtefato());
     $sqTipoVinculo = $this->_getRepository('app:TipoVinculoArtefato')->find(\Core_Configuration::getSgdoceTipoVinculoArtefatoApoio());
     $entity = new \Sgdoce\Model\Entity\ArtefatoVinculo();
     $entity->setSqArtefatoPai($sqArtefatoPai);
     $entity->setSqArtefatoFilho($sqArtefatoFilho);
     $entity->setSqTipoVinculoArtefato($sqTipoVinculo);
     $entity->setDtVinculo(\Zend_Date::now());
     $this->getEntityManager()->persist($entity);
     $this->getEntityManager()->flush();
     return $entity;
 }
Пример #24
0
 /**
  * método que retorna dados para grid de interessados nos Artefato
  * @param \Core_Dto_Abstract $dto
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function listGridImagem(\Core_Dto_Search $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('aa')->from('app:AnexoArtefato', 'aa')->andWhere('aa.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato())->orderBy('aa.nuPagina');
     return $queryBuilder;
 }
Пример #25
0
 /**
  * Método que obtén informarções das pessoas relacionadas ao artefato
  * @param \Core_Dto_Search $dto
  * @return json
  */
 public function findbyPessoa($dto)
 {
     return $this->_em->createQueryBuilder()->select('p,a,pf,tp,tv')->from($this->_enName, 'p')->innerJoin('p.sqArtefato', 'a')->innerJoin('p.sqPessoaFuncao', 'pf')->innerJoin('p.sqTipoPessoa', 'tp')->leftJoin('p.sqTratamentoVocativo', 'tv')->andWhere('a.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato())->getQuery()->execute();
 }
Пример #26
0
 public function getSqArtefatoPrincipal(\Core_Dto_Search $dto)
 {
     $sql = "SELECT art.sq_artefato\n                  FROM sgdoce.artefato AS art\n                 WHERE art.sq_artefato = (SELECT sgdoce.obter_vinculo_pai(:sqArtefato))";
     $rsm = new \Doctrine\ORM\Query\ResultSetMapping($this->_em);
     $rsm->addScalarResult('sq_artefato', 'sqArtefato', 'integer');
     $nq = $this->_em->createNativeQuery($sql, $rsm)->setParameter('sqArtefato', $dto->getSqArtefato());
     return $nq->useResultCache(false)->getSingleScalarResult();
 }
Пример #27
0
 /**
  *
  * @param \Core_Dto_Search $dto
  * @return array
  */
 public function listGrid(\Core_Dto_Search $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('asic')->from('app:AnexoSic', 'asic')->andWhere('asic.sqArtefato = :sqArtefato')->setParameter('sqArtefato', $dto->getSqArtefato());
     return $queryBuilder;
 }
Пример #28
0
 public function addArtefatoVinculo(\Core_Dto_Search $dto)
 {
     $entity = NULL;
     $artefato = $this->_getRepository('app:Artefato')->findBy(array('nuDigital' => $dto->getNuDigital()));
     if ($artefato) {
         $sqArtefatoPai = $this->_getRepository('app:Artefato')->find($dto->getSqArtefato());
         $sqArtefatoFilho = $this->_getRepository()->find($artefato[0]->getSqArtefato());
         $sqTipoVinculo = $this->_getRepository('app:TipoVinculoArtefato')->find($dto->getTipoVinculo());
         $entity = new \Sgdoce\Model\Entity\ArtefatoVinculo();
         $entity->setSqArtefatoPai($sqArtefatoPai);
         $entity->setSqArtefatoFilho($sqArtefatoFilho);
         $entity->setSqTipoVinculoArtefato($sqTipoVinculo);
         $entity->setDtVinculo(\Zend_Date::now());
         if ($dto->getInOriginal()) {
             $entity->setInOriginal($dto->getInOriginal());
         } else {
             $entity->setInOriginal(FALSE);
         }
         $this->getEntityManager()->persist($entity);
         $this->getEntityManager()->flush($entity);
     }
     return $entity;
 }
Пример #29
0
 /**
  * @param \Core_Dto_Search $dtoSearch
  * @todo validação de artefato inconsistente.
  */
 public function isMigracao($dtoSearch)
 {
     $entArtefato = $this->find($dtoSearch->getSqArtefato());
     return $entArtefato->getStMigracao();
 }