/** * Consulta artefato padrão * @param \Core_Dto_Entity $dto * @return query DQL */ public function listGridConsultaArtefatoPadrao($dto) { $queryBuilder = $this->_em->createQueryBuilder()->select('vwca')->from('app:VwConsultaArtefato', 'vwca')->orderBy('vwca.sqArtefato'); //Filtro pelo tipo digital ou do processo if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_PROCESSO) { $queryBuilder->andWhere('vwca.sqTipoArtefato = :tipoPesquisa')->setParameter('tipoPesquisa', $dto->getTipoPesquisa())->andWhere('vwca.sqTipoArtefato = 2'); } else { if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_DIGITAL) { $queryBuilder->andWhere('vwca.sqTipoArtefato = :tipoPesquisa')->setParameter('tipoPesquisa', $dto->getTipoPesquisa())->andWhere('vwca.sqTipoArtefato = 1')->orWhere('vwca.sqTipoArtefato = 3'); } } //Filtro por número da digital ou do processo if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_DIGITAL) { $this->getNuDigital($queryBuilder, $dto); } else { if ($dto->getTipoPesquisa() == self::TIPO_PESQUISA_AVANCADA_PROCESSO) { $this->getNuArtefato($queryBuilder, $dto); } else { $this->getNuArtefatoNuDigital($queryBuilder, $dto); } } //Filtro por Interessado if ($dto->getSqPessoaSgdoce()) { $queryBuilder->andWhere('vwca.sqPessoaInteressada like :sqPessoaSgdoce')->setParameter('sqPessoaSgdoce', '%' . $dto->getSqPessoaSgdoce() . '%'); } //Filtro por Cpf, Cnpj e Passaport $filter = new \Zend_Filter_Digits(); $nuCpfCnpjPassaporte = ''; if ($dto->getNuCpfCnpjPassaporte()) { $nuCpfCnpjPassaporte = $filter->filter($dto->getNuCpfCnpjPassaporte()); $queryBuilder->andWhere('vwca.nuCpfCnpjPassaporteOrigem = :nuCpfCnpjPassaporte')->setParameter('nuCpfCnpjPassaporte', $nuCpfCnpjPassaporte); } return $queryBuilder; }