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:mx.edu.um.mateo.inventario.dao.impl.EntradaDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)/* w w w  .ja  v a  2  s  .c o  m*/
public Map<String, Object> lista(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("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(Entrada.class);
    Criteria countCriteria = currentSession().createCriteria(Entrada.class);
    criteria.createAlias("estatus", "est");
    countCriteria.createAlias("estatus", "est");

    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("proveedorId")) {
        criteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId")));
        countCriteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId")));
    }

    if (params.containsKey("fechaIniciado")) {
        log.debug("Buscando desde {}", params.get("fechaIniciado"));
        criteria.add(Restrictions.ge("fechaCreacion", params.get("fechaIniciado")));
        countCriteria.add(Restrictions.ge("fechaCreacion", params.get("fechaIniciado")));
    } else {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 1);
        log.debug("Asignando busqueda desde {}", calendar.getTime());
        criteria.add(Restrictions.ge("fechaCreacion", calendar.getTime()));
        countCriteria.add(Restrictions.ge("fechaCreacion", calendar.getTime()));
    }

    if (params.containsKey("fechaTerminado")) {
        log.debug("Buscando hasta {}", params.get("fechaTerminado"));
        criteria.add(Restrictions.le("fechaCreacion", params.get("fechaTerminado")));
        countCriteria.add(Restrictions.le("fechaCreacion", params.get("fechaTerminado")));
    }

    if (params.containsKey(Constantes.ABIERTA) || params.containsKey(Constantes.CERRADA)
            || params.containsKey(Constantes.PENDIENTE) || params.containsKey(Constantes.FACTURADA)
            || params.containsKey(Constantes.CANCELADA) || params.containsKey(Constantes.DEVOLUCION)) {
        Disjunction propiedades = Restrictions.disjunction();
        if (params.containsKey(Constantes.ABIERTA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.ABIERTA));
        }
        if (params.containsKey(Constantes.CERRADA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.CERRADA));
        }
        if (params.containsKey(Constantes.PENDIENTE)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.PENDIENTE));
        }
        if (params.containsKey(Constantes.FACTURADA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.FACTURADA));
        }
        if (params.containsKey(Constantes.CANCELADA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.CANCELADA));
        }
        criteria.add(propiedades);
        countCriteria.add(propiedades);

        if (params.containsKey(Constantes.DEVOLUCION)) {
            criteria.add(Restrictions.eq("devolucion", Boolean.TRUE));
            countCriteria.add(Restrictions.eq("devolucion", Boolean.TRUE));
        }
    }

    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);
        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("est.prioridad"));
        criteria.addOrder(Order.desc("fechaModificacion"));
    }

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

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

    return params;
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*from   www. j  a v a  2s . 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.FacturaAlmacenDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)/*from w ww.  ja v  a 2  s. c o m*/
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de facturas 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(FacturaAlmacen.class);
    Criteria countCriteria = currentSession().createCriteria(FacturaAlmacen.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("fechaIniciado")) {
        log.debug("Buscando desde {}", params.get("fechaIniciado"));
        criteria.add(Restrictions.ge("fechaCreacion", params.get("fechaIniciado")));
        countCriteria.add(Restrictions.ge("fechaCreacion", params.get("fechaIniciado")));
    } else {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 1);
        log.debug("Asignando busqueda desde {}", calendar.getTime());
        criteria.add(Restrictions.ge("fechaCreacion", calendar.getTime()));
        countCriteria.add(Restrictions.ge("fechaCreacion", calendar.getTime()));
    }

    if (params.containsKey("fechaTerminado")) {
        log.debug("Buscando hasta {}", params.get("fechaTerminado"));
        criteria.add(Restrictions.le("fechaCreacion", params.get("fechaTerminado")));
        countCriteria.add(Restrictions.le("fechaCreacion", params.get("fechaTerminado")));
    }

    if (params.containsKey("filtro")) {
        String filtro = (String) params.get("filtro");
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("folio", 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.createCriteria("estatus").addOrder(Order.asc("prioridad"));
    }
    criteria.addOrder(Order.desc("fechaModificacion"));

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

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

    return params;
}

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

License:Open Source License

@Override
@Transactional(readOnly = true)/*from w  w  w  . j  av  a2 s. c om*/
public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de productos 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(Producto.class);
    Criteria countCriteria = currentSession().createCriteria(Producto.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("inactivo")) {
        criteria.add(Restrictions.eq("inactivo", true));
        countCriteria.add(Restrictions.eq("inactivo", true));
    } else {
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.eq("inactivo", Boolean.FALSE));
        propiedades.add(Restrictions.isNull("inactivo"));
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

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

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

    return params;
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Override//w w  w.  j av a 2  s . c  om
@Transactional(readOnly = true)
public List<Producto> listaParaSalida(String filtro, Long almacenId) {
    Criteria criteria = currentSession().createCriteria(Producto.class);
    criteria.createCriteria("almacen").add(Restrictions.idEq(almacenId));
    filtro = "%" + filtro + "%";
    Disjunction propiedades = Restrictions.disjunction();
    propiedades.add(Restrictions.ilike("sku", filtro, MatchMode.ANYWHERE));
    propiedades.add(Restrictions.ilike("nombre", 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));
    criteria.add(propiedades);

    propiedades = Restrictions.disjunction();
    propiedades.add(Restrictions.eq("inactivo", Boolean.FALSE));
    propiedades.add(Restrictions.isNull("inactivo"));
    criteria.add(propiedades);

    criteria.add(Restrictions.gt("existencia", BigDecimal.ZERO));
    criteria.setMaxResults(10);
    return criteria.list();
}

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

License:Open Source License

@Override
@Transactional(readOnly = true)/*  www  . j a va2 s  .co m*/
public Map<String, Object> lista(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("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(Salida.class);
    Criteria countCriteria = currentSession().createCriteria(Salida.class);
    criteria.createAlias("estatus", "est");
    countCriteria.createAlias("estatus", "est");

    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("clienteId")) {
        criteria.createCriteria("cliente").add(Restrictions.idEq(params.get("clienteId")));
        countCriteria.createCriteria("cliente").add(Restrictions.idEq(params.get("clienteId")));
    }

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

    if (params.containsKey("fechaIniciado")) {
        log.debug("Buscando desde {}", params.get("fechaIniciado"));
        criteria.add(Restrictions.ge("fechaCreacion", params.get("fechaIniciado")));
        countCriteria.add(Restrictions.ge("fechaCreacion", params.get("fechaIniciado")));
    } else {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 1);
        log.debug("Asignando busqueda desde {}", calendar.getTime());
        criteria.add(Restrictions.ge("fechaCreacion", calendar.getTime()));
        countCriteria.add(Restrictions.ge("fechaCreacion", calendar.getTime()));
    }

    if (params.containsKey("fechaTerminado")) {
        log.debug("Buscando hasta {}", params.get("fechaTerminado"));
        criteria.add(Restrictions.le("fechaCreacion", params.get("fechaTerminado")));
        countCriteria.add(Restrictions.le("fechaCreacion", params.get("fechaTerminado")));
    }

    if (params.containsKey(Constantes.ABIERTA) || params.containsKey(Constantes.CERRADA)
            || params.containsKey(Constantes.PENDIENTE) || params.containsKey(Constantes.FACTURADA)
            || params.containsKey(Constantes.CANCELADA)) {
        Disjunction propiedades = Restrictions.disjunction();
        if (params.containsKey(Constantes.ABIERTA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.ABIERTA));
        }
        if (params.containsKey(Constantes.CERRADA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.CERRADA));
        }
        if (params.containsKey(Constantes.PENDIENTE)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.PENDIENTE));
        }
        if (params.containsKey(Constantes.FACTURADA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.FACTURADA));
        }
        if (params.containsKey(Constantes.CANCELADA)) {
            propiedades.add(Restrictions.eq("est.nombre", Constantes.CANCELADA));
        }
        criteria.add(propiedades);
        countCriteria.add(propiedades);
    }

    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);
        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 if (!params.containsKey("estatusId")) {
        criteria.addOrder(Order.asc("est.prioridad"));
    }
    criteria.addOrder(Order.desc("fechaModificacion"));

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

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

    return params;
}

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

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*w  ww. j  a v a2  s. c o  m*/
@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.inventario.dao.impl.TipoProductoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)/*w ww  .  ja v a  2s  .co  m*/
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.ja v a  2 s  .c  o 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.EmpleadoDaoHibernate.java

License:Open Source License

/**
 * @see mx.edu.um.mateo.rh.dao.EmpleadoDao#lista(java.util.Map)
 *///from  ww  w  .  j  a v  a 2  s.  c  om
@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;
}