/** * Append Custom Quick Filter */ protected void appendCustomQuickFilter(StringBuilder hql, Map<String, Object> params, QuickFilter filter) { if (filter.hasFilter()) { hql.append(" AND ( upper(p.description) like upper(:filter) "); hql.append(" OR upper(processDefinitionEntity.name) like upper(:filter) "); hql.append(" OR upper(task.name) like upper(:filter) "); if (filter.isRascunho()) { hql.append(" OR ").append(JPAQueryUtil.formattDateTimeClause("currentFormVersion.inclusionDate", "filter")); hql.append(" OR ").append(JPAQueryUtil.formattDateTimeClause("currentDraftEntity.editionDate", "filter")); } else { hql.append(" OR ").append(JPAQueryUtil.formattDateTimeClause("ta.beginDate", "filter")); hql.append(" OR ").append(JPAQueryUtil.formattDateTimeClause("pie.beginDate", "filter")); } hql.append(" OR p.id like :filter ) "); params.put("filter", "%" + filter.getFilter() + "%"); } }
private void appendFilterByQuickFilter() { if (ctx.getQuickFilter().hasFilter()) { BooleanBuilder filterBooleanBuilder = new BooleanBuilder(); for (FilterToken token : quickFilter.listFilterTokens()) { BooleanBuilder tokenBooleanBuilder = new BooleanBuilder(); for (String filter : token.getAllPossibleMatches()) { tokenBooleanBuilder.or(buildQuickFilterBooleanExpression($, filter)); } filterBooleanBuilder.and(tokenBooleanBuilder); } query.getQuickFilterWhereClause().or(filterBooleanBuilder); } }
@Override public void extend(@Nonnull RequirementSearchContext context) { QVariableInstanceEntity variableEntity = new QVariableInstanceEntity(variableName); RequirementSearchQuery query = context.getQuery(); RequirementSearchAliases $ = context.getAliases(); createSelect(variableEntity, context); query.leftJoin($.flowInstance.variables, variableEntity).on(variableEntity.name.eq(variableName)); QuickFilter quickFilter = context.getQuickFilter(); if (context.getQuickFilter().hasFilter()) { BooleanBuilder filterBooleanBuilder = new BooleanBuilder(); for (FilterToken token : quickFilter.listFilterTokens()) { BooleanBuilder tokenBooleanBuilder = new BooleanBuilder(); for (String filter : token.getAllPossibleMatches()) { tokenBooleanBuilder.or(toChar(variableEntity).likeIgnoreCase(filter)); } filterBooleanBuilder.and(tokenBooleanBuilder); } query.getQuickFilterWhereClause().or(filterBooleanBuilder); } }