List of usage examples for org.hibernate.criterion Projections sum
public static AggregateProjection sum(String propertyName)
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; }