/** * método que adiciona filtro para a pesquisa da caixa de minutas * @param \Doctrine\ORM\QueryBuilder &$queryBuilder * @param Core_Dto_Search $dto */ protected function addWhere(\Doctrine\ORM\QueryBuilder &$queryBuilder, \Core_Dto_Search $dto) { $isDate = FALSE; $data = explode('/', $dto->getDataSearch()); if (count($data) == 3) { if (checkdate($data[1], $data[0], $data[2])) { $isDate = TRUE; $newDate = $data[2] . '-' . $data[1] . '-' . $data[0]; $queryBuilder->andWhere('vcm.dataCriacao = :data')->setParameter('data', $newDate); $queryBuilder->orWhere('vcm.prazo = :data')->setParameter('data', $newDate); } } if (!$isDate && $dto->getDataSearch() != '') { $query = mb_strtolower($dto->getDataSearch(), 'UTF-8'); $queryBuilder->andWhere('(((LOWER(vcm.tipo) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.origem) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.assunto) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.autor) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.status) like :query)))'); $queryBuilder->setParameter('query', '%' . $query . '%'); $queryBuilder->andWhere('vcm.sqStatusArtefato <> :sqStatusArtefato54')->setParameter('sqStatusArtefato54', \Core_Configuration::getSgdoceStatusExcluida()); } }
/** * Adiciona condição * @param \Doctrine\ORM\QueryBuilder $queryBuilder * @param \Core_Dto_Search $dto */ protected function addWhere(\Doctrine\ORM\QueryBuilder &$queryBuilder, \Core_Dto_Search $dto) { $isDate = FALSE; $dataSearch = strtotime($dto->getDataSearch()); if (checkdate(date('m', $dataSearch), date('d', $dataSearch), date('Y', $dataSearch))) { $isDate = TRUE; $newDate = date('Y-m-d', $dataSearch); $queryBuilder->andWhere('vcm.dataCriacao = :data')->setParameter('data', $newDate); $queryBuilder->orWhere('vcm.prazo = :data')->setParameter('data', $newDate); } if (!$isDate && $dto->getDataSearch() != '') { $query = mb_strtolower($dto->getDataSearch(), 'UTF-8'); $queryBuilder->andWhere('(LOWER(vcm.tipo) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.origem) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.assunto) like :query)'); $queryBuilder->orWhere('(LOWER(vcm.autor) like :query)'); $queryBuilder->setParameter('query', '%' . $query . '%'); } }