/** * 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; }