List of usage examples for org.hibernate.criterion Projections groupProperty
public static PropertyProjection groupProperty(String propertyName)
From source file:Mob.MobLoadMonthlySales.java
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try {//w ww . j a va 2 s. c o m PrintWriter pw = resp.getWriter(); DataInputStream ds = new DataInputStream(req.getInputStream()); String dfr = ds.readUTF(); String dto = ds.readUTF(); String cat = ds.readUTF(); String pcd = ds.readUTF(); ds.close(); String datefrmarr[] = dfr.split(" "); String datetoarr[] = dto.split(" "); Session con = FactoryManager.getSessionFactory().openSession(); List<Object[]> list; Criteria cri = con.createCriteria(TransProd.class); SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yyyy"); if (dfr != null && dto != null) { Criteria cri2 = cri.createCriteria("transaction"); if (!dfr.equals("")) { Date d = sdf.parse(datefrmarr[1] + "/" + datefrmarr[2] + "/" + datefrmarr[5]); cri2.add(Restrictions.ge("transDate", d)); } if (!dto.equals("")) { Date d = sdf.parse(datetoarr[1] + "/" + datetoarr[2] + "/" + datetoarr[5]); cri2.add(Restrictions.le("transDate", d)); } } cri.setProjection(Projections.projectionList().add(Projections.groupProperty("stock")) .add(Projections.count("qty"))); // cri.createAlias("stock", "s").add(Projections.groupProperty("s.batchid")); list = cri.list(); String out = ""; double subtot = 0.0; for (Object[] obj : list) { Stock stk = (Stock) obj[0]; long qty = (Long) obj[1]; if (!pcd.equals("All")) { if (stk.getProducts().getProdCode().equals(pcd)) { out += "Product Code : " + stk.getProducts().getProdCode(); out += " "; out += "Batch ID : " + stk.getBatchid(); out += " "; out += "Product Name : " + stk.getProducts().getBrand().getBrandName() + " " + stk.getProducts().getItmName(); out += " "; out += "Quantity : " + qty; out += " "; out += "Price : " + stk.getItmPrice(); out += " "; out += "Discount : " + stk.getDiscount(); out += " "; out += "Total : " + (stk.getItmPrice() - stk.getDiscount()) * qty; subtot += (stk.getItmPrice() - stk.getDiscount()) * qty; out += ","; } } else if (!cat.equals("0")) { if (stk.getProducts().getCategory().getIdcat().equals(Integer.parseInt(cat))) { out += "Product Code : " + stk.getProducts().getProdCode(); out += " "; out += "Batch ID : " + stk.getBatchid(); out += " "; out += "Product Name : " + stk.getProducts().getBrand().getBrandName() + " " + stk.getProducts().getItmName(); out += " "; out += "Quantity : " + qty; out += " "; out += "Price : " + stk.getItmPrice(); out += " "; out += "Discount : " + stk.getDiscount(); out += " "; out += "Total : " + (stk.getItmPrice() - stk.getDiscount()) * qty; subtot += (stk.getItmPrice() - stk.getDiscount()) * qty; out += ","; } } else { out += "Product Code : " + stk.getProducts().getProdCode(); out += " "; out += "Batch ID : " + stk.getBatchid(); out += " "; out += "Product Name : " + stk.getProducts().getBrand().getBrandName() + " " + stk.getProducts().getItmName(); out += " "; out += "Quantity : " + qty; out += " "; out += "Price : " + stk.getItmPrice(); out += " "; out += "Discount : " + stk.getDiscount(); out += " "; out += "Total : " + (stk.getItmPrice() - stk.getDiscount()) * qty; subtot += (stk.getItmPrice() - stk.getDiscount()) * qty; out += ","; } } out += "Sub Total : Rs." + subtot; out += ","; pw.print(out); } catch (Exception e) { e.printStackTrace(); } }
From source file:models.db.acentera.impl.ProjectProvidersImpl.java
License:Open Source License
public static Set<ProjectRegions> getRegionsAvailables(Set<ProjectProvidersRegions> regions) { Session s = (Session) HibernateSessionFactory.getSession(); DetachedCriteria msgFromCriteria = DetachedCriteria.forClass(DO_REGIONS.class); ProjectionList properties = Projections.projectionList(); properties.add(Projections.groupProperty("slug")); msgFromCriteria.setProjection(properties); Criteria criteria = s.createCriteria(DO_REGIONS.class); criteria.add(Subqueries.propertiesIn(new String[] { "slug" }, msgFromCriteria)); List<DO_REGIONS> list = criteria.list(); HashSet<ProjectRegions> regionsSet = new HashSet<ProjectRegions>(); Iterator<ProjectProvidersRegions> ppr = regions.iterator(); while (ppr.hasNext()) { ProjectProvidersRegions item = ppr.next(); boolean bFound = false; Iterator<DO_REGIONS> itrReg = list.iterator(); while (itrReg.hasNext() && !bFound) { DO_REGIONS r = itrReg.next(); try { if (r.getSlug().compareTo(item.getProjectRegions().getSlug()) == 0) { bFound = true;// w ww .j av a 2s .co m } } catch (Exception ew) { ew.printStackTrace(); } } if (bFound) { regionsSet.add(item.getProjectRegions()); } } return regionsSet; }
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
License:Open Source License
@Override @Transactional(readOnly = true)/* w w w.ja va 2 s . com*/ 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.api.registry.broker.ReadBaseBIReportDataBroker.java
License:Apache License
@Override protected ServiceResponse<BIReportData> perform(ServiceRequest<NamedValues> request) throws Exception { Long biReportUserId = (Long) request.getData().get("id"); String parentNodeValues = (String) request.getData().get("parentNodeValues"); String[] parentRowValues = WebUtils.deserializeJSON(parentNodeValues, String[].class); int depth = parentRowValues.length; ServiceResponse<BIReportData> response; ServiceResponse<BIReportUser> biReportUserResponse = OPFEngine.RegistryService .readBIReportUser(biReportUserId); if (biReportUserResponse.isSuccess()) { BIReportData biReport = new BIReportData(); BIReportUser biReportUser = biReportUserResponse.getItem(); List<BIReportUserField> biReportUserFields = biReportUser.getFields(); Map<Long, BIReportField> entityBIReportFieldMap = new HashMap<Long, BIReportField>(); for (BIReportField biReportField : biReportUser.getReport().getFields()) { if (biReportField.getField() == null) { entityBIReportFieldMap.put(biReportField.getEntity().getId(), biReportField); }/*from www .j av a 2 s . c o m*/ } Integer columnIndex = 0; List<BIReportColumn> biReportColumns = new ArrayList<BIReportColumn>(); Map<BIReportField, BIReportLocation> groupedBIReportFields = new LinkedHashMap<BIReportField, BIReportLocation>(); Map<Integer, BIReportRow> verticalColumnsMapping = new HashMap<Integer, BIReportRow>(); List<BIReportUserField> verticalBIReportUserFields = getFieldsByLocation(biReportUserFields, BIReportLocation.VERTICAL); Entity previousEntity = null; for (int i = 0; i < verticalBIReportUserFields.size(); i++) { BIReportUserField biReportUserField = verticalBIReportUserFields.get(i); BIReportField biReportField = biReportUserField.getField(); Entity entity = biReportField.getEntity(); if (previousEntity == null || !previousEntity.getId().equals(entity.getId())) { String columnName = entity.getName(); BIReportField entityBIReportField = entityBIReportFieldMap.get(entity.getId()); if (entityBIReportField != null) { columnName = StringUtils.defaultIfEmpty(entityBIReportField.getDisplayName(), columnName); } BIReportColumn biReportColumn = new BIReportColumn(); biReportColumn.setName(columnName); biReportColumn.setType(BIReportLocation.VERTICAL); biReportColumn.setColumnIndex(columnIndex); biReportColumn.setExpanded(biReportUserField.isExpanded()); biReportColumn.setUnShift(i); biReportColumns.add(biReportColumn); columnIndex++; previousEntity = entity; } BIReportRow biReportRow = new BIReportRow(); biReportRow.setColumnIndex(biReportColumns.size() - 1); biReportRow.setExpanded(biReportUserField.isExpanded()); verticalColumnsMapping.put(i, biReportRow); groupedBIReportFields.put(biReportField, BIReportLocation.VERTICAL); } biReport.setCountOfLevels(verticalColumnsMapping.size()); List<BIReportUserField> horizontalBIReportUserFields = getFieldsByLocation(biReportUserFields, BIReportLocation.HORIZONTAL); Map<Entity, List<BIReportField>> entityBIReportFields = new LinkedHashMap<Entity, List<BIReportField>>(); for (BIReportUserField biReportUserField : horizontalBIReportUserFields) { BIReportField biReportField = biReportUserField.getField(); Entity entity = biReportField.getEntity(); List<BIReportField> biReportFields = entityBIReportFields.get(entity); if (biReportFields == null) { biReportFields = new ArrayList<BIReportField>(); entityBIReportFields.put(entity, biReportFields); } biReportFields.add(biReportField); groupedBIReportFields.put(biReportField, BIReportLocation.HORIZONTAL); } List<BIReportUserField> measureBIReportUserFields = getFieldsByLocation(biReportUserFields, BIReportLocation.MEASURE); for (BIReportUserField biReportUserField : measureBIReportUserFields) { BIReportField biReportField = biReportUserField.getField(); groupedBIReportFields.put(biReportField, BIReportLocation.MEASURE); } String biReportUserFilter = biReportUser.getFilter(); biReport.setFilter(biReportUserFilter); List<List<SearchQuery>> filterSearchQueries = WebUtils.deserializeJSON(biReportUserFilter, List.class, List.class, SearchQuery.class); BIReportUserField measureBIReportUserField = measureBIReportUserFields.get(0); BIReportField measureBIReportField = measureBIReportUserField.getField(); Entity factEntity = measureBIReportField.getEntity(); String factDomainClassName = FormattingUtils.classFormatting(factEntity.getName()); String factModelClassName = factEntity.getPath() + ".model." + factDomainClassName + "Model"; Class<?> factModelClass = Class.forName(factModelClassName); List<Object[]> globalList = null; for (Map.Entry<Entity, List<BIReportField>> entry : entityBIReportFields.entrySet()) { Entity entity = entry.getKey(); List<BIReportField> biReportFields = entry.getValue(); String domainClassName = FormattingUtils.classFormatting(entity.getName()); String modelClassName = entity.getPath() + ".model." + domainClassName + "Model"; String storeClassName = entity.getPath() + ".store.Basic" + domainClassName + "Store"; IAbstractStore store = OpenFlameSpringContext.getBean(storeClassName); List<List<SearchQuery>> columnSearchQueryList = new ArrayList<List<SearchQuery>>(); List<SortField> sortFields = new ArrayList<SortField>(); ProjectionList projectionList = Projections.projectionList(); for (BIReportField biReportField : biReportFields) { Field field = biReportField.getField(); String fieldName = FormattingUtils.fieldModelFormatting(field.getName()); projectionList.add(Projections.property(fieldName)); sortFields.add(new SortField(fieldName, SortOrder.ASC)); String fkDimFieldName = findDimFieldName(factModelClass, modelClassName); for (List<SearchQuery> searchQueries : filterSearchQueries) { List<SearchQuery> columnSearchQueries = new ArrayList<SearchQuery>(); for (SearchQuery searchQuery : searchQueries) { String searchField = searchQuery.getField(); String[] fieldNames = searchField.split("\\."); if (fieldNames.length == 2 && fieldNames[0].equals(fkDimFieldName)) { SearchQuery columnSearchQuery = new SearchQuery(fieldNames[1], searchQuery.getOperation(), searchQuery.getValue()); columnSearchQueries.add(columnSearchQuery); } } if (columnSearchQueries.isEmpty()) { SearchQuery alwaysTrueSearchQuery = new SearchQuery(); columnSearchQueries.add(alwaysTrueSearchQuery); } columnSearchQueryList.add(columnSearchQueries); } } Paging paging = new Paging(null, null, sortFields); List<Object[]> objectsList; if (biReportFields.size() > 1) { objectsList = store.advancedSearchWithProjection(columnSearchQueryList, Projections.distinct(projectionList), null, paging); } else { objectsList = new ArrayList<Object[]>(); List<Object> objectList = store.advancedSearchWithProjection(columnSearchQueryList, Projections.distinct(projectionList), null, paging); for (Object object : objectList) { objectsList.add(new Object[] { object }); } } if (globalList == null) { globalList = objectsList; } else { List<Object[]> mergedList = new ArrayList<Object[]>(); for (Object[] globalObjects : globalList) { for (Object[] objects : objectsList) { Object[] mergedObjects = ArrayUtils.addAll(globalObjects, objects); mergedList.add(mergedObjects); } } globalList = mergedList; } } List<BIReportField> measureBIReportFields = getFieldsByLocation(groupedBIReportFields, BIReportLocation.MEASURE); Map<ArrayKey, Integer> horizontalColumnMapping = generateHorizontalColumns(globalList, biReportColumns, measureBIReportFields, columnIndex); if (depth == 0) { biReport.setColumns(biReportColumns); } int countOfExpandedChildren = 1; int countOfVerticalColumns = verticalColumnsMapping.size(); for (int i = depth; i < countOfVerticalColumns; i++) { BIReportRow verticalBIReportRow = verticalColumnsMapping.get(i); if (verticalBIReportRow.isExpanded()) { countOfExpandedChildren++; } else { break; } } ProjectionList projectionList = Projections.projectionList(); List<SortField> sortFields = new ArrayList<SortField>(); Map<String, String> aliases = new HashMap<String, String>(); int positionOfLastExpandedColumns = depth + countOfExpandedChildren - 1; List<SearchQuery> childrenFilterSearchQueries = new ArrayList<SearchQuery>(); List<BIReportField> verticalBIReportFields = getFieldsByLocation(groupedBIReportFields, new BIReportLocation[] { BIReportLocation.VERTICAL }); for (int i = 0; i < verticalBIReportFields.size(); i++) { BIReportField biReportField = verticalBIReportFields.get(i); Entity dimEntity = biReportField.getEntity(); String dimDomainClassName = FormattingUtils.classFormatting(dimEntity.getName()); String dimModelClassName = dimEntity.getPath() + ".model." + dimDomainClassName + "Model"; String fkDimFieldName = findDimFieldName(factModelClass, dimModelClassName); aliases.put(fkDimFieldName, fkDimFieldName); Field field = biReportField.getField(); String fieldName = FormattingUtils.fieldModelFormatting(field.getName()); String aliasedFieldName = fkDimFieldName + "." + fieldName; projectionList.add(Projections.groupProperty(aliasedFieldName)); sortFields.add(new SortField(aliasedFieldName, SortOrder.ASC)); if (positionOfLastExpandedColumns >= i + 1) { if (depth >= i + 1) { SearchQuery searchQuery = new SearchQuery(); searchQuery.setField(aliasedFieldName); searchQuery.setOperation(QueryOperation.EQUALS); searchQuery.setValue(parentRowValues[i]); childrenFilterSearchQueries.add(searchQuery); } } else { break; } } if (filterSearchQueries.isEmpty()) { filterSearchQueries.add(childrenFilterSearchQueries); } else { for (List<SearchQuery> searchQueries : filterSearchQueries) { for (SearchQuery childrenFilterSearchQuery : childrenFilterSearchQueries) { searchQueries.add(childrenFilterSearchQuery); } } } List<BIReportField> horizontalBIReportFields = getFieldsByLocation(groupedBIReportFields, new BIReportLocation[] { BIReportLocation.HORIZONTAL }); for (BIReportField biReportField : horizontalBIReportFields) { Entity dimEntity = biReportField.getEntity(); String dimDomainClassName = FormattingUtils.classFormatting(dimEntity.getName()); String dimModelClassName = dimEntity.getPath() + ".model." + dimDomainClassName + "Model"; String fkDimFieldName = findDimFieldName(factModelClass, dimModelClassName); aliases.put(fkDimFieldName, fkDimFieldName); Field field = biReportField.getField(); String fieldName = FormattingUtils.fieldModelFormatting(field.getName()); String aliasedFieldName = fkDimFieldName + "." + fieldName; projectionList.add(Projections.groupProperty(aliasedFieldName)); sortFields.add(new SortField(aliasedFieldName, SortOrder.ASC)); } for (BIReportField biReportField : measureBIReportFields) { Field field = biReportField.getField(); String fieldName = FormattingUtils.fieldModelFormatting(field.getName()); projectionList.add(Projections.count(fieldName)); } String storeClassName = factEntity.getPath() + ".store.Basic" + factDomainClassName + "Store"; IAbstractStore store = OpenFlameSpringContext.getBean(storeClassName); List<Object[]> dataList = store.advancedSearchWithProjection(filterSearchQueries, Projections.distinct(projectionList), aliases, new Paging(null, null, sortFields)); int countOfHorizontalColumns = horizontalBIReportUserFields.size(); int countOfMeasureColumns = measureBIReportUserFields.size(); List<BIReportRow> biReportRows = generateRows(dataList, verticalColumnsMapping, horizontalColumnMapping, countOfVerticalColumns, countOfHorizontalColumns, countOfMeasureColumns, depth, countOfExpandedChildren); biReport.setRows(biReportRows); response = new ServiceResponse<BIReportData>(biReport, "BI Report data", true); } else { response = new ServiceResponse<BIReportData>( "Could not find user configuration of BIReport by ID: " + biReportUserId, false); } return response; }
From source file:net.firejack.platform.core.store.statistics.LogTransactionStore.java
License:Apache License
@Override @Transactional(readOnly = true)/* w ww . jav a2 s.c o 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.LogTransactionStore.java
License:Apache License
@Override @Transactional(readOnly = true)/*from w ww . j a v a 2 s.c o m*/ public long countAggregatedByTermAndDates(String term, String lookup, Date startDate, Date endDate, MetricGroupLevel level) { ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("packageLookup"), "packageLookup"); 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; } List<Criterion> criterions = createCriterionsForTermAndDates(term, lookup, startDate, endDate); return findCountWithFilter(criterions, null, null, 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 w w. j av a 2 s . co 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.firejack.platform.core.store.statistics.MetricsEntryStore.java
License:Apache License
public long countAggregatedByTermAndDates(String term, String lookup, Date startDate, Date endDate, MetricGroupLevel level, LogEntryType logEntryType) { ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("lookup"), "lookup") .add(Projections.groupProperty("systemAccountName"), "systemAccountName") .add(Projections.groupProperty("username"), "username"); switch (level) { case HOUR://ww w . ja va2 s . com 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; } List<Criterion> criterions = createCriterionsForTermAndDates(term, lookup, startDate, endDate, logEntryType); return findCountWithFilter(criterions, null, null, projectionList); }
From source file:net.longfalcon.newsj.persistence.hibernate.BinaryDAOImpl.java
License:Open Source License
@Override @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) public List<MatchedReleaseQuery> findBinariesByProcStatAndTotalParts(int procstat) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Binary.class); criteria.add(Restrictions.eq("procStat", procstat)); criteria.setProjection(Projections.projectionList().add(Projections.rowCount(), "numberOfBinaries") .add(Projections.groupProperty("groupId").as("group")) .add(Projections.groupProperty("reqId").as("reqId")) .add(Projections.groupProperty("relName").as("releaseName")) .add(Projections.groupProperty("relTotalPart").as("releaseTotalParts")) .add(Projections.groupProperty("fromName").as("fromName"))); criteria.setResultTransformer(Transformers.aliasToBean(MatchedReleaseQuery.class)); return criteria.list(); }
From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java
License:Open Source License
/** * * @return List of Object[] = {Category,long} */// www .j a v a2 s .c o m @Override @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) public List<Object[]> findRecentlyAddedReleaseCategories() { Date oneWeekAgo = DateTime.now().minusWeeks(1).toDate(); Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Release.class); criteria.add(Restrictions.ge("addDate", oneWeekAgo)); criteria.setProjection( Projections.projectionList().add(Projections.groupProperty("category").as("category")) .add(Projections.count("id").as("count"))); criteria.addOrder(Order.desc("count")); criteria.setMaxResults(10); return criteria.list(); }