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("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; }
@Override public List<Pedido> listaPagPedidos(String username, int paginaActual, int resultadosPorPagina) { session = sessionFactory.openSession(); Usuario usuario = (Usuario) session.get(Usuario.class, username); List<Pedido> p = session .createCriteria(Pedido.class) .add(Restrictions.eq("usuario", usuario)) .add(Restrictions.eq("confirmado", true)) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .addOrder(Order.desc("idpedido")) .list(); session.close(); int primer_resultado = paginaActual * resultadosPorPagina - resultadosPorPagina; int max_resultados = paginaActual * resultadosPorPagina - resultadosPorPagina + resultadosPorPagina; List<Pedido> pe; if (p.subList(primer_resultado, p.size()).size() < resultadosPorPagina) pe = p.subList(primer_resultado, p.size()); else pe = p.subList(primer_resultado, max_resultados); return pe; }
public void testInsertWithDefaultValues() { // insert into things default values; Insert insert = Insert.into(Thing.TABLE).defaultValues(); CompiledStatement compiled = insert.compile(); verifyCompiledSqlArgs(compiled, 0); int rowsBeforeInsert = dao.count(Thing.class, Criterion.all); assertEquals(3, dao.insert(insert)); int rowsAfterInsert = dao.count(Thing.class, Criterion.all); assertEquals(rowsBeforeInsert + 1, rowsAfterInsert); // get the newest Thing newThing = null; SquidCursor<Thing> cursor = null; try { cursor = dao.query( Thing.class, Query.select(Thing.PROPERTIES).orderBy(Order.desc(Thing.ID)).limit(1)); if (cursor.moveToFirst()) { newThing = new Thing(cursor); } } finally { if (cursor != null) { cursor.close(); } } assertNotNull(newThing); assertEquals(Thing.DEFAULT_FOO, newThing.getFoo()); assertEquals(Thing.DEFAULT_BAR, newThing.getBar().intValue()); assertEquals(Thing.DEFAULT_IS_ALIVE, newThing.isAlive().booleanValue()); }
private T orderDirection(boolean ascending) { int i = ensureOrderIndex(); Order order = this.orderEntries.get(i); if (order.isAscending() != ascending) { // only swap out the Order statement if it is different: String name = order.getPropertyName(); Order newOrder = ascending ? Order.asc(name) : Order.desc(name); this.orderEntries.set(i, newOrder); } return (T) this; }
@Override public List<Pedido> listPedidos(String username) { session = sessionFactory.openSession(); Usuario usuario = (Usuario) session.get(Usuario.class, username); List<Pedido> p = session .createCriteria(Pedido.class) .add(Restrictions.eq("usuario", usuario)) .add(Restrictions.eq("confirmado", true)) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY) .addOrder(Order.desc("idpedido")) .list(); session.close(); return p; }
/** * 设置分页参数到Criteria对象,辅助函数. * * @param c Hibernate Criteria * @param pageRequest 分页请求参数 * @return {@link org.hibernate.Criteria} */ protected Criteria setPageRequestToCriteria(Criteria c, PageRequest pageRequest) { Assert.isTrue(pageRequest.getPageSize() > 0, "分页大小必须大于0"); c.setFirstResult(pageRequest.getOffset()); c.setMaxResults(pageRequest.getPageSize()); if (pageRequest.isOrderBySetted()) { for (PageRequest.Sort sort : pageRequest.getSort()) { Order order = null; if (sort.getDir().equals(PageRequest.Sort.ASC)) { order = Order.asc(sort.getProperty()); } else { order = Order.desc(sort.getProperty()); } c.addOrder(order); } } return c; }
/** @return an {@link Order} that sorts descending by this field's value */ public Order desc() { return Order.desc(this); }
public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de asociado 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); } if (!params.containsKey("asociacion")) { params.put("asociados", new ArrayList()); params.put("cantidad", 0L); return params; } Criteria criteria = currentSession().createCriteria(Asociado.class); Criteria countCriteria = currentSession().createCriteria(Asociado.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("asociados", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); return params; }