Example usage for org.hibernate.criterion Restrictions not

List of usage examples for org.hibernate.criterion Restrictions not

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions not.

Prototype

public static Criterion not(Criterion expression) 

Source Link

Document

Return the negation of an expression

Usage

From source file:mx.edu.um.mateo.inventario.dao.impl.EntradaDaoHibernate.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*ww w  .  j  av a 2 s. c  o m*/
@Transactional(readOnly = true)
public List<Entrada> buscaEntradasParaFactura(Map<String, Object> params) {
    log.debug("Buscando lista de entradas con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

    if (!params.containsKey("max")) {
        params.put("max", 10);
    } else {
        params.put("max", Math.min((Integer) params.get("max"), 100));
    }

    if (!params.containsKey("offset")) {
        params.put("offset", 0);
    }
    Criteria criteria = currentSession().createCriteria(Entrada.class);

    if (params.containsKey("almacen")) {
        criteria.createCriteria("almacen").add(Restrictions.idEq(params.get("almacen")));
    }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("comentarios", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
    }

    if (params.containsKey("facturaId")) {
        Query query = currentSession().createQuery(
                "select e.id from FacturaAlmacen f inner join f.entradas as e where f.id = :facturaId");
        query.setLong("facturaId", (Long) params.get("facturaId"));
        List<Long> idsDeEntradas = query.list();
        log.debug("idsDeEntradas: {}", idsDeEntradas);
        if (idsDeEntradas != null && idsDeEntradas.size() > 0) {
            criteria.add(Restrictions.not(Restrictions.in("id", idsDeEntradas)));
        }
    }

    criteria.add(Restrictions.eq("devolucion", Boolean.TRUE));
    criteria.createCriteria("estatus").add(Restrictions.eq("nombre", Constantes.CERRADA));
    criteria.addOrder(Order.desc("fechaModificacion"));

    criteria.setFirstResult((Integer) params.get("offset"));
    criteria.setMaxResults((Integer) params.get("max"));

    return criteria.list();
}

From source file:mx.edu.um.mateo.inventario.dao.impl.SalidaDaoHibernate.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override// ww  w . jav a2 s .c om
@Transactional(readOnly = true)
public List<Salida> buscaSalidasParaFactura(Map<String, Object> params) {
    log.debug("Buscando lista de salidas con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

    if (!params.containsKey("max")) {
        params.put("max", 10);
    } else {
        params.put("max", Math.min((Integer) params.get("max"), 100));
    }

    if (!params.containsKey("offset")) {
        params.put("offset", 0);
    }
    Criteria criteria = currentSession().createCriteria(Salida.class);

    if (params.containsKey("almacen")) {
        criteria.createCriteria("almacen").add(Restrictions.idEq(params.get("almacen")));
    }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("reporte", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("empleado", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("departamento", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("atendio", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("comentarios", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
    }

    if (params.containsKey("facturaId")) {
        Query query = currentSession().createQuery(
                "select s.id from FacturaAlmacen f inner join f.salidas as s where f.id = :facturaId");
        query.setLong("facturaId", (Long) params.get("facturaId"));
        List<Long> idsDeSalidas = query.list();
        log.debug("idsDeSalidas: {}", idsDeSalidas);
        if (idsDeSalidas != null && idsDeSalidas.size() > 0) {
            criteria.add(Restrictions.not(Restrictions.in("id", idsDeSalidas)));
        }
    }

    criteria.createCriteria("estatus").add(Restrictions.eq("nombre", Constantes.CERRADA));
    criteria.addOrder(Order.desc("fechaModificacion"));

    criteria.setFirstResult((Integer) params.get("offset"));
    criteria.setMaxResults((Integer) params.get("max"));

    return criteria.list();
}

From source file:mx.edu.um.mateo.rh.dao.impl.SolicitudVacacionesDaoHibernate.java

License:Open Source License

/**
 * @see//from   ww  w .  j  av a 2  s  . co m
 * mx.edu.um.rh.dao.SolicitudVacacionesDao#getSolicitudVacaciones(mx.edu.um.rh.model.SolicitudVacaciones)
 */
@SuppressWarnings("unchecked")
@Override
@Transactional(readOnly = true)
public List<SolicitudVacaciones> getSolicitudVacacionesByFechaInicial(
        final SolicitudVacaciones solicitudVacaciones) {
    Criteria sql = getSession().createCriteria(SolicitudVacaciones.class);
    ArrayList<String> list = new ArrayList<>();
    list.add(Constantes.SOLICITUDSALIDA_STATUS_ACTIVO);
    list.add(Constantes.SOLICITUDSALIDA_STATUS_ENVIADO);

    // Not se usa para agregar a la lista culquier cosa que no sea el
    // parmetro especificado.
    // In se usa para agregar a la lista culquier cosa que se encuentre en
    // el list que se pasa como parmetro
    sql.add(Restrictions.not(Restrictions.in("status", list)));

    if (solicitudVacaciones.getFechaInicial() != null) {
        sql.add(Restrictions.ge("fechaInicial", solicitudVacaciones.getFechaInicial()));
    }

    if (solicitudVacaciones.getFechaFinal() != null) {
        sql.add(Restrictions.le("fechaFinal", solicitudVacaciones.getFechaFinal()));
    }

    if (!solicitudVacaciones.getStatus().equals(Constantes.SOLICITUDSALIDA_STATUS_TODOS)) {
        sql.add(Restrictions.like("status", solicitudVacaciones.getStatus()));
    }

    sql.addOrder(Order.desc("fechaInicial"));
    return sql.list();
}

From source file:net.firejack.platform.core.store.AbstractStore.java

License:Apache License

protected Criteria createCriteriaForFilter(Session session, SpecifiedIdsFilter filter) {
    Criteria criteria = session.createCriteria(getClazz());
    if (filter != null) {
        if (filter.getAll() == Boolean.TRUE) {
            if (!filter.getUnnecessaryIds().isEmpty()) {
                criteria.add(Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds())));
            }/*  w w  w.  j  a v a 2 s  .  c om*/
        } else {
            if (!filter.getNecessaryIds().isEmpty()) {
                criteria.add(Restrictions.in("id", filter.getNecessaryIds()));
            }
        }
    }
    return criteria;
}

From source file:net.firejack.platform.core.store.AbstractStore.java

License:Apache License

protected Criterion createFilterCriterion(SpecifiedIdsFilter filter) {
    Criterion filterCriterion = null;/*from  w ww  .j ava 2 s.  co m*/
    if (filter != null) {
        if (filter.getAll() == Boolean.TRUE) {
            if (!filter.getUnnecessaryIds().isEmpty()) {
                filterCriterion = Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds()));
            }
        } else {
            if (!filter.getNecessaryIds().isEmpty()) {
                filterCriterion = Restrictions.in("id", filter.getNecessaryIds());
            }
        }
    }
    return filterCriterion;
}

From source file:net.firejack.platform.core.store.AbstractStore.java

License:Apache License

protected Criterion getRestrictions(SearchQuery query, Class<?> type) {
    Criterion criterion;/*from  w w w  . j a va 2  s .  co  m*/
    Object value = query.getValue();
    QueryOperation operation = query.getOperation();
    if (value != null
            && !(QueryOperation.FIELDEQUALS.equals(operation) || QueryOperation.FIELDNOTEQUALS.equals(operation)
                    || QueryOperation.FIELDGREATERTHAN.equals(operation)
                    || QueryOperation.FIELDLESSTHAN.equals(operation))) {
        if (value instanceof Collection) {
            Collection values = (Collection) value;
            if (Integer.class.equals(type)) {
                List<Integer> list = new ArrayList<Integer>();
                for (Object item : values) {
                    list.add(Integer.parseInt(item.toString()));
                }
                value = list;
            } else if (Long.class.equals(type)) {
                List<Long> list = new ArrayList<Long>();
                for (Object item : values) {
                    list.add(Long.parseLong(item.toString()));
                }
                value = list;
            } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) {
                List<Date> list = new ArrayList<Date>();
                for (Object item : values) {
                    Tuple<Date, QueryOperation> tuple = convertToDate(item, operation);
                    operation = tuple.getValue();
                    list.add(tuple.getKey());
                }
                value = list;
            } else if (Enum.class.isAssignableFrom(type)) {
                List<Enum> enumValues = new ArrayList<Enum>(values.size());
                for (Object item : values) {
                    Enum enumItem = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, item);
                    enumValues.add(enumItem);
                }
                value = enumValues;
            }
        } else {
            if (Integer.class.equals(type)) {
                value = Integer.parseInt(value.toString());
            } else if (Long.class.equals(type)) {
                value = Long.parseLong(value.toString());
            } else if (Double.class.equals(type)) {
                value = Double.parseDouble(value.toString());
            } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) {
                Tuple<Date, QueryOperation> tuple = convertToDate(value, operation);
                value = tuple.getKey();
                operation = tuple.getValue();
            } else if (Enum.class.isAssignableFrom(type)) {
                value = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, value);
            }
        }
    }

    if (!String.class.equals(type)
            && (QueryOperation.LIKECS.equals(operation) || QueryOperation.LIKECSFIRST.equals(operation)
                    || QueryOperation.LIKE.equals(operation) || QueryOperation.LIKEFIRST.equals(operation))) {
        operation = QueryOperation.EQUALS;
    }

    switch (operation) {
    case LIKECS:
        criterion = Restrictions.like(query.getField(), "%" + value + "%");
        break;
    case LIKECSFIRST:
        criterion = Restrictions.like(query.getField(), value + "%");
        break;
    case LIKE:
        criterion = Restrictions.ilike(query.getField(), "%" + value + "%");
        break;
    case LIKEFIRST:
        criterion = Restrictions.ilike(query.getField(), value + "%");
        break;
    case EQUALS:
        criterion = Restrictions.eq(query.getField(), value);
        break;
    case LESSTHAN:
        criterion = Restrictions.lt(query.getField(), value);
        break;
    case GREATERTHAN:
        criterion = Restrictions.gt(query.getField(), value);
        break;
    case ISNULL:
        criterion = Restrictions.isNull(query.getField());
        break;
    case ISNOTNULL:
        criterion = Restrictions.isNotNull(query.getField());
        break;
    case ISEMPTY:
        criterion = Restrictions.isEmpty(query.getField());
        break;
    case ISNOTEMPTY:
        criterion = Restrictions.isNotEmpty(query.getField());
        break;
    case NOTEQUALS:
        criterion = Restrictions.ne(query.getField(), value);
        break;
    case IN:
        criterion = generateInRestriction(query.getField(), (Collection) value);
        break;
    case NOTIN:
        criterion = Restrictions.not(generateInRestriction(query.getField(), (Collection) value));
        break;
    case FIELDEQUALS:
        criterion = Restrictions.eqProperty(query.getField(), value != null ? value.toString() : "");
        break;
    case FIELDNOTEQUALS:
        criterion = Restrictions.neProperty(query.getField(), value != null ? value.toString() : "");
        break;
    case FIELDGREATERTHAN:
        criterion = Restrictions.gtProperty(query.getField(), value != null ? value.toString() : "");
        break;
    case FIELDLESSTHAN:
        criterion = Restrictions.ltProperty(query.getField(), value != null ? value.toString() : "");
        break;
    default:
        throw new RuntimeException("Operation " + query.getField() + " is not a valid operation");
    }
    return criterion;
}

From source file:net.firejack.platform.core.store.BaseStore.java

License:Apache License

protected Criteria createCriteriaForFilter(Session session, SpecifiedIdsFilter filter) {
    Criteria criteria = session.createCriteria(getClazz());
    criteria.setFetchMode("parent", FetchMode.JOIN);
    if (filter != null) {
        if (filter.getAll() == Boolean.TRUE) {
            if (!filter.getUnnecessaryIds().isEmpty()) {
                criteria.add(Restrictions.not(Restrictions.in("id", filter.getUnnecessaryIds())));
            }/*  w ww .ja va  2  s .c om*/
        } else {
            if (!filter.getNecessaryIds().isEmpty()) {
                criteria.add(Restrictions.in("id", filter.getNecessaryIds()));
            }
        }
    }
    return criteria;
}

From source file:net.firejack.platform.core.store.registry.GroupStore.java

License:Apache License

@Override
@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//from   ww  w.  j a v a  2 s  . co  m
public List<GroupModel> findAll(Collection<Long> excludeIds) {
    Criteria criteria = getSession().createCriteria(getClazz());
    if (excludeIds != null && !excludeIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("id", excludeIds)));
    }
    return (List<GroupModel>) criteria.list();
}

From source file:net.firejack.platform.core.store.registry.RoleStore.java

License:Apache License

@Override
@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//w  w  w .  ja v  a2  s.  c o m
public List<RoleModel> findContextRoles(List<Long> exceptIds) {
    Criteria criteria = getSession().createCriteria(RoleModel.class);
    if (exceptIds != null && !exceptIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("id", exceptIds)));
    }
    criteria.createAlias("parent", "parent");
    criteria.add(Restrictions.ne("parent.class", "PKG"));
    return (List<RoleModel>) criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.BinaryDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Binary> searchByNameAndExcludedCats(String[] searchTokens, int limit,
        Collection<Integer> excludedCategoryIds) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Binary.class);

    if (searchTokens != null && searchTokens.length > 0) {
        Conjunction searchTokensOr = Restrictions.conjunction();
        for (String searchToken : searchTokens) {
            searchTokensOr.add(Restrictions.ilike("name", searchToken.trim(), MatchMode.ANYWHERE));
        }/* w ww  .  j a v  a  2 s .c o m*/
        criteria.add(searchTokensOr);
    }

    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("categoryId", excludedCategoryIds)));
    }

    criteria.setMaxResults(limit);
    criteria.setFetchMode("releaseGuid", FetchMode.EAGER);
    criteria.setFetchMode("numberParts", FetchMode.EAGER);
    criteria.setFetchMode("groupName", FetchMode.EAGER);

    return criteria.list();
}