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);
 }