/** * 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(); }
/** * 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(); }
/** * 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; }
/** * * @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; }
/** * 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(); }
/** * 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; } }
/** * * @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; }
/** * 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; }
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; } }
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(); }
/** * 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; }
/** * * @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); }
/** * 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; }
public function hasArtefatoImagemAtiva(\Core_Dto_Search $dto) { $listArtefatoImagem = $this->findBy(array('sqArtefato' => $dto->getSqArtefato(), 'stAtivo' => TRUE)); if (count($listArtefatoImagem)) { return true; } return false; }
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(); }
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; }
/** * 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; }
/** * 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; }
/** * 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(); }
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(); }
/** * * @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; }
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; }
/** * @param \Core_Dto_Search $dtoSearch * @todo validação de artefato inconsistente. */ public function isMigracao($dtoSearch) { $entArtefato = $this->find($dtoSearch->getSqArtefato()); return $entArtefato->getStMigracao(); }