コード例 #1
0
ファイル: Artefato.php プロジェクト: sgdoc/sgdoce-codigo
 /**
  * método que retorna dados para grid
  * @param \Core_Dto_Search $dto
  * @return \Doctrine\ORM\QueryBuilder
  */
 public function listGridVinculacao(\Core_Dto_Search $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('af.nuArtefato', 'IDENTITY(af.nuDigital) as nuDigital', 'ta.noTipoArtefato', 'ps.noPessoa', 'av.sqArtefatoVinculo', 'art_pro.coAmbitoProcesso')->from('app:ArtefatoVinculo', 'av')->innerJoin('av.sqArtefatoPai', 'ap')->innerJoin('av.sqArtefatoFilho', 'af')->innerJoin('af.sqTipoArtefatoAssunto', 'taa')->innerJoin('taa.sqTipoArtefato', 'ta')->innerJoin('af.sqPessoaArtefato', 'pa')->innerJoin('pa.sqPessoaSgdoce', 'ps')->leftJoin('af.sqArtefatoProcesso', 'art_pro')->andWhere('av.sqTipoVinculoArtefato = :material')->setParameter('material', $dto->getSqTipoVinculo())->andWhere('av.dtRemocaoVinculo IS NULL')->andWhere('pa.sqPessoaFuncao = :sqPessoaFuncao')->setParameter('sqPessoaFuncao', \Core_Configuration::getSgdocePessoaFuncaoOrigem())->orderBy('af.nuArtefato', 'DESC');
     if ($dto->getSqArtefato()) {
         $queryBuilder->andWhere('ap.sqArtefato = :id')->setParameter('id', $dto->getSqArtefato());
     } else {
         $queryBuilder->andWhere("1 != 1");
     }
     return $queryBuilder;
 }