List of usage examples for org.hibernate.criterion Projections sum
public static AggregateProjection sum(String propertyName)
From source file:io.heming.accountbook.facade.RecordQuerier.java
License:Apache License
public double totalSales() throws Exception { double sales = 0; Session session = FacadeUtil.getSessionFactory().getCurrentSession(); Transaction tx = null;// www . j av a 2 s . c om try { tx = session.beginTransaction(); Criteria criteria = session.createCriteria(Record.class); buildCriteria(criteria); sales = ((Number) criteria.setProjection(Projections.sum("price")).uniqueResult()).doubleValue(); tx.commit(); } catch (Exception e) { if (tx != null) tx.rollback(); throw e; } return sales; }
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)/*from w w w .j a va 2s. c o m*/ public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de activos 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(Activo.class); Criteria countCriteria = currentSession().createCriteria(Activo.class); criteria.createAlias("tipoActivo", "ta"); countCriteria.createAlias("tipoActivo", "ta"); if (params.containsKey("empresa")) { criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); } if (params.containsKey("tipoActivoIds")) { criteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds"))); countCriteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds"))); } if (params.containsKey("cuentaId")) { criteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId"))); countCriteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId"))); } if (params.containsKey("proveedorId")) { criteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId"))); countCriteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId"))); } Date fechaIniciado = null; if (params.containsKey("fechaIniciado")) { fechaIniciado = (Date) params.get("fechaIniciado"); criteria.add(Restrictions.ge("fechaCompra", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaCompra", fechaIniciado)); } Date fechaTerminado = null; if (params.containsKey("fechaTerminado")) { Calendar cal = Calendar.getInstance(); cal.setTime((Date) params.get("fechaTerminado")); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); fechaTerminado = cal.getTime(); criteria.add(Restrictions.le("fechaCompra", fechaTerminado)); countCriteria.add(Restrictions.le("fechaCompra", fechaTerminado)); } if (params.containsKey("bajas")) { if (fechaIniciado != null) { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); criteria.add(Restrictions.ge("fechaInactivo", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaInactivo", fechaIniciado)); if (fechaTerminado != null) { criteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); } } else if (fechaTerminado != null) { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); criteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); } else { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); } } else { criteria.add(Restrictions.eq("inactivo", false)); countCriteria.add(Restrictions.eq("inactivo", false)); } if (params.containsKey("reubicaciones")) { if (fechaIniciado != null) { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); criteria.add(Restrictions.ge("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaReubicado", fechaIniciado)); if (fechaTerminado != null) { criteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); } } else if (fechaTerminado != null) { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); criteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); } else { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); } } if (params.containsKey("responsableNombre")) { criteria.add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE)); countCriteria .add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE)); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("procedencia", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("pedimento", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("poliza", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("codigo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("marca", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("modelo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("ubicacion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("responsable", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); countCriteria.add(propiedades); } if (params.containsKey("order")) { criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor")); 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.addOrder(Order.asc("ta.cuenta.id.idCtaMayor")); criteria.addOrder(Order.desc("folio")); } if (!params.containsKey("reporte")) { criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); } params.put("activos", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); ProjectionList list = Projections.projectionList(); list.add(Projections.sum("depreciacionAnual"), "depreciacionAnual"); list.add(Projections.sum("depreciacionMensual"), "depreciacionMensual"); list.add(Projections.sum("depreciacionAcumulada"), "depreciacionAcumulada"); list.add(Projections.sum("moi"), "moi"); list.add(Projections.groupProperty("fechaDepreciacion"), "fechaDepreciacion"); countCriteria.setProjection(list); List<?> proyecciones = countCriteria.list(); Iterator<?> iterator = proyecciones.iterator(); if (iterator.hasNext()) { Object[] obj = (Object[]) iterator.next(); NumberFormat nf = DecimalFormat.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date fecha; if (obj[4] != null) { fecha = (Date) obj[4]; } else { fecha = new Date(); } params.put("resumen", new String[] { nf.format(obj[0]), nf.format(obj[1]), nf.format(obj[2]), nf.format(obj[3]), sdf.format(fecha) }); } return params; }
From source file:net.firejack.platform.core.store.statistics.LogTransactionStore.java
License:Apache License
@Override @Transactional(readOnly = true)//w ww.j av a2 s .co m public List<LogTransactionModel> findAggregatedByTermAndDates(Integer offset, Integer limit, String term, String lookup, Date startDate, Date endDate, String sortColumn, String sortDirection, MetricGroupLevel level) { ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.min("hourPeriod"), "startTime").add(Projections.max("hourPeriod"), "endTime") .add(Projections.groupProperty("packageLookup"), "packageLookup") .add(Projections.sum("transactions"), "transactions") .add(Projections.sum("entitiesLoaded"), "entitiesLoaded") .add(Projections.sum("entitiesUpdated"), "entitiesUpdated") .add(Projections.sum("entitiesInserted"), "entitiesInserted") .add(Projections.sum("entitiesDeleted"), "entitiesDeleted") .add(Projections.sum("entitiesFetched"), "entitiesFetched") .add(Projections.sum("collectionsLoaded"), "collectionsLoaded") .add(Projections.sum("collectionsUpdated"), "collectionsUpdated") .add(Projections.sum("collectionsRecreated"), "collectionsRecreated") .add(Projections.sum("collectionsRemoved"), "collectionsRemoved") .add(Projections.sum("collectionsFetched"), "collectionsFetched") .add(Projections.max("maxQueryTime"), "maxQueryTime"); switch (level) { case HOUR: projectionList.add(Projections.groupProperty("hourPeriod").as("hourPeriod")); break; case DAY: projectionList.add(Projections.groupProperty("dayPeriod").as("dayPeriod")); break; case WEEK: projectionList.add(Projections.groupProperty("weekPeriod").as("weekPeriod")); break; case MONTH: projectionList.add(Projections.groupProperty("monthPeriod").as("monthPeriod")); break; } return findAllByProjection(offset, limit, term, lookup, startDate, endDate, sortColumn, sortDirection, projectionList); }
From source file:net.firejack.platform.core.store.statistics.MetricsEntryStore.java
License:Apache License
@Override public List<AggregatedMetricsEntryModel> findAggregatedByTermAndDates(Integer offset, Integer limit, String term, String lookup, Date startDate, Date endDate, String sortColumn, String sortDirection, MetricGroupLevel level, LogEntryType logEntryType) { ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.min("hourPeriod"), "startTime").add(Projections.max("hourPeriod"), "endTime") .add(Projections.groupProperty("lookup"), "lookup") .add(Projections.groupProperty("systemAccountName"), "systemAccountName") .add(Projections.groupProperty("username"), "username") .add(Projections.sum("numberOfInvocations"), "numberOfInvocations") .add(Projections.avg("averageExecutionTime"), "averageExecutionTime") .add(Projections.min("minResponseTime"), "minResponseTime") .add(Projections.max("maxResponseTime"), "maxResponseTime") .add(Projections.avg("successRate"), "successRate"); switch (level) { case HOUR:// w ww .ja va2s .c o m projectionList.add(Projections.groupProperty("hourPeriod").as("hourPeriod")); break; case DAY: projectionList.add(Projections.groupProperty("dayPeriod").as("dayPeriod")); break; case WEEK: projectionList.add(Projections.groupProperty("weekPeriod").as("weekPeriod")); break; case MONTH: projectionList.add(Projections.groupProperty("monthPeriod").as("monthPeriod")); break; } return findAllByProjection(offset, limit, term, lookup, startDate, endDate, sortColumn, sortDirection, logEntryType, projectionList); }
From source file:net.longfalcon.newsj.persistence.hibernate.PartDAOImpl.java
License:Open Source License
@Override @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) public Long sumPartsSizeByBinaryId(long binaryId) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Part.class); criteria.add(Restrictions.eq("binaryId", binaryId)); criteria.setProjection(Projections.sum("size")); return (Long) criteria.uniqueResult(); }
From source file:org.apache.usergrid.apm.service.charts.service.NetworkMetricsChartUtil.java
License:Apache License
public static ProjectionList getProjectionList(MetricsChartCriteria cq) { ProjectionList projList = Projections.projectionList(); //Adding GroupBy. We will allow only one groupby so that chart looks cleaner. if (cq.isGroupedByApp()) { projList.add(Projections.groupProperty("this.appId"), "appId"); } else/* w ww.ja v a2 s .com*/ projList.add(Projections.property("this.appId"), "appId"); //projList.add(Projections.groupProperty("appId"),"appId"); if (cq.isGroupedByNetworkType()) { projList.add(Projections.groupProperty("this.networkType"), "networkType"); } else if (cq.isGroupedByNetworkCarrier()) { projList.add(Projections.groupProperty("this.networkCarrier"), "networkCarrier"); } else if (cq.isGroupedByAppVersion()) { projList.add(Projections.groupProperty("this.applicationVersion"), "applicationVersion"); } else if (cq.isGroupedByAppConfigType()) { projList.add(Projections.groupProperty("this.appConfigType"), "appConfigType"); } else if (cq.isGroupedByDeviceModel()) { projList.add(Projections.groupProperty("this.deviceModel"), "deviceModel"); } else if (cq.isGroupedbyDevicePlatform()) { projList.add(Projections.groupProperty("this.devicePlatform"), "devicePlatform"); } switch (cq.getSamplePeriod()) { //see http://stackoverflow.com/questions/84644/hibernate-query-by-example-and-projections on why "this." is needed //in following lines case MINUTE: projList.add(Projections.groupProperty("this.endMinute"), "endMinute"); break; case HOUR: projList.add(Projections.groupProperty("this.endHour"), "endHour"); break; case DAY_WEEK: projList.add(Projections.groupProperty("this.endDay"), "endDay"); break; case DAY_MONTH: projList.add(Projections.groupProperty("this.endDay"), "endDay"); break; case MONTH: projList.add(Projections.groupProperty("this.endMonth"), "endMonth"); break; } //Adding Projections projList.add(Projections.sum("numSamples"), "numSamples"); projList.add(Projections.sum("numErrors"), "numErrors"); projList.add(Projections.sum("sumLatency"), "sumLatency"); projList.add(Projections.max("maxLatency"), "maxLatency"); projList.add(Projections.min("minLatency"), "minLatency"); //may run into this bug because of alias http://stackoverflow.com/questions/84644/hibernate-query-by-example-and-projections //And I did run into it. ouch. Fix was to add this.filedName !! return projList; }
From source file:org.balisunrise.daa.hibernate.HQuery.java
License:Open Source License
@Override public <V> V sum(String property) { return (V) hcrit.setProjection(Projections.sum(property)).uniqueResult(); }
From source file:org.candlepin.model.ConsumerCurator.java
License:Open Source License
public int getConsumerEntitlementCount(Owner owner, ConsumerType type) { Criteria c = createSecureCriteria().add(Restrictions.eq("owner", owner)).add(Restrictions.eq("type", type)) .createAlias("entitlements", "ent").setMaxResults(0).setProjection(Projections.sum("ent.quantity")); Long result = (Long) c.uniqueResult(); return result == null ? 0 : result.intValue(); }
From source file:org.davidmendoza.irsvped.dao.impl.PartyDaoHibernate.java
License:Open Source License
@Override public Integer getAllotedSeats(Party party) { Criteria criteria = currentSession().createCriteria(Party.class); criteria.createCriteria("event").add(Restrictions.idEq(party.getEvent().getId())); criteria.setProjection(Projections.sum("seats")); Long results = (Long) criteria.uniqueResult(); log.debug("Results {}", results); if (results == null) { results = 0L;/* w ww . ja va2 s .c o m*/ } return results.intValue(); }
From source file:org.egov.ptis.actions.reports.BoundaryWisePropUsgeDelegate.java
License:Open Source License
public List getZoneList() { LOGGER.debug("Entered into getZoneList method"); List zoneList = null;//from w w w . ja va2s. c om Criterion criterion = null; Projection projection = Projections.projectionList().add(Projections.property("zone.id")) .add(Projections.property("propTypeMstrID.id")).add(Projections.sum("aggrArrDmd")) .add(Projections.sum("aggrCurrDmd")).add(Projections.count("basicPropertyID")) .add(Projections.groupProperty("zone.id")).add(Projections.groupProperty("propTypeMstrID")); Order order = Order.asc("zone.id"); /* * Integer vacTypeId = getPropertyIdbyCode("OPEN_PLOT"); criterion = * Restrictions.ne("propTypeMstrID", vacTypeId); */ zoneList = propertyDAO.getPropMaterlizeViewList(projection, criterion, order); LOGGER.debug("Zone list : " + (zoneList != null ? zoneList : ZERO)); LOGGER.debug("Exit from getZoneList method"); return zoneList; }