Example #1
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();
 }