Example usage for org.hibernate.criterion Projections sum

List of usage examples for org.hibernate.criterion Projections sum

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections sum.

Prototype

public static AggregateProjection sum(String propertyName) 

Source Link

Document

A property value sum projection

Usage

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

public BigDecimal findTotalForPeriod(Integer userId, Date start, Date end) {
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);
    addUserCriteria(criteria, userId);/*  www . j a  v  a2 s  .  co m*/
    addPeriodCriteria(criteria, start, end);
    criteria.setProjection(Projections.sum("total"));
    return (BigDecimal) criteria.uniqueResult();
}

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

public BigDecimal findAmountForPeriodByItem(Integer userId, Integer itemId, Date start, Date end) {
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);
    addUserCriteria(criteria, userId);//w  w w  .j  a  v  a 2 s  . c  o  m
    addPeriodCriteria(criteria, start, end);
    addItemCriteria(criteria, itemId);
    criteria.setProjection(Projections.sum("invoiceLines.amount"));
    return (BigDecimal) criteria.uniqueResult();
}

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

public BigDecimal findQuantityForPeriodByItem(Integer userId, Integer itemId, Date start, Date end) {
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);
    addUserCriteria(criteria, userId);/*from www. j  a v a  2 s  .c  o m*/
    addPeriodCriteria(criteria, start, end);
    addItemCriteria(criteria, itemId);
    criteria.setProjection(Projections.sum("invoiceLines.quantity"));
    return (BigDecimal) criteria.uniqueResult();
}

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

public BigDecimal findAmountForPeriodByItemCategory(Integer userId, Integer categoryId, Date start, Date end) {
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);
    addUserCriteria(criteria, userId);/*w w  w .  j  a  v a  2  s  .  com*/
    addPeriodCriteria(criteria, start, end);
    addItemCategoryCriteria(criteria, categoryId);
    criteria.setProjection(Projections.sum("invoiceLines.amount"));
    return (BigDecimal) criteria.uniqueResult();
}

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

public BigDecimal findQuantityForPeriodByItemCategory(Integer userId, Integer categoryId, Date start,
        Date end) {/* w  ww .java  2  s  . com*/
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);
    addUserCriteria(criteria, userId);
    addPeriodCriteria(criteria, start, end);
    addItemCategoryCriteria(criteria, categoryId);
    criteria.setProjection(Projections.sum("invoiceLines.quantity"));
    return (BigDecimal) criteria.uniqueResult();
}

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

public BigDecimal findTotalBalanceByUser(Integer userId) {
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);

    addUserCriteria(criteria, userId);/*from  ww w  . j a  v  a 2  s.c  o  m*/
    criteria.add(Restrictions.eq("isReview", 0));

    criteria.createAlias("invoiceStatus", "s").add(Restrictions.ne("s.id", Constants.INVOICE_STATUS_PAID));

    criteria.setProjection(Projections.sum("balance"));
    criteria.setComment("InvoiceDAS.findTotalBalanceByUser");

    Object ttlBal = criteria.uniqueResult();

    return (ttlBal == null ? BigDecimal.ZERO : (BigDecimal) ttlBal);
}

From source file:com.sapienter.jbilling.server.invoice.db.InvoiceDAS.java

License:Open Source License

/**
 * Returns the sum total balance of all unpaid invoices for the given user.
 *
 * @param userId user id/*from   w  w  w . ja va  2s .c  o  m*/
 * @return total balance of all unpaid invoices.
 */
public BigDecimal findTotalAmountOwed(Integer userId) {
    Criteria criteria = getSession().createCriteria(InvoiceDTO.class);
    addUserCriteria(criteria, userId);
    criteria.createAlias("invoiceStatus", "status");
    criteria.add(Restrictions.ne("status.id", Constants.INVOICE_STATUS_PAID));
    criteria.add(Restrictions.eq("isReview", 0));
    criteria.setProjection(Projections.sum("balance"));
    criteria.setComment("InvoiceDAS.findTotalAmountOwed");

    return (criteria.uniqueResult() == null ? BigDecimal.ZERO : (BigDecimal) criteria.uniqueResult());
}

From source file:com.sapienter.jbilling.server.payment.db.PaymentDAS.java

License:Open Source License

public BigDecimal findTotalRevenueByUser(Integer userId) {
    Criteria criteria = getSession().createCriteria(PaymentDTO.class);
    criteria.add(Restrictions.eq("deleted", 0)).createAlias("baseUser", "u")
            .add(Restrictions.eq("u.id", userId)).createAlias("paymentResult", "pr")
            .add(Restrictions.ne("pr.id", CommonConstants.PAYMENT_RESULT_FAILED));
    criteria.add(Restrictions.eq("isRefund", 0));
    criteria.setProjection(Projections.sum("amount"));
    criteria.setComment("PaymentDAS.findTotalRevenueByUser-Gross Receipts");

    BigDecimal grossReceipts = criteria.uniqueResult() == null ? BigDecimal.ZERO
            : (BigDecimal) criteria.uniqueResult();

    Criteria criteria2 = getSession().createCriteria(PaymentDTO.class);
    criteria2.add(Restrictions.eq("deleted", 0)).createAlias("baseUser", "u")
            .add(Restrictions.eq("u.id", userId)).createAlias("paymentResult", "pr")
            .add(Restrictions.ne("pr.id", CommonConstants.PAYMENT_RESULT_FAILED));
    criteria2.add(Restrictions.eq("isRefund", 1));
    criteria2.setProjection(Projections.sum("amount"));
    criteria2.setComment("PaymentDAS.findTotalRevenueByUser-Gross Refunds");

    BigDecimal refunds = criteria2.uniqueResult() == null ? BigDecimal.ZERO
            : (BigDecimal) criteria2.uniqueResult();

    //net revenue = gross - all refunds
    return (grossReceipts.subtract(refunds));
}

From source file:com.sapienter.jbilling.server.payment.db.PaymentDAS.java

License:Open Source License

public BigDecimal findTotalBalanceByUser(Integer userId) {
    Criteria criteria = getSession().createCriteria(PaymentDTO.class);

    criteria.add(Restrictions.eq("deleted", 0)).createAlias("baseUser", "u")
            .add(Restrictions.eq("u.id", userId));

    criteria.setProjection(Projections.sum("balance"));
    criteria.setComment("PaymentDAS.findTotalBalanceByUser");

    return (criteria.uniqueResult() == null ? BigDecimal.ZERO : (BigDecimal) criteria.uniqueResult());
}

From source file:com.segundo.piso.daos.impl.DAOReportImpl.java

private ReporteMovimientosAlumno totalMovements(Criteria criteria) {
    ReporteMovimientosAlumno reporte = (ReporteMovimientosAlumno) criteria
            .setProjection(Projections.projectionList().add(Projections.sum("costo"), "totalCosto")
                    .add(Projections.sum("pago"), "total").add(Projections.sum("descuento"), "totalDescuento"))
            .setResultTransformer(Transformers.aliasToBean(ReporteMovimientosAlumno.class)).uniqueResult();

    return reporte;
}