List of usage examples for org.hibernate.criterion Projections sum
public static AggregateProjection sum(String propertyName)
From source file:by.andrew.pakhomov.testtask.web.controller.SpentTimeRecordController.java
@RequestMapping("/bydevelopers") public String getSpentTimeBetweenDatesSumByDevelopers( @RequestParam(name = "startDate", required = false) String startDate, @RequestParam(name = "finishDate", required = false) String finishDate, Model model) { model.addAttribute("records", Collections.emptyMap()); if (startDate == null && finishDate == null) { return "report-spent-time-by-developers"; } else {//from w ww .j ava2s . c om model.addAttribute("startDate", startDate); model.addAttribute("finishDate", finishDate); } List<String> errors = new ArrayList<>(2); Date startDateTime = null; Date finishDateTime = null; try { startDateTime = DATE_FORMAT.parse(startDate); } catch (ParseException ex) { errors.add( " --"); } try { finishDateTime = DATE_FORMAT.parse(finishDate); } catch (ParseException ex) { errors.add( " --"); } if (!errors.isEmpty()) { this.addFormErrors(model, errors.toArray(new String[errors.size()])); return "report-spent-time-by-developers"; } final Date finalStartDate = startDateTime; final Date finalFinishDate = finishDateTime; this.executeSafely(model, (Session session) -> { Criteria cr = session.createCriteria(SpentTimeRecord.class); // cr.add(Restrictions.between("registrationDate", finalStartDate, finalFinishDate)); cr.setProjection(Projections.projectionList().add(Projections.sum("spentTimeInSeconds")) .add(Projections.groupProperty("employee"))); List<Object[]> records = cr.list(); Map<String, Long> report = new HashMap<>(); for (Object[] current : records) { report.put((String) current[1], (long) current[0]); } model.addAttribute("records", report); return true; }); return "report-spent-time-by-developers"; }
From source file:c14_hibernate.ManageEmployee.java
public void totalSalary() { Session session = factory.openSession(); Transaction tx = null;//from w w w.j av a 2 s . co m try { tx = session.beginTransaction(); Criteria cr = session.createCriteria(Employee.class); // To get total salary. cr.setProjection(Projections.sum("salary")); List totalSalary = cr.list(); System.out.println("Total Salary: " + totalSalary.get(0)); tx.commit(); } catch (HibernateException e) { if (tx != null) tx.rollback(); e.printStackTrace(); } finally { session.close(); } }
From source file:co.com.codesoftware.logica.facturacion.FacturacionLogica.java
/** * Funcion con la cual obtengo el valor de * * @param valor/*from w ww . j a v a 2 s . c o m*/ * @return */ public BigDecimal obtieneValorFacturasMes(Integer valor) { BigDecimal valorTotal = null; System.out.println("Valor " + valor); try { this.initOperation(); Criteria crit = this.sesion.createCriteria(FacturaEntity.class); crit.setProjection(Projections.sum("valor")); if (valor == 0) { crit.add(Restrictions .sqlRestriction("to_char(fact_fec_ini , 'mm/yyyy') = to_char(now(), 'mm/yyyy')")); } else { crit.add(Restrictions .sqlRestriction("to_char(fact_fec_ini , 'mm/yyyy') = to_char(current_date + interval '-" + valor + " month', 'mm/yyyy')")); } valorTotal = (BigDecimal) crit.uniqueResult(); } catch (Exception e) { e.printStackTrace(); } return valorTotal; }
From source file:com.abiquo.server.core.statistics.CloudUsageDAO.java
License:Open Source License
public CloudUsage sumTotalCloudUsage() { // TODO: Include aggregators functionality in bzengine? Session ses = HibernateEntityManagerHelper.getSession(getEntityManager()); Criteria crit = ses.createCriteria(CloudUsage.class); ProjectionList proList = Projections.projectionList(); proList.add(Projections.sum(CloudUsage.SERVERS_TOTAL_PROPERTY)); proList.add(Projections.sum(CloudUsage.SERVERS_RUNNING_PROPERTY)); proList.add(Projections.sum(CloudUsage.STORAGE_TOTAL_PROPERTY)); // proList.add(Projections.sum(CloudUsage.STORAGE_RESERVED_PROPERTY)); proList.add(Projections.sum(CloudUsage.STORAGE_USED_PROPERTY)); proList.add(Projections.sum(CloudUsage.PUBLIC_I_PS_TOTAL_PROPERTY)); // proList.add(Projections.sum(CloudUsage.PUBLIC_I_PS_RESERVED_PROPERTY)); proList.add(Projections.sum(CloudUsage.PUBLIC_I_PS_USED_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_MACHINES_TOTAL_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_MACHINES_RUNNING_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_CPU_TOTAL_PROPERTY)); // proList.add(Projections.sum(CloudUsage.V_CPU_RESERVED_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_CPU_USED_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_MEMORY_TOTAL_PROPERTY)); // proList.add(Projections.sum(CloudUsage.V_MEMORY_RESERVED_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_MEMORY_USED_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_STORAGE_TOTAL_PROPERTY)); // proList.add(Projections.sum(CloudUsage.V_STORAGE_RESERVED_PROPERTY)); proList.add(Projections.sum(CloudUsage.V_STORAGE_USED_PROPERTY)); proList.add(Projections.sum(CloudUsage.NUM_USERS_CREATED_PROPERTY)); proList.add(Projections.sum(CloudUsage.NUM_VDC_CREATED_PROPERTY)); proList.add(Projections.sum(CloudUsage.NUM_ENTERPRISES_CREATED_PROPERTY)); crit.setProjection(proList);/*from ww w . j ava 2 s . c o m*/ Object[] obj = (Object[]) crit.uniqueResult(); // Returns Object[] -> CloudUsage result = new CloudUsage(); int cont = 0; result.setServersTotal((Long) obj[cont++]); result.setServersRunning((Long) obj[cont++]); result.setStorageTotal((Long) obj[cont++]); // result.setStorageReserved((Long) obj[cont++]); result.setStorageUsed((Long) obj[cont++]); result.setPublicIPsTotal((Long) obj[cont++]); // result.setPublicIPsReserved((Long) obj[cont++]); result.setPublicIPsUsed((Long) obj[cont++]); result.setVirtualMachinesTotal((Long) obj[cont++]); result.setVirtualMachinesRunning((Long) obj[cont++]); result.setVirtualCpuTotal((Long) obj[cont++]); // result.setVirtualCpuReserved((Long) obj[cont++]); result.setVirtualCpuUsed((Long) obj[cont++]); result.setVirtualMemoryTotal((Long) obj[cont++]); // result.setVirtualMemoryReserved((Long) obj[cont++]); result.setVirtualMemoryUsed((Long) obj[cont++]); result.setVirtualStorageTotal((Long) obj[cont++]); // result.setVirtualStorageReserved((Long) obj[cont++]); result.setVirtualStorageUsed((Long) obj[cont++]); result.setNumUsersCreated((Long) obj[cont++]); result.setNumVdcCreated((Long) obj[cont++]); result.setNumEnterprisesCreated((Long) obj[cont++]); return result; }
From source file:com.abssh.util.GenericDao.java
License:Apache License
/** * countCriteria.//from ww w . ja va 2 s . c o m */ @SuppressWarnings("unchecked") protected int sumCriteriaResult(final String propertyName, final Criteria c) { CriteriaImpl impl = (CriteriaImpl) c; // Projection?ResultTransformer?OrderBy??,??Sum? Projection projection = impl.getProjection(); ResultTransformer transformer = impl.getResultTransformer(); List<CriteriaImpl.OrderEntry> orderEntries = null; try { orderEntries = (List) ReflectionUtils.getFieldValue(impl, "orderEntries"); ReflectionUtils.setFieldValue(impl, "orderEntries", new ArrayList()); } catch (Exception e) { logger.error("can not throw Exception:{}", e.getMessage()); } // Sum Integer sum = (Integer) c.setProjection(Projections.sum(propertyName)).uniqueResult(); // ?Projection,ResultTransformerOrderBy?? c.setProjection(projection); if (projection == null) { c.setResultTransformer(CriteriaSpecification.ROOT_ENTITY); } if (transformer != null) { c.setResultTransformer(transformer); } try { ReflectionUtils.setFieldValue(impl, "orderEntries", orderEntries); } catch (Exception e) { logger.error("can not throw Exception:{}", e.getMessage()); } return sum == null ? 0 : sum; }
From source file:com.ar.dev.tierra.api.dao.impl.ChartDAOImpl.java
@Override public List<Chart> getDineroVendedores(int idVendedor) { Calendar calendarInitial = Calendar.getInstance(); Calendar calendarClosing = Calendar.getInstance(); calendarInitial.set(Calendar.HOUR_OF_DAY, 0); calendarInitial.set(Calendar.MINUTE, 0); calendarInitial.set(Calendar.SECOND, 0); calendarInitial.set(Calendar.MILLISECOND, 0); Date fromDate = calendarInitial.getTime(); calendarClosing.set(Calendar.HOUR_OF_DAY, 23); calendarClosing.set(Calendar.MINUTE, 59); calendarClosing.set(Calendar.SECOND, 59); calendarClosing.set(Calendar.MILLISECOND, 59); Date toDate = calendarClosing.getTime(); int days = 0; List<Chart> chartVenta = new ArrayList<>(); while (days <= 6) { Chart chart = new Chart(); Criteria facturas = getSession().createCriteria(Factura.class); facturas.add(Restrictions.like("estado", "CONFIRMADO")); facturas.add(Restrictions.between("fechaCreacion", fromDate, toDate)); Criteria vendedorFactura = facturas.createCriteria("idVendedor"); vendedorFactura.add(Restrictions.eq("idUsuario", idVendedor)); facturas.setProjection(Projections.sum("total")); BigDecimal counter = (BigDecimal) facturas.uniqueResult(); if (counter != null) { chart.setValue(counter.intValue()); } else {/*www.j a va2s . co m*/ chart.setValue(0); } chart.setDate(fromDate); chartVenta.add(chart); calendarInitial.add(Calendar.DAY_OF_MONTH, -1); fromDate = calendarInitial.getTime(); calendarClosing.add(Calendar.DAY_OF_MONTH, -1); toDate = calendarClosing.getTime(); days++; } return chartVenta; }
From source file:com.ar.dev.tierra.api.dao.impl.ChartDAOImpl.java
@Override public List<Chart> getMontoMedioPago(int idMedioPago) { Calendar calendarInitial = Calendar.getInstance(); Calendar calendarClosing = Calendar.getInstance(); calendarInitial.set(Calendar.HOUR_OF_DAY, 0); calendarInitial.set(Calendar.MINUTE, 0); calendarInitial.set(Calendar.SECOND, 0); calendarInitial.set(Calendar.MILLISECOND, 0); Date fromDate = calendarInitial.getTime(); calendarClosing.set(Calendar.HOUR_OF_DAY, 23); calendarClosing.set(Calendar.MINUTE, 59); calendarClosing.set(Calendar.SECOND, 59); calendarClosing.set(Calendar.MILLISECOND, 59); Date toDate = calendarClosing.getTime(); int days = 0; List<Chart> chartMedioPago = new ArrayList<>(); while (days <= 6) { Chart chart = new Chart(); Criteria metodo = getSession().createCriteria(MetodoPagoFactura.class); metodo.add(Restrictions.eq("estado", true)); Criteria planPago = metodo.createCriteria("planPago"); Criteria tarjeta = planPago.createCriteria("tarjeta"); Criteria medioPago = tarjeta.createCriteria("medioPago"); medioPago.add(Restrictions.eq("idMedioPago", idMedioPago)); metodo.add(Restrictions.between("fechaCreacion", fromDate, toDate)); metodo.setProjection(Projections.sum("montoPago")); BigDecimal counter = (BigDecimal) metodo.uniqueResult(); if (counter != null) { chart.setValue(counter.intValue()); } else {/*from w w w. java2s . c om*/ chart.setValue(0); } chart.setDate(fromDate); chartMedioPago.add(chart); calendarInitial.add(Calendar.DAY_OF_MONTH, -1); fromDate = calendarInitial.getTime(); calendarClosing.add(Calendar.DAY_OF_MONTH, -1); toDate = calendarClosing.getTime(); days++; } return chartMedioPago; }
From source file:com.bean.StatisticBean.java
public LineChartModel getStatisticViewInYear() { LineChartModel combinedModel = new LineChartModel(); BarChartSeries boys = new BarChartSeries(); boys.setLabel("Post"); Date now = new Date(); int year = yearStatisticViewInYear == 0 ? now.getYear() : yearStatisticViewInYear; Dao dao = new Dao(); //1/*from w w w . j a v a 2 s. c o m*/ Date from1 = new Date(year, 0, 1); Date to1 = new Date(year, 0, 31); Criterion logic1 = Restrictions.between("proCreateDate", from1, to1); int count1 = dao.getByCondition(Property.class, logic1).size(); Criteria c = dao.createCriteria(Property.class); c.add(Restrictions.between("proCreateDate", from1, to1)); c.setProjection(Projections.sum("proHit")); Object o = c.uniqueResult(); long view1 = (long) (o == null ? 0L : o); //2 Date from2 = new Date(year, 1, 1); Date to2 = new Date(year, 1, 28); Criterion logic2 = Restrictions.between("proCreateDate", from2, to2); int count2 = dao.getByCondition(Property.class, logic2).size(); Criteria c2 = dao.createCriteria(Property.class); c2.add(Restrictions.between("proCreateDate", from2, to2)); c2.setProjection(Projections.sum("proHit")); Object o2 = c2.uniqueResult(); long view2 = (long) ((o2 == null) ? 0L : o2); //3 Date from3 = new Date(year, 2, 1); Date to3 = new Date(year, 2, 31); Criterion logic3 = Restrictions.between("proCreateDate", from3, to3); int count3 = dao.getByCondition(Property.class, logic3).size(); Criteria c3 = dao.createCriteria(Property.class); c3.add(Restrictions.between("proCreateDate", from3, to3)); c3.setProjection(Projections.sum("proHit")); Object o3 = c3.uniqueResult(); long view3 = (long) ((o3 == null) ? 0L : o3); //4 Date from4 = new Date(year, 3, 1); Date to4 = new Date(year, 3, 30); Criterion logic4 = Restrictions.between("proCreateDate", from4, to4); int count4 = dao.getByCondition(Property.class, logic4).size(); Criteria c4 = dao.createCriteria(Property.class); c4.add(Restrictions.between("proCreateDate", from4, to4)); c4.setProjection(Projections.sum("proHit")); Object o4 = c4.uniqueResult(); long view4 = (long) ((o4 == null) ? 0L : o4); //5 Date from5 = new Date(year, 4, 1); Date to5 = new Date(year, 4, 31); Criterion logic5 = Restrictions.between("proCreateDate", from5, to5); int count5 = dao.getByCondition(Property.class, logic5).size(); Criteria c5 = dao.createCriteria(Property.class); c5.add(Restrictions.between("proCreateDate", from5, to5)); c5.setProjection(Projections.sum("proHit")); Object o5 = c5.uniqueResult(); long view5 = (long) ((o5 == null) ? 0L : o5); //6 Date from6 = new Date(year, 5, 1); Date to6 = new Date(year, 5, 30); Criterion logic6 = Restrictions.between("proCreateDate", from6, to6); int count6 = dao.getByCondition(Property.class, logic6).size(); Criteria c6 = dao.createCriteria(Property.class); c6.add(Restrictions.between("proCreateDate", from6, to6)); c6.setProjection(Projections.sum("proHit")); Object o6 = c6.uniqueResult(); long view6 = (long) ((o6 == null) ? 0L : o6); //7 Date from7 = new Date(year, 6, 1); Date to7 = new Date(year, 6, 31); Criterion logic7 = Restrictions.between("proCreateDate", from7, to7); int count7 = dao.getByCondition(Property.class, logic7).size(); Criteria c7 = dao.createCriteria(Property.class); c7.add(Restrictions.between("proCreateDate", from7, to7)); c7.setProjection(Projections.sum("proHit")); Object o7 = c7.uniqueResult(); long view7 = (long) ((o7 == null) ? 0L : o7); //8 Date from8 = new Date(year, 7, 1); Date to8 = new Date(year, 7, 31); Criterion logic8 = Restrictions.between("proCreateDate", from8, to8); int count8 = dao.getByCondition(Property.class, logic8).size(); Criteria c8 = dao.createCriteria(Property.class); c8.add(Restrictions.between("proCreateDate", from8, to8)); c8.setProjection(Projections.sum("proHit")); Object o8 = c8.uniqueResult(); long view8 = (long) ((o8 == null) ? 0L : o8); //9 Date from9 = new Date(year, 8, 1); Date to9 = new Date(year, 8, 30); Criterion logic9 = Restrictions.between("proCreateDate", from9, to9); int count9 = dao.getByCondition(Property.class, logic9).size(); Criteria c9 = dao.createCriteria(Property.class); c9.add(Restrictions.between("proCreateDate", from9, to9)); c9.setProjection(Projections.sum("proHit")); Object o9 = c9.uniqueResult(); long view9 = (long) ((o9 == null) ? 0L : o9); //10 Date from10 = new Date(year, 9, 1); Date to10 = new Date(year, 9, 31); Criterion logic10 = Restrictions.between("proCreateDate", from10, to10); int count10 = dao.getByCondition(Property.class, logic10).size(); Criteria c10 = dao.createCriteria(Property.class); c10.add(Restrictions.between("proCreateDate", from10, to10)); c10.setProjection(Projections.sum("proHit")); Object o10 = c10.uniqueResult(); long view10 = (long) ((o10 == null) ? 0L : o10); //11 Date from11 = new Date(year, 10, 1); Date to11 = new Date(year, 10, 30); Criterion logic11 = Restrictions.between("proCreateDate", from11, to11); int count11 = dao.getByCondition(Property.class, logic11).size(); Criteria c11 = dao.createCriteria(Property.class); c11.add(Restrictions.between("proCreateDate", from11, to11)); c11.setProjection(Projections.sum("proHit")); Object o11 = c11.uniqueResult(); long view11 = (long) ((o11 == null) ? 0L : o11); //12 Date from12 = new Date(year, 11, 1); Date to12 = new Date(year, 11, 31); Criterion logic12 = Restrictions.between("proCreateDate", from12, to12); int count12 = dao.getByCondition(Property.class, logic12).size(); Criteria c12 = dao.createCriteria(Property.class); c12.add(Restrictions.between("proCreateDate", from12, to12)); c12.setProjection(Projections.sum("proHit")); Object o12 = c12.uniqueResult(); long view12 = (long) ((o12 == null) ? 0L : o12); boys.set("01", count1); boys.set("02", count2); boys.set("03", count3); boys.set("04", count4); boys.set("05", count5); boys.set("06", count6); boys.set("07", count7); boys.set("08", count8); boys.set("09", count9); boys.set("10", count10); boys.set("11", count11); boys.set("12", count12); LineChartSeries girls = new LineChartSeries(); girls.setLabel("View"); girls.setYaxis(AxisType.Y2); girls.set("01", view1); girls.set("02", view2); girls.set("03", view3); girls.set("04", view4); girls.set("05", view5); girls.set("06", view6); girls.set("07", view7); girls.set("08", view8); girls.set("09", view9); girls.set("10", view10); girls.set("11", view11); girls.set("12", view12); combinedModel.addSeries(boys); combinedModel.addSeries(girls); combinedModel.setTitle("Statistic view of post in year"); combinedModel.setLegendPosition("ne"); combinedModel.setMouseoverHighlight(true); combinedModel.setShowDatatip(true); combinedModel.setShowPointLabels(true); combinedModel.getAxes().put(AxisType.X, new CategoryAxis("Month")); combinedModel.getAxes().put(AxisType.X2, new CategoryAxis("Period")); Axis yAxis = combinedModel.getAxis(AxisType.Y); yAxis.setMin(0); yAxis.setMax(200); Axis y2Axis = new LinearAxis("Number"); y2Axis.setMin(0); y2Axis.setMax(100000); combinedModel.getAxes().put(AxisType.Y2, y2Axis); return combinedModel; }
From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java
/** * ?//w ww . ja v a 2s.c om * * @param periodId * @return */ @Transactional(readOnly = true) public Integer calAllSaleCount(Long periodId) { Class<S> clazz = ReflectionUtils.getSuperClassGenricType(getClass(), 1); DetachedCriteria criteria = DetachedCriteria.forClass(clazz); criteria.add(Restrictions.eq("periodId", periodId)); criteria.add(Restrictions.eq("state", SchemeState.SUCCESS)); criteria.setProjection(Projections.sum("schemeCost")); List<Integer> resultList = schemeDao.findByDetachedCriteria(criteria); if (null != resultList && !resultList.isEmpty()) { Integer count = resultList.get(0); if (null != count) { return count.intValue(); } else { return 0; } } else { return 0; } }
From source file:com.cai310.lottery.service.lottery.keno.impl.KenoServiceImpl.java
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS) public BigDecimal countSubscribedCost(Long schemeId, final Long userId) { final S scheme = getScheme(schemeId); return (BigDecimal) subscriptionDao.execute(new CriteriaExecuteCallBack() { public Object execute(Criteria criteria) { criteria.setProjection(Projections.sum("cost")); criteria.add(Restrictions.eq("schemeId", scheme.getId())); criteria.add(Restrictions.eq("userId", userId)); criteria.add(Restrictions.eq("state", SubscriptionState.NORMAL)); criteria.add(Restrictions.eq("lotteryType", scheme.getLotteryType())); return criteria.uniqueResult(); }/*from w w w . j av a 2 s .c o m*/ }); }