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.colportor.dao.hibernate.ClienteColportorDaoHibernate.java

@Override
@Transactional(readOnly = true)//from  w  w w. j ava 2s.  c  o m
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)// www.ja  v a 2  s.  co m
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   www  .  ja  v a2  s. com
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 w  ww  .  ja  va  2  s. c  o 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;
}

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

License:Open Source License

public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de tipoColportores con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }/*w  w  w  . j  av  a 2s.  c om*/

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

    if (params.containsKey(Constantes.CONTAINSKEY_FILTRO)) {
        String filtro = (String) params.get(Constantes.CONTAINSKEY_FILTRO);
        filtro = "%" + filtro + "%";
        Disjunction propiedades = Restrictions.disjunction();
        propiedades.add(Restrictions.ilike("tipoColportor", 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_TIPO_COLPORTOR, 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.UnionDao.java

License:Open Source License

public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de uniones con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }/*from   w  w w.ja v a  2s  .  c  om*/
    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(Union.class);
    Criteria countCriteria = currentSession().createCriteria(Union.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_UNIONES, 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.UsuarioDao.java

License:Open Source License

public Map<String, Object> lista(Map<String, Object> params) {
    log.debug("Buscando lista de usuarios con params {}", params);
    if (params == null) {
        params = new HashMap<>();
    }/*from w  w w  .  j  a  v a2  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);
    }

    if (!params.containsKey(Constantes.ADDATTRIBUTE_ASOCIACION)) {
        params.put("usuarios", new ArrayList());
        params.put("cantidad", 0L);

        return params;
    }

    Criteria criteria = currentSession().createCriteria(Usuario.class);
    Criteria countCriteria = currentSession().createCriteria(Usuario.class);

    if (params.containsKey(Constantes.ADDATTRIBUTE_ASOCIACION)) {
        log.debug("valor de asociacion" + params.get("asociacion"));
        criteria.createCriteria(Constantes.ADDATTRIBUTE_ASOCIACION).add(
                Restrictions.eq("id", ((Asociacion) params.get(Constantes.ADDATTRIBUTE_ASOCIACION)).getId()));
        countCriteria.createCriteria(Constantes.ADDATTRIBUTE_ASOCIACION).add(
                Restrictions.eq("id", ((Asociacion) params.get(Constantes.ADDATTRIBUTE_ASOCIACION)).getId()));
    }

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

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

    return params;
}

From source file:mx.edu.um.mateo.contabilidad.dao.impl.CentroCostoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//from   ww  w.jav  a2 s.c om
public List<CentroCosto> busca(String filtro, Usuario usuario) {
    Ejercicio ejercicio = usuario.getEjercicio();
    Criteria criteria = currentSession().createCriteria(CentroCosto.class);
    criteria.add(Restrictions.eq("id.ejercicio", ejercicio));
    Disjunction or = Restrictions.disjunction();
    or.add(Restrictions.ilike("id.idCosto", filtro, MatchMode.ANYWHERE));
    or.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
    criteria.add(or);
    criteria.setMaxResults(10);
    return criteria.list();
}

From source file:mx.edu.um.mateo.contabilidad.dao.impl.CentroCostoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//w  w  w  . j av  a 2 s  . c om
public List<CentroCosto> buscaPorOrganizacion(String filtro, Usuario usuario) {
    Ejercicio ejercicio = usuario.getEjercicio();
    Organizacion organizacion = usuario.getEmpresa().getOrganizacion();
    Criteria criteria = currentSession().createCriteria(CentroCosto.class);
    criteria.add(Restrictions.eq("id.ejercicio", ejercicio));
    Disjunction or = Restrictions.disjunction();
    Conjunction and = Restrictions.conjunction();
    String base = organizacion.getCentroCostoId();
    StringBuilder sb = new StringBuilder();
    sb.append(base);
    sb.append("%");
    sb.append(filtro);
    String cuenta = sb.toString();
    or.add(Restrictions.ilike("id.idCosto", cuenta, MatchMode.START));
    and.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
    and.add(Restrictions.ilike("id.idCosto", base, MatchMode.START));
    or.add(and);
    criteria.add(or);
    criteria.setMaxResults(10);
    return criteria.list();
}

From source file:mx.edu.um.mateo.contabilidad.dao.impl.CentroCostoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//from   w  w  w  .jav a  2s.  c  om
public List<CentroCosto> buscaPorEmpresa(String filtro, Usuario usuario) {
    Ejercicio ejercicio = usuario.getEjercicio();
    Empresa empresa = usuario.getEmpresa();
    Criteria criteria = currentSession().createCriteria(CentroCosto.class);
    criteria.add(Restrictions.eq("id.ejercicio", ejercicio));
    Disjunction or = Restrictions.disjunction();
    Conjunction and = Restrictions.conjunction();
    String base = empresa.getCentroCosto().getId().getIdCosto();
    StringBuilder sb = new StringBuilder();
    sb.append(base);
    sb.append("%");
    sb.append(filtro);
    String cuenta = sb.toString();
    or.add(Restrictions.ilike("id.idCosto", cuenta, MatchMode.START));
    and.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
    and.add(Restrictions.ilike("id.idCosto", base, MatchMode.START));
    or.add(and);
    criteria.add(or);
    criteria.setMaxResults(10);
    return criteria.list();
}