/** * * @param \Core_Dto_Abstract $dto * @param string $sql * @return \Doctrine\ORM\NativeQuery */ private function _getQuerySqlGuiaTramiteExterno(\Core_Dto_Abstract $dto, $sql) { $rsm = new \Doctrine\ORM\Query\ResultSetMapping(); $rsm->addScalarResult('sq_artefato', 'sqArtefato'); $rsm->addScalarResult('sq_tipo_artefato', 'sqTipoArtefato'); $rsm->addScalarResult('nu_digital', 'nuDigital'); $rsm->addScalarResult('nu_artefato', 'nuArtefato'); $rsm->addScalarResult('no_tipo_documento', 'noTipoDocumento'); $rsm->addScalarResult('co_ambito_processo', 'coAmbitoProcesso'); $rsm->addScalarResult('no_pessoa_origem', 'noPessoaOrigem'); $arrNotIn = array(\Core_Configuration::getSgdoceTipoVinculoArtefatoReferencia(), \Core_Configuration::getSgdoceTipoVinculoArtefatoApoio(), \Core_Configuration::getSgdoceTipoVinculoArtefatoDespacho()); $query = $this->_em->createNativeQuery($sql, $rsm); $query->setParameter('sqArtefato', $dto->getSqArtefato()); $query->setParameter('sqTipoArtefato', $dto->getSqTipoArtefato()); $query->setParameter('sqPessoaFuncao', $dto->getSqPessoaFuncao()); $query->setParameter('sqTipoVinculoArtefato', $arrNotIn); return $query; }
/** * Exclui o destinatario do artefato * @param \Core_Dto_Search $dtoSearch * @return boolean */ public function deleteDestinatario(\Core_Dto_Abstract $dtoSearch) { $repository = $this->_getRepository($this->_entityName); $criteria = array('sqArtefato' => $dtoSearch->getSqArtefato()->getSqArtefato(), 'sqPessoaSgdoce' => $dtoSearch->getSqPessoaSgdoce()->getSqPessoaSgdoce(), 'sqPessoaFuncao' => $dtoSearch->getSqPessoaFuncao()->getSqPessoaFuncao()); $destinario = $repository->findOneBy($criteria); $this->getEntityManager()->remove($destinario); $this->getEntityManager()->flush(); return TRUE; }