List of usage examples for org.hibernate.criterion Restrictions disjunction
public static Disjunction disjunction()
From source file:mx.edu.um.mateo.general.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<>(); }/* w ww. jav a 2s . c o 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("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("asociacion")) { log.debug("valor de asociacion" + params.get("asociacion")); criteria.createCriteria("asociacion") .add(Restrictions.eq("id", ((Asociacion) params.get("asociacion")).getId())); countCriteria.createCriteria("asociacion") .add(Restrictions.eq("id", ((Asociacion) params.get("asociacion")).getId())); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("username", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("apellido", 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("usuarios", 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.AlmacenDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)/*from ww w. ja va2 s .c o m*/ public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de almacenes 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(Almacen.class); Criteria countCriteria = currentSession().createCriteria(Almacen.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("nombreCompleto", 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("almacenes", 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.CancelacionDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)/*from w w w.j a va 2 s .c o m*/ public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de cancelaciones 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(Cancelacion.class); Criteria countCriteria = currentSession().createCriteria(Cancelacion.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)); 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.desc("fechaCreacion")); } if (!params.containsKey("reporte")) { criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); } params.put("cancelaciones", 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
@Override @Transactional(readOnly = true)//from w w w. j a v a2s . 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/*w w w .ja v a2 s . c o m*/ @Transactional(readOnly = true) public List<Entrada> buscaEntradasParaFactura(Map<String, Object> params) { log.debug("Buscando lista de entradas con params {}", params); if (params == null) { params = new HashMap<>(); } if (!params.containsKey("max")) { params.put("max", 10); } else { params.put("max", Math.min((Integer) params.get("max"), 100)); } if (!params.containsKey("offset")) { params.put("offset", 0); } Criteria criteria = currentSession().createCriteria(Entrada.class); if (params.containsKey("almacen")) { criteria.createCriteria("almacen").add(Restrictions.idEq(params.get("almacen"))); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("comentarios", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); } if (params.containsKey("facturaId")) { Query query = currentSession().createQuery( "select e.id from FacturaAlmacen f inner join f.entradas as e where f.id = :facturaId"); query.setLong("facturaId", (Long) params.get("facturaId")); List<Long> idsDeEntradas = query.list(); log.debug("idsDeEntradas: {}", idsDeEntradas); if (idsDeEntradas != null && idsDeEntradas.size() > 0) { criteria.add(Restrictions.not(Restrictions.in("id", idsDeEntradas))); } } criteria.add(Restrictions.eq("devolucion", Boolean.TRUE)); criteria.createCriteria("estatus").add(Restrictions.eq("nombre", Constantes.CERRADA)); criteria.addOrder(Order.desc("fechaModificacion")); criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); return criteria.list(); }
From source file:mx.edu.um.mateo.inventario.dao.impl.FacturaAlmacenDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)/*from ww w .j a va 2s.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)/* ww w.j av a2 s . co m*/ 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 ww . j a va 2s. c o m*/ @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)//w ww . jav a2s .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/*from w w w.ja va 2s . 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(); }