List of usage examples for org.hibernate.criterion Projections groupProperty
public static PropertyProjection groupProperty(String propertyName)
From source file:au.org.theark.phenotypic.model.dao.PhenotypicDao.java
License:Open Source License
@Override public List<PhenoDataSetFieldDisplay> getPhenoDataSetFieldDisplayForPhenoDataSetFieldGroupOrderByPhenoDataSetCategory( PhenoDataSetGroup phenoDataSetGroup) { Criteria criteria = getSession().createCriteria(PhenoDataSetFieldDisplay.class); criteria.add(Restrictions.eq("phenoDataSetGroup", phenoDataSetGroup)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("phenoDataSetGroup"), "phenoDataSetGroup"); projectionList.add(Projections.groupProperty("phenoDataSetCategory"), "phenoDataSetCategory"); projectionList.add(Projections.groupProperty("parentPhenoDataSetCategory"), "parentPhenoDataSetCategory"); projectionList.add(Projections.groupProperty("phenoDataSetCategoryOrderNumber"), "phenoDataSetCategoryOrderNumber"); criteria.setProjection(projectionList); criteria.addOrder(Order.asc("phenoDataSetCategoryOrderNumber")); criteria.setResultTransformer(Transformers.aliasToBean(PhenoDataSetFieldDisplay.class)); return (List<PhenoDataSetFieldDisplay>) criteria.list(); }
From source file:au.org.theark.phenotypic.model.dao.PhenotypicDao.java
License:Open Source License
@Override public List<Boolean> getPublishedSatusLst(Study study, ArkFunction arkFunction) { Criteria criteria = getSession().createCriteria(PhenoDataSetGroup.class); criteria.add(Restrictions.eq("study", study)); criteria.add(Restrictions.eq("arkFunction", arkFunction)); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("published"), "published"); criteria.setProjection(projectionList); criteria.setResultTransformer(Transformers.aliasToBean(PhenoDataSetGroup.class)); List<PhenoDataSetGroup> phenoDataSetGroups = (List<PhenoDataSetGroup>) criteria.list(); List<Boolean> pubishStatusLst = new ArrayList<Boolean>(); for (PhenoDataSetGroup phenoDataSetGroup : phenoDataSetGroups) { pubishStatusLst.add(phenoDataSetGroup.getPublished()); }// w ww. j a v a 2s . co m return pubishStatusLst; }
From source file:au.org.theark.report.model.dao.ReportDao.java
License:Open Source License
public Map<String, Long> getSubjectStatusCounts(Study study) { Criteria criteria = getSession().createCriteria(LinkSubjectStudy.class); criteria.add(Restrictions.eq("study", study)); ProjectionList projectionList = Projections.projectionList(); criteria.createAlias("subjectStatus", "subjectStatusAlias"); projectionList.add(Projections.groupProperty("subjectStatusAlias.name")); projectionList.add(Projections.rowCount()); criteria.setProjection(projectionList); List results = criteria.list(); Map<String, Long> statusMap = new HashMap<String, Long>(); for (Object r : results) { Object[] obj = (Object[]) r; String statusName = (String) obj[0]; statusMap.put(statusName, (Long) obj[1]); }/*w w w . jav a 2s . com*/ return statusMap; }
From source file:au.org.theark.report.model.dao.ReportDao.java
License:Open Source License
public Map<String, Long> getStudyConsentCounts(Study study) { Map<String, Long> statusMap = new HashMap<String, Long>(); Criteria criteria = getSession().createCriteria(LinkSubjectStudy.class); criteria.add(Restrictions.eq("study", study)); ProjectionList projectionList = Projections.projectionList(); criteria.createAlias("consentStatus", "consentStatusAlias"); projectionList.add(Projections.groupProperty("consentStatusAlias.name")); projectionList.add(Projections.rowCount()); criteria.setProjection(projectionList); List results = criteria.list(); for (Object r : results) { Object[] obj = (Object[]) r; String statusName = (String) obj[0]; statusMap.put(statusName, (Long) obj[1]); }//from ww w. j a v a 2 s. com // Tack on count of when consentStatus = undefined (NULL) criteria = getSession().createCriteria(LinkSubjectStudy.class); criteria.add(Restrictions.eq("study", study)); criteria.add(Restrictions.isNull("consentStatus")); projectionList = Projections.projectionList(); projectionList.add(Projections.rowCount()); criteria.setProjection(projectionList); Long undefCount = (Long) criteria.uniqueResult(); String statusName = Constants.NOT_CONSENTED; statusMap.put(statusName, undefCount); return statusMap; }
From source file:au.org.theark.report.model.dao.ReportDao.java
License:Open Source License
public Map<String, Long> getStudyCompConsentCounts(Study study, StudyComp studyComp) { Map<String, Long> statusMap = new HashMap<String, Long>(); Criteria criteria = getSession().createCriteria(Consent.class); criteria.add(Restrictions.eq("study", study)); criteria.add(Restrictions.eq("studyComp", studyComp)); ProjectionList projectionList = Projections.projectionList(); criteria.createAlias("consentStatus", "consentStatusAlias"); projectionList.add(Projections.groupProperty("consentStatusAlias.name")); projectionList.add(Projections.rowCount()); criteria.setProjection(projectionList); List results = criteria.list(); if ((results != null) && (results.size() > 0)) { for (Object r : results) { Object[] obj = (Object[]) r; String statusName = (String) obj[0]; statusMap.put(statusName, (Long) obj[1]); }// w ww .ja va2 s.c om } else { statusMap.put("(none found)", new Long(0)); } return statusMap; }
From source file:au.org.theark.report.model.dao.ReportDao.java
License:Open Source License
public List<ResearcherCostDataRow> getResearcherBillableItemTypeCostData( final ResearcherCostResportVO researcherCostResportVO) { List<ResearcherCostDataRow> results = new ArrayList<ResearcherCostDataRow>(); Criteria criteria = getSession().createCriteria(BillableItem.class, "bi"); criteria.createAlias("workRequest", "wr", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("billableItemType", "bit", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bit.billableItemTypeStatus", "bitst", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("wr.researcher", "re", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("re.id", researcherCostResportVO.getResearcherId())); criteria.add(Restrictions.eq("bi.studyId", researcherCostResportVO.getStudyId())); criteria.add(Restrictions.eq("bi.invoice", researcherCostResportVO.getInvoice())); criteria.add(Restrictions.le("bi.commenceDate", researcherCostResportVO.getToDate())); criteria.add(Restrictions.ge("bi.commenceDate", researcherCostResportVO.getFromDate())); criteria.add(Restrictions.eq("bitst.name", "ACTIVE")); ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.groupProperty("bit.id")); projectionList.add(Projections.property("bit.itemName"), "costType"); projectionList.add(Projections.sum("bi.totalCost"), "totalCost"); projectionList.add(Projections.sum("bi.totalGST"), "totalGST"); criteria.setProjection(projectionList); // only return fields required for report criteria.setResultTransformer(Transformers.aliasToBean(ResearcherCostDataRow.class)); criteria.addOrder(Order.asc("bit.itemName")); results = criteria.list();// ww w . j a v a 2 s. com return results; }
From source file:au.org.theark.report.model.dao.ReportDao.java
License:Open Source License
public List<BiospecimenSummaryDataRow> getBiospecimenSummaryData( BiospecimenSummaryReportVO biospecimenSummaryReportVO) { List<BiospecimenSummaryDataRow> results = new ArrayList<BiospecimenSummaryDataRow>(); Criteria criteria = getSession().createCriteria(BioTransaction.class, "bt"); criteria.createAlias("status", "bts", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("biospecimen", "bs", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.study", "st", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.linkSubjectStudy", "lss", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.sampleType", "sat", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("st.id", biospecimenSummaryReportVO.getStudy().getId())); if (biospecimenSummaryReportVO.getSubjectUID() != null) { criteria.add(Restrictions.eq("lss.subjectUID", biospecimenSummaryReportVO.getSubjectUID())); }/*from ww w . j av a 2s . c o m*/ ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.min("bt.id")); projectionList.add(Projections.groupProperty("bs.id")); projectionList.add(Projections.property("st.name"), "studyName"); projectionList.add(Projections.property("lss.subjectUID"), "subjectUId"); projectionList.add(Projections.property("bs.id"), "biospecimenId"); projectionList.add(Projections.property("bs.biospecimenUid"), "biospecimenUid"); projectionList.add(Projections.property("bs.parentUid"), "parentId"); projectionList.add(Projections.property("sat.name"), "sampleType"); projectionList.add(Projections.property("bs.quantity"), "quantity"); projectionList.add(Projections.property("bts.name"), "initialStatus"); criteria.setProjection(projectionList); criteria.setResultTransformer(Transformers.aliasToBean(BiospecimenSummaryDataRow.class)); criteria.addOrder(Order.asc("lss.subjectUID")); criteria.addOrder(Order.asc("bs.biospecimenUid")); results = criteria.list(); return results; }
From source file:au.org.theark.report.model.dao.ReportDao.java
License:Open Source License
public List<BiospecimenDetailsDataRow> getBiospecimenDetailsData( BiospecimenDetailsReportVO biospecimenDetailReportVO) { List<BiospecimenDetailsDataRow> results = new ArrayList<BiospecimenDetailsDataRow>(); Criteria criteria = getSession().createCriteria(BioTransaction.class, "bt"); criteria.createAlias("status", "bts", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("biospecimen", "bs", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.study", "st", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.bioCollection", "bc", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.linkSubjectStudy", "lss", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.sampleType", "sat", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("bs.invCell", "inc", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("inc.invBox", "inb", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("inb.invRack", "inr", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("inr.invFreezer", "inf", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("inf.invSite", "ins", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("st.id", biospecimenDetailReportVO.getStudy().getId())); if (biospecimenDetailReportVO.getSubjectUID() != null) { criteria.add(Restrictions.eq("lss.subjectUID", biospecimenDetailReportVO.getSubjectUID())); }/*from w w w . j ava2 s . c om*/ ProjectionList projectionList = Projections.projectionList(); projectionList.add(Projections.min("bt.id")); projectionList.add(Projections.groupProperty("bs.id")); projectionList.add(Projections.property("st.name"), "studyName"); projectionList.add(Projections.property("lss.subjectUID"), "subjectUId"); projectionList.add(Projections.property("bs.id"), "biospecimenId"); projectionList.add(Projections.property("bc.biocollectionUid"), "biocollectionUid"); projectionList.add(Projections.property("bs.sampleDate"), "sampleDate"); projectionList.add(Projections.property("bs.biospecimenUid"), "biospecimenUid"); projectionList.add(Projections.property("bs.parentUid"), "parentId"); projectionList.add(Projections.property("sat.name"), "sampleType"); projectionList.add(Projections.property("bs.quantity"), "quantity"); projectionList.add(Projections.property("bts.name"), "initialStatus"); projectionList.add(Projections.property("inb.name"), "box"); projectionList.add(Projections.property("inr.name"), "rack"); projectionList.add(Projections.property("inf.name"), "freezer"); projectionList.add(Projections.property("ins.name"), "site"); criteria.setProjection(projectionList); criteria.setResultTransformer(Transformers.aliasToBean(BiospecimenDetailsDataRow.class)); criteria.addOrder(Order.asc("lss.subjectUID")); criteria.addOrder(Order.asc("bs.biospecimenUid")); results = criteria.list(); return results; }
From source file:bernardo.venda.controle.ProdutoVendaControle.java
public List findAllM(Caixa caixa) { Criteria crit = getSession().createCriteria(ProdutoVenda.class, "pv") .setProjection(Projections.projectionList().add(Projections.property("produto")) .add(Projections.sum("quantidade")).add(Projections.sum("quantEntrada")) .add(Projections.sum("quantSaida")).add(Projections.groupProperty("produto"))) .createCriteria("transacao").add(Restrictions.eq("caixa", caixa)); List results = crit.list();/*from w w w.j a v a 2 s .c o m*/ return results; }
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 . ja v a 2s. c o m*/ 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"; }