public function filtraPesquisaDigital(\Doctrine\ORM\QueryBuilder &$queryBuilder, \Core_Dto_Search $dto) { if ($dto->getTipoPesquisa() == static::TIPO_PESQUISA_AVANCADA_DIGITAL) { if ($dto->getDtArtefatoInicio() && $dto->getDtArtefatoFim()) { $queryBuilder->andWhere('vwca.dtArtefato >= :inicial')->setParameter('inicial', $dto->getDtArtefatoInicio())->andWhere('vwca.dtPrazo <= :final')->setParameter('final', $dto->getDtArtefatoFim())->andWhere('vwca.sqTipoArtefato = 1')->orWhere('vwca.sqTipoArtefato = 3'); } else { if ($dto->getDtArtefatoInicio()) { $queryBuilder->andWhere('vwca.dtArtefato >= :inicial')->setParameter('inicial', $dto->getDtArtefatoInicio())->andWhere('vwca.sqTipoArtefato = 1')->orWhere('vwca.sqTipoArtefato = 3'); } else { if ($dto->getDtArtefatoFim()) { $queryBuilder->andWhere('vwca.dtArtefato <= :final')->setParameter('final', $dto->getDtArtefatoFim())->andWhere('vwca.sqTipoArtefato = 1')->orWhere('vwca.sqTipoArtefato = 3'); } } } } return $queryBuilder; }
public function whereListArtefato(\Doctrine\ORM\QueryBuilder $queryBuilder, \Core_Dto_Search $dto, $queryAssuntoComplementar) { switch ($dto->getTipoPesquisa()) { case self::TIPO_PESQUISA_AVANCADA_DIGITAL: $this->appendPesquisaAvancadaDigital($queryBuilder, $dto, $queryAssuntoComplementar); break; case self::TIPO_PESQUISA_AVANCADA_PROCESSO: $this->appendPesquisaAvancadaProcesso($queryBuilder, $dto, $queryAssuntoComplementar); break; default: $this->getNuArtefatoNuDigital($queryBuilder, $dto); break; } $this->appendTipoInformacao($queryBuilder, $dto); $this->appendQuery($queryBuilder, $dto); }