List of usage examples for org.hibernate.criterion Projections sum
public static AggregateProjection sum(String propertyName)
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
private double calculateCreditCardReceipt(Session session, Date fromDate, Date toDate) { //cash receipt Criteria criteria = session.createCriteria(CashTransaction.class); criteria.add(Restrictions.ge(CreditCardTransaction.PROP_TRANSACTION_TIME, fromDate)); criteria.add(Restrictions.le(CreditCardTransaction.PROP_TRANSACTION_TIME, toDate)); criteria.add(Restrictions.eq(CreditCardTransaction.PROP_TRANSACTION_TYPE, TransactionType.CREDIT.name())); criteria.setProjection(Projections.sum(CashTransaction.PROP_AMOUNT)); return getDoubleAmount(criteria.uniqueResult()); }
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
private double calculateGiftCertSoldAmount(Session session, Date fromDate, Date toDate) { //cash receipt Criteria criteria = session.createCriteria(GiftCertificateTransaction.class); criteria.add(Restrictions.ge(GiftCertificateTransaction.PROP_TRANSACTION_TIME, fromDate)); criteria.add(Restrictions.le(GiftCertificateTransaction.PROP_TRANSACTION_TIME, toDate)); criteria.add(// w w w . ja va 2s.c o m Restrictions.eq(GiftCertificateTransaction.PROP_TRANSACTION_TYPE, TransactionType.CREDIT.name())); criteria.setProjection(Projections.sum(GiftCertificateTransaction.PROP_GIFT_CERT_FACE_VALUE)); return getDoubleAmount(criteria.uniqueResult()); }
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
private double calculateTips(Session session, Date fromDate, Date toDate, User user) { //tips//from w ww. ja v a 2 s .c o m Criteria criteria = session.createCriteria(Ticket.class); criteria.createAlias(Ticket.PROP_GRATUITY, "g"); //$NON-NLS-1$ criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate)); criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate)); if (user != null) { criteria.add(Restrictions.eq(Ticket.PROP_OWNER, user)); } //FIXME: HOW ABOUT TIPS ON VOID OR REFUNDED TICKET? //criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); //criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); criteria.setProjection(Projections.sum("g." + Gratuity.PROP_AMOUNT)); //$NON-NLS-1$ return getDoubleAmount(criteria.uniqueResult()); }
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
private double calculateDiscount(Session session, Date fromDate, Date toDate, User user) { //discounts//from w w w.j a v a2 s .c o m Criteria criteria = session.createCriteria(Ticket.class); criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate)); criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate)); criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); if (user != null) { criteria.add(Restrictions.eq(Ticket.PROP_OWNER, user)); } criteria.setProjection(Projections.sum(Ticket.PROP_DISCOUNT_AMOUNT)); return getDoubleAmount(criteria.uniqueResult()); }
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
private double calculateTax(Session session, Date fromDate, Date toDate, User user) { //discounts/*from w ww. j a v a 2 s . co m*/ Criteria criteria = session.createCriteria(Ticket.class); criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate)); criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate)); criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); if (user != null) { criteria.add(Restrictions.eq(Ticket.PROP_OWNER, user)); } criteria.setProjection(Projections.sum(Ticket.PROP_TAX_AMOUNT)); return getDoubleAmount(criteria.uniqueResult()); }
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
private double calculateGrossSales(Session session, Date fromDate, Date toDate, User user, boolean taxableSales) { Criteria criteria = session.createCriteria(Ticket.class); criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate)); criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate)); criteria.add(Restrictions.eq(Ticket.PROP_VOIDED, Boolean.FALSE)); criteria.add(Restrictions.eq(Ticket.PROP_REFUNDED, Boolean.FALSE)); if (user != null) { criteria.add(Restrictions.eq(Ticket.PROP_OWNER, user)); }/* w w w . j av a2s . co m*/ criteria.add(Restrictions.eq(Ticket.PROP_TAX_EXEMPT, Boolean.valueOf(!taxableSales))); criteria.setProjection(Projections.sum(Ticket.PROP_SUBTOTAL_AMOUNT)); return getDoubleAmount(criteria.uniqueResult()); }
From source file:com.floreantpos.report.service.ReportService.java
License:Open Source License
public SalesDetailedReport getSalesDetailedReport(Date fromDate, Date toDate) { GenericDAO dao = new GenericDAO(); SalesDetailedReport report = new SalesDetailedReport(); Session session = null;//from w w w .j av a2 s . c o m report.setFromDate(fromDate); report.setToDate(toDate); report.setReportTime(new Date()); try { session = dao.getSession(); Criteria criteria = session.createCriteria(DrawerPullReport.class); criteria.add(Restrictions.ge(DrawerPullReport.PROP_REPORT_TIME, fromDate)); criteria.add(Restrictions.le(DrawerPullReport.PROP_REPORT_TIME, toDate)); List list = criteria.list(); for (Iterator iter = list.iterator(); iter.hasNext();) { DrawerPullReport drawerPullReport = (DrawerPullReport) iter.next(); DrawerPullData data = new DrawerPullData(); data.setDrawerPullId(drawerPullReport.getId()); data.setTicketCount(drawerPullReport.getTicketCount()); data.setIdealAmount(drawerPullReport.getDrawerAccountable()); data.setActualAmount(drawerPullReport.getCashToDeposit()); data.setVarinceAmount( drawerPullReport.getDrawerAccountable() - drawerPullReport.getCashToDeposit()); report.addDrawerPullData(data); } criteria = session.createCriteria(CreditCardTransaction.class); criteria.add(Restrictions.ge(CreditCardTransaction.PROP_TRANSACTION_TIME, fromDate)); criteria.add(Restrictions.le(CreditCardTransaction.PROP_TRANSACTION_TIME, toDate)); list = criteria.list(); for (Iterator iter = list.iterator(); iter.hasNext();) { CreditCardTransaction t = (CreditCardTransaction) iter.next(); report.addCreditCardData(t); } criteria = session.createCriteria(DebitCardTransaction.class); criteria.add(Restrictions.ge(DebitCardTransaction.PROP_TRANSACTION_TIME, fromDate)); criteria.add(Restrictions.le(DebitCardTransaction.PROP_TRANSACTION_TIME, toDate)); list = criteria.list(); for (Iterator iter = list.iterator(); iter.hasNext();) { DebitCardTransaction t = (DebitCardTransaction) iter.next(); report.addCreditCardData(t); } criteria = session.createCriteria(GiftCertificateTransaction.class); criteria.add(Restrictions.ge(GiftCertificateTransaction.PROP_TRANSACTION_TIME, fromDate)); criteria.add(Restrictions.le(GiftCertificateTransaction.PROP_TRANSACTION_TIME, toDate)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.rowCount()); projectionList.add(Projections.sum(GiftCertificateTransaction.PROP_AMOUNT)); criteria.setProjection(projectionList); Object[] object = (Object[]) criteria.uniqueResult(); if (object != null && object.length > 0 && object[0] instanceof Number) { report.setGiftCertReturnCount(((Number) object[0]).intValue()); } if (object != null && object.length > 1 && object[1] instanceof Number) { report.setGiftCertReturnAmount(((Number) object[1]).doubleValue()); } criteria = session.createCriteria(GiftCertificateTransaction.class); criteria.add(Restrictions.ge(GiftCertificateTransaction.PROP_TRANSACTION_TIME, fromDate)); criteria.add(Restrictions.le(GiftCertificateTransaction.PROP_TRANSACTION_TIME, toDate)); criteria.add( Restrictions.gt(GiftCertificateTransaction.PROP_GIFT_CERT_CASH_BACK_AMOUNT, Double.valueOf(0))); projectionList = Projections.projectionList(); projectionList.add(Projections.rowCount()); projectionList.add(Projections.sum(GiftCertificateTransaction.PROP_GIFT_CERT_CASH_BACK_AMOUNT)); criteria.setProjection(projectionList); object = (Object[]) criteria.uniqueResult(); if (object != null && object.length > 0 && object[0] instanceof Number) { report.setGiftCertChangeCount(((Number) object[0]).intValue()); } if (object != null && object.length > 1 && object[1] instanceof Number) { report.setGiftCertChangeAmount(((Number) object[1]).doubleValue()); } criteria = session.createCriteria(Ticket.class); criteria.createAlias(Ticket.PROP_GRATUITY, "g"); //$NON-NLS-1$ criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate)); criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate)); criteria.add(Restrictions.gt("g." + Gratuity.PROP_AMOUNT, Double.valueOf(0))); //$NON-NLS-1$ projectionList = Projections.projectionList(); projectionList.add(Projections.rowCount()); projectionList.add(Projections.sum("g." + Gratuity.PROP_AMOUNT)); //$NON-NLS-1$ criteria.setProjection(projectionList); object = (Object[]) criteria.uniqueResult(); if (object != null && object.length > 0 && object[0] instanceof Number) { report.setTipsCount(((Number) object[0]).intValue()); } if (object != null && object.length > 1 && object[1] instanceof Number) { report.setChargedTips(((Number) object[1]).doubleValue()); } criteria = session.createCriteria(Ticket.class); criteria.createAlias(Ticket.PROP_GRATUITY, "g"); //$NON-NLS-1$ criteria.add(Restrictions.ge(Ticket.PROP_CREATE_DATE, fromDate)); criteria.add(Restrictions.le(Ticket.PROP_CREATE_DATE, toDate)); criteria.add(Restrictions.gt("g." + Gratuity.PROP_AMOUNT, Double.valueOf(0))); //$NON-NLS-1$ criteria.add(Restrictions.gt("g." + Gratuity.PROP_PAID, Boolean.TRUE)); //$NON-NLS-1$ projectionList = Projections.projectionList(); projectionList.add(Projections.sum("g." + Gratuity.PROP_AMOUNT)); //$NON-NLS-1$ criteria.setProjection(projectionList); object = (Object[]) criteria.uniqueResult(); if (object != null && object.length > 0 && object[0] instanceof Number) { report.setTipsPaid(((Number) object[0]).doubleValue()); } return report; } finally { if (session != null) { session.close(); } } }
From source file:com.gps.rptbean.DataSourceFactory.java
public static JRDataSource buildYearlyDataSource(Vehicle v, String year, String measureName) { assert (v != null); assert (year != null); Date startDate = null;//from www . j a v a 2 s .c o m try { startDate = (new SimpleDateFormat("yyyy")).parse(year); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } Calendar cal = Calendar.getInstance(); cal.setTime(startDate); cal.add(Calendar.YEAR, 1); Date endDate = cal.getTime(); Session session = HibernateUtil.getSession(); List results = session.createCriteria(FRuningLog.class) .setProjection(Projections.projectionList().add(Projections.rowCount(), "rowCount") .add(Projections.sum(measureName), "total") .add(Projections.groupProperty("yearMonth"), "yearMonth")) .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId())) .add(Restrictions.le("startDate", endDate)).add(Restrictions.ge("startDate", startDate)) .addOrder(Order.asc("yearMonth")).list(); // // FRuningLogBean fruningLogBean = new FRuningLogBean(); // // fruningLogBean.setVehicleId(v.getVehicleId()); // fruningLogBean.setStartDateStart(startDate); // fruningLogBean.setStartDateEnd(endDate); // // fruningLogBean.getList(); YearlyDataSource ds = null; ds = new YearlyDataSource(); Iterator iter = results.iterator(); while (iter.hasNext()) { Object[] row = (Object[]) iter.next(); Integer count = (Integer) row[0]; Double total = (Double) row[1]; String yearMonth = (String) row[2]; int idx = getIndex(yearMonth); YearlyBean bean = new YearlyBean(idx); bean.setVehicleId(v.getVehicleId()); bean.setLicensePad(v.getLicensPadNumber()); bean.setMeasure1(total); ds.addRecord(idx, bean); } return ds; }
From source file:com.gps.rptbean.DataSourceFactory.java
public static JRDataSource buildMonthlyCostDataSource(Vehicle v, Date start, Date end) { CostAnalysisDataSource result = new CostAnalysisDataSource(); assert (v != null); assert (start != null); assert (end != null); int index = 1; Session session = HibernateUtil.getSession(); List results = session.createCriteria(FRuningLog.class) .setProjection(Projections.projectionList().add(Projections.rowCount(), "runCount") .add(Projections.sum("totalCost"), "total").add(Projections.sum("actualGas"), "totalGas") .add(Projections.sum("gasByCashCost"), "totalGasCash") .add(Projections.sum("gasByCardCost"), "totalGasCard") .add(Projections.sum("actualDistance"), "totalDistance") .add(Projections.sum("actualRoadFee"), "totalRoadFee") .add(Projections.sum("overLimitFee"), "totalOverLimitFee") .add(Projections.groupProperty("vehicle.vehicleId"), "vehicleId")) .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId())).add(Restrictions.le("startDate", end)) .add(Restrictions.ge("startDate", start)).list(); Double gas = (Double) ((Object[]) results.get(0))[2]; Double gasByCash = (Double) ((Object[]) results.get(0))[3]; Double gasByCard = (Double) ((Object[]) results.get(0))[4]; Double gasFee = gasByCash + gasByCard; Double roadFee = (Double) ((Object[]) results.get(0))[6]; Double limitFee = (Double) ((Object[]) results.get(0))[7]; CostAnalysisBean bean1 = new CostAnalysisBean(); bean1.setCategoryName(""); bean1.setIndex(index);/*from w w w .j ava2 s . com*/ bean1.setLicensePad(v.getLicensPadNumber()); bean1.setMeasure1(gasFee); bean1.setVehicleId(v.getVehicleId()); result.addRecord(index - 1, bean1); index++; CostAnalysisBean bean2 = new CostAnalysisBean(); bean2.setCategoryName(""); bean2.setIndex(index); bean2.setLicensePad(v.getLicensPadNumber()); bean2.setMeasure1(roadFee); bean2.setVehicleId(v.getVehicleId()); result.addRecord(index - 1, bean2); index++; CostAnalysisBean bean3 = new CostAnalysisBean(); bean3.setCategoryName("?"); bean3.setIndex(index); bean3.setLicensePad(v.getLicensPadNumber()); bean3.setMeasure1(limitFee); bean3.setVehicleId(v.getVehicleId()); result.addRecord(index - 1, bean3); index++; results = null; results = session.createCriteria(FMaintain.class) .setProjection(Projections.projectionList().add(Projections.rowCount(), "runCount") .add(Projections.sum("cost"), "total") .add(Projections.groupProperty("vehicle.vehicleId"), "vehicleId")) .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId())) .add(Restrictions.le("maintainDate", end)).add(Restrictions.ge("maintainDate", start)).list(); if (results.size() > 0) { Double maitainFee = (Double) ((Object[]) results.get(0))[1]; CostAnalysisBean bean4 = new CostAnalysisBean(); bean4.setCategoryName("?"); bean4.setIndex(index); bean4.setLicensePad(v.getLicensPadNumber()); bean4.setMeasure1(maitainFee); bean4.setVehicleId(v.getVehicleId()); result.addRecord(index - 1, bean4); index++; } String yearMonth = new SimpleDateFormat("yyyyMM").format(start); results = null; results = session.createCriteria(FExpenseLog.class) .setProjection(Projections.projectionList().add(Projections.rowCount(), "runCount") .add(Projections.sum("amount"), "total") .add(Projections.groupProperty("category1"), "category1")) .add(Restrictions.eq("vehicle.vehicleId", v.getVehicleId())) .add(Restrictions.eq("yearMonth", yearMonth)).list(); Iterator iter = results.iterator(); while (iter.hasNext()) { Object[] row = (Object[]) iter.next(); Integer count = (Integer) row[0]; Double total = (Double) row[1]; String category = (String) row[2]; CostAnalysisBean bean = new CostAnalysisBean(); bean.setIndex(index); bean.setCategoryName(category); bean.setVehicleId(v.getVehicleId()); bean.setLicensePad(v.getLicensPadNumber()); bean.setMeasure1(total); result.addRecord(index - 1, bean); index++; } return result; }
From source file:com.heliosapm.aa4h.parser.XMLQueryParser.java
License:Apache License
/** * Adds a new projection to the current projectionList stack. * Mandatory Attributes:<ul>// w ww . j a va2s . c om * <li><b>name</b>: The field to create a projection on.</li> * <li><b>type</b>: The projection type.</li> * <li><b>alias</b>: The name applied to the projection returned field.</li> * </ul> * @param attrs The attributes of the processed node. * @throws SAXException * TODO: Implement checks for mandatory attributes. */ public void addProjection(Attributes attrs) throws SAXException { ProjectionList projectionList = projectionStack.peek(); if (projectionList == null) { throw new SAXException( "Attempted to add Projection and no ProjectionList Exists On The Stack. (Projection must be embedded inside a Projections)"); } String type = attrs.getValue("type"); String name = attrs.getValue("name"); String alias = attrs.getValue("alias"); if ("avg".equalsIgnoreCase(type)) { projectionList.add(Projections.avg(name), alias); } else if ("count".equalsIgnoreCase(type)) { projectionList.add(Projections.count(name), alias); } else if ("countDistinct".equalsIgnoreCase(type)) { projectionList.add(Projections.countDistinct(name), alias); } else if ("groupProperty".equalsIgnoreCase(type)) { projectionList.add(Projections.groupProperty(name), alias); } else if ("max".equalsIgnoreCase(type)) { projectionList.add(Projections.max(name), alias); } else if ("min".equalsIgnoreCase(type)) { projectionList.add(Projections.min(name), alias); } else if ("sum".equalsIgnoreCase(type)) { projectionList.add(Projections.sum(name), alias); } else if ("rowCount".equalsIgnoreCase(type)) { projectionList.add(Projections.rowCount(), alias); } }