Example usage for org.hibernate.criterion Restrictions idEq

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

Introduction

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

Prototype

public static Criterion idEq(Object value) 

Source Link

Document

Apply an "equal" constraint to the identifier property

Usage

From source file:modelo.dao.ExamenDAO.java

License:Open Source License

/**
 * Este mtodo es utilizado para obtener el objeto examen perteneciente
 * al id ingresado//from ww w  . j av a2 s .c  om
 * 
 * @param id el id del examen que se quiere obtener
 * @return El objeto ExamenDTO con sus relaciones completamente inicializadas
 * hasta reactivos. (Las incorrectas de los reactivos no estn inicializadas,
 * tampoco los temas del curso)
 */
public ExamenDTO obtener(Integer id) {

    Session s = getSession();
    Transaction tx = null;
    ExamenDTO examen;

    if (s == null) {
        System.out.println("Session nula, regresando null....");
        return null;
    }

    try {
        tx = s.beginTransaction();
        //Obtiene el examen especfico a ese id, incluyendo sus claves
        Criteria c = s.createCriteria(ExamenDTO.class).add(Restrictions.idEq(id)).setFetchMode("claves",
                FetchMode.JOIN);

        examen = (ExamenDTO) c.uniqueResult();

        //Inicializa por cada clave todos los reactivos que contenga
        for (ClaveExamenDTO clave : examen.getClaves()) {
            Hibernate.initialize(clave.getReactivos());
        }
        tx.commit();
    } catch (Exception e) {
        if (tx != null) {
            tx.rollback();
        }
        examen = null;
    } finally {
        s.close();
        System.out.println("Session cerrada");
    }

    return examen;
}

From source file:modelo.dao.GrupoDAO.java

License:Open Source License

/**
 * Recibe el id de un grupo y lo realiza la consulta a la base de datos para
 * obtener el grupo.//from  w w  w  .  ja  v a  2 s.co  m
 *
 * @param id el id.
 * @return objeto GrupoDTO.
 */
public GrupoDTO obtener(Integer id) {
    //Regresa todas las relaciones
    Session s = getSession();
    Transaction tx = null;
    GrupoDTO grupo;

    if (s == null) {
        System.out.println("Session nula, regresando null....");
        return null;
    }

    try {
        tx = s.beginTransaction();
        //Obtiene todos los objetos de la clase, con sus relaciones
        Criteria c = s.createCriteria(GrupoDTO.class).add(Restrictions.idEq(id)).setFetchMode("alumnos",
                FetchMode.JOIN);

        grupo = (GrupoDTO) c.uniqueResult();

        Hibernate.initialize(grupo.getMaestros());

        tx.commit();
    } catch (Exception e) {
        if (tx != null) {
            tx.rollback();
        }
        grupo = null;
    } finally {
        s.close();
        System.out.println("Session cerrada");
    }

    return grupo;
}

From source file:modelo.dao.ReactivoDAO.java

License:Open Source License

/**
 * Obtiene el reactivo completo al que pertenece el id ingresado
 * /* w  w w . j av  a2s  .c  om*/
 * @param idReactivo el id del reactivo a obtener
 * @return el objeto ReactivoDTO completo, con todas sus relaciones, o null
 * en caso de que no exista
 */
public ReactivoDTO obtener(int idReactivo) {

    Session s = getSession();
    Transaction tx = null;
    ReactivoDTO reactivo;

    if (s == null) {
        System.out.println("Session nula, regresando null....");
        return null;
    }

    try {
        tx = s.beginTransaction();
        //Obtiene el reactivo especfico a ese id, incluyendo sus opciones
        Criteria c = s.createCriteria(ReactivoDTO.class).add(Restrictions.idEq(idReactivo))
                .setFetchMode("opcionesIncorrectas", FetchMode.JOIN);

        reactivo = (ReactivoDTO) c.uniqueResult();
        tx.commit();
    } catch (Exception e) {
        if (tx != null) {
            tx.rollback();
        }
        reactivo = null;
    } finally {
        s.close();
        System.out.println("Session cerrada");
    }

    return reactivo;
}

From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)/*  ww w  . ja  v  a 2  s.co  m*/
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de activos 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(Activo.class);
    Criteria countCriteria = currentSession().createCriteria(Activo.class);

    criteria.createAlias("tipoActivo", "ta");
    countCriteria.createAlias("tipoActivo", "ta");

    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("tipoActivoIds")) {
        criteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds")));
        countCriteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds")));
    }

    if (params.containsKey("cuentaId")) {
        criteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId")));
        countCriteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId")));
    }

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

    Date fechaIniciado = null;
    if (params.containsKey("fechaIniciado")) {
        fechaIniciado = (Date) params.get("fechaIniciado");
        criteria.add(Restrictions.ge("fechaCompra", fechaIniciado));
        countCriteria.add(Restrictions.ge("fechaCompra", fechaIniciado));
    }

    Date fechaTerminado = null;
    if (params.containsKey("fechaTerminado")) {
        Calendar cal = Calendar.getInstance();
        cal.setTime((Date) params.get("fechaTerminado"));
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        cal.set(Calendar.MILLISECOND, 999);
        fechaTerminado = cal.getTime();
        criteria.add(Restrictions.le("fechaCompra", fechaTerminado));
        countCriteria.add(Restrictions.le("fechaCompra", fechaTerminado));
    }

    if (params.containsKey("bajas")) {
        if (fechaIniciado != null) {
            criteria.add(Restrictions.eq("inactivo", true));
            countCriteria.add(Restrictions.eq("inactivo", true));
            criteria.add(Restrictions.ge("fechaInactivo", fechaIniciado));
            countCriteria.add(Restrictions.ge("fechaInactivo", fechaIniciado));
            if (fechaTerminado != null) {
                criteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
                countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
            }
        } else if (fechaTerminado != null) {
            criteria.add(Restrictions.eq("inactivo", true));
            countCriteria.add(Restrictions.eq("inactivo", true));
            criteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
            countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado));
        } else {
            criteria.add(Restrictions.eq("inactivo", true));
            countCriteria.add(Restrictions.eq("inactivo", true));
        }
    } else {
        criteria.add(Restrictions.eq("inactivo", false));
        countCriteria.add(Restrictions.eq("inactivo", false));
    }

    if (params.containsKey("reubicaciones")) {
        if (fechaIniciado != null) {
            criteria.add(Restrictions.isNotNull("fechaReubicado"));
            countCriteria.add(Restrictions.isNotNull("fechaReubicado"));
            criteria.add(Restrictions.ge("fechaReubicado", fechaIniciado));
            countCriteria.add(Restrictions.ge("fechaReubicado", fechaIniciado));
            if (fechaTerminado != null) {
                criteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
                countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
            }
        } else if (fechaTerminado != null) {
            criteria.add(Restrictions.isNotNull("fechaReubicado"));
            countCriteria.add(Restrictions.isNotNull("fechaReubicado"));
            criteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
            countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado));
        } else {
            criteria.add(Restrictions.isNotNull("fechaReubicado"));
            countCriteria.add(Restrictions.isNotNull("fechaReubicado"));
        }
    }

    if (params.containsKey("responsableNombre")) {
        criteria.add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE));
        countCriteria
                .add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE));
    }

    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("procedencia", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("pedimento", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("poliza", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("codigo", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("marca", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("modelo", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("ubicacion", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("responsable", filtro, MatchMode.ANYWHERE));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    if (params.containsKey("order")) {
        criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor"));
        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("ta.cuenta.id.idCtaMayor"));
        criteria.addOrder(Order.desc("folio"));
    }

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

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

    ProjectionList list = Projections.projectionList();
    list.add(Projections.sum("depreciacionAnual"), "depreciacionAnual");
    list.add(Projections.sum("depreciacionMensual"), "depreciacionMensual");
    list.add(Projections.sum("depreciacionAcumulada"), "depreciacionAcumulada");
    list.add(Projections.sum("moi"), "moi");
    list.add(Projections.groupProperty("fechaDepreciacion"), "fechaDepreciacion");
    countCriteria.setProjection(list);

    List<?> proyecciones = countCriteria.list();
    Iterator<?> iterator = proyecciones.iterator();
    if (iterator.hasNext()) {
        Object[] obj = (Object[]) iterator.next();
        NumberFormat nf = DecimalFormat.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        Date fecha;
        if (obj[4] != null) {
            fecha = (Date) obj[4];
        } else {
            fecha = new Date();
        }
        params.put("resumen", new String[] { nf.format(obj[0]), nf.format(obj[1]), nf.format(obj[2]),
                nf.format(obj[3]), sdf.format(fecha) });
    }

    return params;
}

From source file:mx.edu.um.mateo.activos.dao.impl.TipoActivoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//w  w  w . j  a va2 s.c  o m
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de tipos de activos 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(TipoActivo.class);
    Criteria countCriteria = currentSession().createCriteria(TipoActivo.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("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("tiposDeActivo", criteria.list());

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

    return params;
}

From source file:mx.edu.um.mateo.colportor.dao.AsociacionDao.java

License:Open Source License

public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de asociaciones con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }/* ww  w  . j  a va2 s .c  o  m*/

    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(Asociacion.class);
    Criteria countCriteria = currentSession().createCriteria(Asociacion.class);

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

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        filtro = "%" + filtro + "%";
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike(Constantes.ADDATTRIBUTE_NOMBRE, filtro));
        propiedades.add(Restrictions.ilike("nombreCompleto", filtro));
        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_ASOCIACIONES, 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.colportor.dao.hibernate.ClienteColportorDaoHibernate.java

@Override
@Transactional(readOnly = true)//w  ww .  ja  v  a  2  s  .  c  om
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de clienteColportores 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(ClienteColportor.class);
    Criteria countCriteria = currentSession().createCriteria(ClienteColportor.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("nombre", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("correo", 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.CLIENTE_COLPORTOR_LIST, criteria.list());

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

    return params;
}

From source file:mx.edu.um.mateo.colportor.dao.hibernate.PedidoColportorDaoHibernate.java

@Override
@Transactional(readOnly = true)/*  ww  w .  j a  v a 2 s. c  om*/
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de pedidoColportores 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(PedidoColportor.class);
    Criteria countCriteria = currentSession().createCriteria(PedidoColportor.class);

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

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("numPedido", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("razonSocial", 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.PEDIDO_COLPORTOR_LIST, criteria.list());

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

    return params;
}

From source file:mx.edu.um.mateo.colportor.dao.hibernate.PedidoColportorItemDaoHibernate.java

@Override
@Transactional(readOnly = true)//from   w w  w.  j  a v  a 2 s  . co m
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de items de pedidos de colportor 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(PedidoColportorItem.class);
    Criteria countCriteria = currentSession().createCriteria(PedidoColportorItem.class);

    criteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido")));
    countCriteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido")));

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("item", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("observaciones", 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.PEDIDO_COLPORTOR_ITEM_LIST, criteria.list());

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

    return params;
}

From source file:mx.edu.um.mateo.colportor.dao.hibernate.ReciboColportorDaoHibernate.java

@Override
@Transactional(readOnly = true)//from   ww  w. j av a  2s.co m
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de recibos colportore 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(ReciboColportor.class);
    Criteria countCriteria = currentSession().createCriteria(ReciboColportor.class);
    criteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido")));
    countCriteria.createCriteria("pedido").add(Restrictions.idEq(params.get("pedido")));

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("numRecibo", filtro, MatchMode.ANYWHERE));
        propiedades.add(Restrictions.ilike("observaciones", 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));
        }
    }

    //        //Los recibos hacen un redireccionamiento incorrecto en la paginacion
    //        if (!params.containsKey("reporte")) {
    //            criteria.setFirstResult((Integer) params.get("offset"));men
    //            criteria.setMaxResults((Integer) params.get("max"));
    //        }
    params.put(Constantes.RECIBO_COLPORTOR_LIST, criteria.list());

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

    return params;
}