Example usage for org.hibernate.criterion Restrictions disjunction

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

Introduction

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

Prototype

public static Disjunction disjunction() 

Source Link

Document

Group expressions together in a single disjunction (A or B or C...).

Usage

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

License:Open Source License

@Override
@Transactional(readOnly = true)/*from w ww.  ja  va  2  s.  com*/
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de tipos de producto 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("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

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

    if (params.containsKey("almacen")) {
        criteria.createCriteria("almacen").add(Restrictions.idEq(params.get("almacen")));
        countCriteria.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("nombre", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put("tiposDeProducto", criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put("cantidad", (Long) countCriteria.list().get(0));

    return params;
}

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

License:Open Source License

/**
 * @see mx.edu.um.mateo.rh.dao.CategoriaDao#lista(java.util.Map) 
 *
 *///from   www  .  j  a  v a  2s . co m
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de categorias 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("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

    if (!params.containsKey("offset")) {
        params.put("offset", 0);
    }
    Criteria criteria = currentSession().createCriteria(Categoria.class)
            .add(Restrictions.eq("status", Constantes.STATUS_ACTIVO));
    Criteria countCriteria = currentSession().createCriteria(Categoria.class)
            .add(Restrictions.eq("status", Constantes.STATUS_ACTIVO));

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

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

    if (params.containsKey("order")) {
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put(Constantes.CONTAINSKEY_CATEGORIAS, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put("cantidad", (Long) countCriteria.list().get(0));

    return params;
}

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

/**
 * @see mx.edu.um.mateo.rh.dao.ClaveEmpleadoDao#lista(java.util.Map)
 *///from w  ww  .j av a2s. c o m
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de claveEmpleadoes con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

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

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }
    Criteria criteria = currentSession().createCriteria(ClaveEmpleado.class);
    Criteria countCriteria = currentSession().createCriteria(ClaveEmpleado.class);

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("clave", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.CONTAINSKEY_CLAVEEMPLEADO, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}

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

/**
 * @see mx.edu.um.mateo.rh.dao.DiaFeriadoDao#lista(java.util.Map)
 *//*from   ww  w . j a  v a  2s  . c  o m*/
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de diaFeriados con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

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

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }
    Criteria criteria = currentSession().createCriteria(DiaFeriado.class);
    Criteria countCriteria = currentSession().createCriteria(DiaFeriado.class);

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.CONTAINSKEY_DIASFERIADOS, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}

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

License:Open Source License

/**
 * @see mx.edu.um.mateo.rh.dao.EmpleadoDao#lista(java.util.Map)
 *//* w  w w  .ja  v  a  2s . com*/
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de empleados 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("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

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

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

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("clave", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("apMaterno", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("apPaterno", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put(Constantes.EMPLEADO_LIST, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put("cantidad", (Long) countCriteria.list().get(0));

    log.debug("Elementos en lista de empleados {}", params.get(Constantes.EMPLEADO_LIST));

    return params;
}

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

License:Open Source License

/**
 * @see mx.edu.um.mateo.rh.dao.EmpleadoPerDedDao#lista(java.util.Map)
 *//*w  ww. j a  va 2  s . c om*/
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de perded 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("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

    if (!params.containsKey("offset")) {
        params.put("offset", 0);
    }
    Criteria criteria = currentSession().createCriteria(EmpleadoPerDed.class)
            .add(Restrictions.eq("status", Constantes.STATUS_ACTIVO));
    Criteria countCriteria = currentSession().createCriteria(EmpleadoPerDed.class)
            .add(Restrictions.eq("status", Constantes.STATUS_ACTIVO));

    if (params.containsKey("empresa")) {
        criteria.createCriteria("empleado").createCriteria("empresa")
                .add(Restrictions.idEq(params.get("empresa")));
        countCriteria.createCriteria("empleado").createCriteria("empresa")
                .add(Restrictions.idEq(params.get("empresa")));
    }
    if (params.containsKey("empleado")) {
        criteria.createCriteria("empleado").add(Restrictions.idEq(params.get("empleadoId")));
        countCriteria.createCriteria("empleado").add(Restrictions.idEq(params.get("empleadoId")));
    }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("empleado.clave", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("perded.clave", filtro, MatchMode.ANYWHERE));
        //            propiedades.add(Restrictions.ilike("status", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put(Constantes.EMPLEADOPERDED_LIST, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    try {
        params.put("cantidad", (Long) countCriteria.list().get(0));
    } catch (IndexOutOfBoundsException e) {
        params.put("cantidad", 0L);
    }

    return params;
}

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

/**
 * @see mx.edu.um.mateo.rh.dao.JefeDao#lista(java.util.Map)
 *///ww w.j ava 2s . c om
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de jefes con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

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

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }
    Criteria criteria = currentSession().createCriteria(Jefe.class);
    Criteria countCriteria = currentSession().createCriteria(Jefe.class);
    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.CONTAINSKEY_JEFES, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}

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

/**
 * @see mx.edu.um.mateo.rh.dao.JefeSeccionDao#lista(java.util.Map)
 *///from  w  ww . ja  v  a  2 s .c o m
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de jefeSecciones con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

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

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }
    Criteria criteria = currentSession().createCriteria(JefeSeccion.class);
    Criteria countCriteria = currentSession().createCriteria(JefeSeccion.class);

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("clave", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.CONTAINSKEY_JEFESSECCION, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}

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

License:Open Source License

@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de puestos con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }//from  w  ww.  j a  va  2  s  . co  m

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

    if (params.containsKey("pagina")) {
        Long pagina = (Long) params.get("pagina");
        Long offset = (pagina - 1) * (Integer) params.get("max");
        params.put("offset", offset.intValue());
    }

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

    if (params.containsKey("empresa")) {
        criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa")));
        countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa")));
    }
    //                if (params.containsKey("seccion")) {
    //         criteria.createCriteria("seccion").add(
    //               Restrictions.idEq(params.get("seccion")));
    //         countCriteria.createCriteria("seccion").add(
    //               Restrictions.idEq(params.get("seccion")));
    //      }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("nombreCompleto", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("rfc", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("correo", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("contacto", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        String campo = (String) params.get("order");
        if (params.get("sort").equals("desc")) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    } else {
        criteria.addOrder(Order.asc("descripcion"));
    }

    if (!params.containsKey("reporte")) {
        criteria.setFirstResult((Integer) params.get("offset"));
        criteria.setMaxResults((Integer) params.get("max"));
    }
    params.put(Constantes.PUESTO_LIST, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put("cantidad", (Long) countCriteria.list().get(0));

    log.debug("params{} ", params.toString());
    return params;
}

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

/**
 * @see mx.edu.um.mateo.rh.dao.VacacionesEmpleadoDao#lista(java.util.Map)
 *///from  w w  w .j  a v a  2s .c  o m
@Override
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de vacacioness con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }

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

    if (params.containsKey(Constantes.CONTAINSKEY_PAGINA)) {
        Long pagina = (Long) params.get(Constantes.CONTAINSKEY_PAGINA);
        Long offset = (pagina - 1) * (Integer) params.get(Constantes.CONTAINSKEY_MAX);
        params.put(Constantes.CONTAINSKEY_OFFSET, offset.intValue());
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_OFFSET)) {
        params.put(Constantes.CONTAINSKEY_OFFSET, 0);
    }
    Criteria criteria = currentSession().createCriteria(SolicitudVacacionesEmpleado.class);
    Criteria countCriteria = currentSession().createCriteria(SolicitudVacacionesEmpleado.class);

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("observaciones", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey(Constantes.CONTAINSKEY_ORDER)) {
        String campo = (String) params.get(Constantes.CONTAINSKEY_ORDER);
        if (params.get(Constantes.CONTAINSKEY_SORT).equals(Constantes.CONTAINSKEY_DESC)) {
            criteria.addOrder(Order.desc(campo));
        } else {
            criteria.addOrder(Order.asc(campo));
        }
    }

    if (!params.containsKey(Constantes.CONTAINSKEY_REPORTE)) {
        criteria.setFirstResult((Integer) params.get(Constantes.CONTAINSKEY_OFFSET));
        criteria.setMaxResults((Integer) params.get(Constantes.CONTAINSKEY_MAX));
    }
    params.put(Constantes.CONTAINSKEY_SOLICITUDVACACIONESEMPLEADO, criteria.list());

    countCriteria.setProjection(Projections.rowCount());
    params.put(Constantes.CONTAINSKEY_CANTIDAD, (Long) countCriteria.list().get(0));

    return params;
}