示例#1
0
  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;
  }
示例#2
0
  @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;
  }
示例#3
0
  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;
 }
示例#5
0
  @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;
  }
示例#7
0
 /** @return an {@link Order} that sorts descending by this field's value */
 public Order desc() {
   return Order.desc(this);
 }
示例#8
0
  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;
  }