List of usage examples for org.hibernate.criterion Projections sum
public static AggregateProjection sum(String propertyName)
From source file:es.sm2.openppm.core.dao.TimesheetDAO.java
License:Open Source License
/** * Calculate Fte for inputed hours in project * @param project// w w w .java 2 s . c o m * @param member * @param firstWeekDay * @param lastWeekDay * @return */ public double getHoursResource(Project project, Teammember member, Date firstWeekDay, Date lastWeekDay) { ProjectionList proList = Projections.projectionList(); proList.add(Projections.sum(Timesheet.HOURSDAY1)); proList.add(Projections.sum(Timesheet.HOURSDAY2)); proList.add(Projections.sum(Timesheet.HOURSDAY3)); proList.add(Projections.sum(Timesheet.HOURSDAY4)); proList.add(Projections.sum(Timesheet.HOURSDAY5)); proList.add(Projections.sum(Timesheet.HOURSDAY6)); proList.add(Projections.sum(Timesheet.HOURSDAY7)); Criteria crit = getSession().createCriteria(getPersistentClass()).setProjection(proList) .add(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP3)); crit.createCriteria(Timesheet.EMPLOYEE).createCriteria(Employee.TEAMMEMBERS) .add(Restrictions.idEq(member.getIdTeamMember())); if (firstWeekDay != null && lastWeekDay != null) { crit.add(Restrictions.eq(Timesheet.INITDATE, firstWeekDay)) .add(Restrictions.eq(Timesheet.ENDDATE, lastWeekDay)); } if (project == null) { crit.add(Restrictions.eq(Timesheet.PROJECTACTIVITY, member.getProjectactivity())); } else { crit.createCriteria(Timesheet.PROJECTACTIVITY).add(Restrictions.eq(Projectactivity.PROJECT, project)); } Object[] hoursList = (Object[]) crit.uniqueResult(); double hours = 0; if (hoursList != null) { hours += (hoursList[0] == null ? 0 : (Double) hoursList[0]); hours += (hoursList[1] == null ? 0 : (Double) hoursList[1]); hours += (hoursList[2] == null ? 0 : (Double) hoursList[2]); hours += (hoursList[3] == null ? 0 : (Double) hoursList[3]); hours += (hoursList[4] == null ? 0 : (Double) hoursList[4]); hours += (hoursList[5] == null ? 0 : (Double) hoursList[5]); hours += (hoursList[6] == null ? 0 : (Double) hoursList[6]); } return hours; }
From source file:es.sm2.openppm.core.dao.TimesheetDAO.java
License:Open Source License
/** * Calc hours to the activiy for status/*w w w . j a va 2 s . com*/ * @param idActivity * @param timestatus * @return */ public double calcHoursActivityForStatus(Integer idActivity, String timestatus) { Double hours = 0.0; String hoursDay = Timesheet.HOURSDAY1; hoursDay = hoursDay.substring(0, hoursDay.length() - 1); for (int i = 1; i < 8; i++) { Criteria crit = getSession().createCriteria(getPersistentClass()) .setProjection(Projections.sum(hoursDay + i)).add(Restrictions.eq(Timesheet.STATUS, timestatus)) .add(Restrictions.eq(Timesheet.PROJECTACTIVITY, new Projectactivity(idActivity))); hours += (Double) crit.uniqueResult() == null ? 0.0 : (Double) crit.uniqueResult(); } return hours; }
From source file:es.sm2.openppm.core.dao.WBSNodeDAO.java
License:Open Source License
public double totalBudget(Project project) { double total = 0; Criteria crit = getSession().createCriteria(getPersistentClass()) .setProjection(Projections.sum(Wbsnode.BUDGET)).add(Restrictions.eq(Wbsnode.PROJECT, project)); if (crit.uniqueResult() != null) { total = (Double) crit.uniqueResult(); }// w w w . j av a 2 s. c o m return total; }
From source file:es.sm2.openppm.core.dao.WBSNodeDAO.java
License:Open Source License
/** * Sum budget/*w w w . j ava2 s.co m*/ * @param project * @return */ public double getSumBudget(Project project) { Criteria crit = getSession().createCriteria(getPersistentClass()) .add(Restrictions.eq(Wbsnode.ISCONTROLACCOUNT, true)).add(Restrictions.eq(Wbsnode.PROJECT, project)) .setProjection(Projections.sum(Wbsnode.BUDGET)); Double value = (Double) crit.uniqueResult(); return (value == null ? 0 : value); }
From source file:es.sm2.openppm.core.dao.WorkingcostsDAO.java
License:Open Source License
/** * // ww w . j a v a2 s . c o m * @param project * @param department * @return */ public int getCostsByDept(Project project, String department) { Criteria crit = getSession().createCriteria(getPersistentClass()) .setProjection(Projections.sum(Workingcosts.EFFORT)) .add(Restrictions.eq(Workingcosts.PROJECT, project)) .add(Restrictions.eq(Workingcosts.RESOURCEDEPARTMENT, department)); Integer cost = (Integer) crit.uniqueResult(); return (cost == null ? 0 : cost); }
From source file:es.sm2.openppm.core.dao.WorkingcostsDAO.java
License:Open Source License
/** * Sum costs by currency/* w w w. j ava2s . com*/ * @param project * @param nameCurrency * @return */ public double getSumCosts(Project project, String nameCurrency) { Criteria crit = getSession().createCriteria(getPersistentClass()) .setProjection(Projections.sum(Workingcosts.WORKCOST)) .add(Restrictions.eq(Chargescosts.PROJECT, project)).createCriteria(Workingcosts.CURRENCY) .add(Restrictions.eq(Currency.NAME, nameCurrency)); Double cost = (Double) crit.uniqueResult(); return (cost == null ? 0 : cost); }
From source file:es.sm2.openppm.utils.hibernate.dao.AbstractGenericHibernateDAO.java
License:Open Source License
/********************************************/ public Object sumProperty(String property, Criterion... restrictions) { Criteria crit = getSession().createCriteria(getPersistentClass()).setProjection(Projections.sum(property)); if (restrictions != null) { for (Criterion restriction : restrictions) { crit.add(restriction);/* w w w . ja v a 2 s . c o m*/ } } return crit.uniqueResult(); }
From source file:fr.gael.dhus.database.dao.NetworkUsageDao.java
License:Open Source License
public long getDownloadedSizeByUserSince(final User user, final Date date) { Long result = getHibernateTemplate().execute(new HibernateCallback<Long>() { @Override//from w ww .java 2 s. co m public Long doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(NetworkUsage.class); criteria.setProjection(Projections.sum("size")); criteria.add(Restrictions.eq("isDownload", true)); criteria.add(Restrictions.eq("user", user)); criteria.add(Restrictions.gt("date", date)); return (Long) criteria.uniqueResult(); } }); return (result == null) ? 0 : result; }
From source file:fr.insalyon.creatis.vip.application.server.dao.hibernate.SimulationStatsData.java
License:Open Source License
@Override public List<String> getBySimulationID(List<String> simulationID) throws DAOException { //System.out.println("Calling SimulationStatsData: getBySimuID"); List<String> result = new ArrayList<String>(); try {/*from ww w. j a v a 2 s.com*/ Session session = sessionFactory.openSession(); session.beginTransaction(); Criteria criteria = session.createCriteria(Stats.class); // 'workflowID' is the variable in the class Stats //criteria.add(Restrictions.eq("workflowID", simulationID)); criteria.add(Restrictions.in("workflowID", simulationID)); //criteria.addOrder(Order.desc("workflowID")); ProjectionList p = Projections.projectionList(); //p.add(Projections.sum("completed")); p.add(Projections.alias(Projections.sum("completed"), "sumCompleted")); p.add(Projections.alias(Projections.sum("completedWaitingTime"), "sumCompletedWaitingTime")); p.add(Projections.alias(Projections.sum("completedExecutionTime"), "sumCompletedExecutionTime")); p.add(Projections.alias(Projections.sum("completedInputTime"), "sumCompletedInputTime")); p.add(Projections.alias(Projections.sum("completedOutputTime"), "sumCompletedOutputTime")); p.add(Projections.sum("cancelled")); p.add(Projections.sum("cancelledWaitingTime")); p.add(Projections.sum("cancelledExecutionTime")); p.add(Projections.sum("cancelledInputTime")); p.add(Projections.sum("cancelledOutputTime")); p.add(Projections.sum("failedApplication")); p.add(Projections.sum("failedApplicationWaitingTime")); p.add(Projections.sum("failedApplicationExecutionTime")); p.add(Projections.sum("failedApplicationInputTime")); p.add(Projections.sum("failedApplicationOutputTime")); p.add(Projections.sum("failedInput")); p.add(Projections.sum("failedInputWaitingTime")); p.add(Projections.sum("failedInputExecutionTime")); p.add(Projections.sum("failedInputInputTime")); p.add(Projections.sum("failedInputOutputTime")); p.add(Projections.sum("failedOutput")); p.add(Projections.sum("failedOutputWaitingTime")); p.add(Projections.sum("failedOutputExecutionTime")); p.add(Projections.sum("failedOutputInputTime")); p.add(Projections.sum("failedOutputOutputTime")); p.add(Projections.sum("failedStalled")); p.add(Projections.sum("failedStalledWaitingTime")); p.add(Projections.sum("failedStalledExecutionTime")); p.add(Projections.sum("failedStalledInputTime")); p.add(Projections.sum("failedStalledOutputTime")); criteria.setProjection(p); List l = criteria.list(); session.getTransaction().commit(); session.close(); Iterator it = l.iterator(); while (it.hasNext()) { Object ob[] = (Object[]) it.next(); /* for (int i = 0; i < ob.length; i++) { System.out.println("Object " + i + " is " + ob[i]); if (ob[i] != null) { result.add(String.valueOf(ob[i])); } } * */ if (ob.length >= 30) { result.add("Completed Jobs##" + String.valueOf(ob[0]) + ""); result.add("CompletedJobs WaitingTime##" + String.valueOf(ob[1]) + ""); result.add("CompletedJobs ExecutionTime##" + String.valueOf(ob[2]) + ""); result.add("CompletedJobs InputTime##" + String.valueOf(ob[3]) + ""); result.add("CompletedJobs OutputTime##" + String.valueOf(ob[4]) + ""); result.add("Cancelled Jobs##" + String.valueOf(ob[5]) + ""); result.add("CancelledJobs WaitingTime##" + String.valueOf(ob[6]) + ""); result.add("CancelledJobs ExecutionTime##" + String.valueOf(ob[7]) + ""); result.add("CancelledJobs InputTime##" + String.valueOf(ob[8]) + ""); result.add("CancelledJobs OutputTime##" + String.valueOf(ob[9]) + ""); result.add("failedApplication Jobs##" + String.valueOf(ob[10]) + ""); result.add("failedApplicationJobs WaitingTime##" + String.valueOf(ob[11]) + ""); result.add("failedApplicationJobs ExecutionTime##" + String.valueOf(ob[12]) + ""); result.add("failedApplicationJobs InputTime##" + String.valueOf(ob[13]) + ""); result.add("failedApplicationJobs OutputTime##" + String.valueOf(ob[14]) + ""); result.add("failedInput Jobs##" + String.valueOf(ob[15]) + ""); result.add("failedInputJobs WaitingTime##" + String.valueOf(ob[16]) + ""); result.add("failedInputJobs ExecutionTime##" + String.valueOf(ob[17]) + ""); result.add("failedInputJobs InputTime##" + String.valueOf(ob[18]) + ""); result.add("failedInputJobs OutputTime##" + String.valueOf(ob[19]) + ""); result.add("failedInput Jobs##" + String.valueOf(ob[15]) + ""); result.add("failedInputJobs WaitingTime##" + String.valueOf(ob[16]) + ""); result.add("failedInputJobs ExecutionTime##" + String.valueOf(ob[17]) + ""); result.add("failedInputJpbs InputTime##" + String.valueOf(ob[18]) + ""); result.add("failedInputJobs OutputTime##" + String.valueOf(ob[19]) + ""); result.add("failedOutput Jobs##" + String.valueOf(ob[20]) + ""); result.add("failedOutputJobs WaitingTime##" + String.valueOf(ob[21]) + ""); result.add("failedOutputJobs ExecutionTime##" + String.valueOf(ob[22]) + ""); result.add("failedOutputJobs InputTime##" + String.valueOf(ob[23]) + ""); result.add("failedOutputJobs OutputTime##" + String.valueOf(ob[24]) + ""); result.add("failedStalled Jobs##" + String.valueOf(ob[25]) + ""); result.add("failedStalledJobs WaitingTime##" + String.valueOf(ob[26]) + ""); result.add("failedStalledJobs ExecutionTime##" + String.valueOf(ob[27]) + ""); result.add("failedStalledJobs InputTime##" + String.valueOf(ob[28]) + ""); result.add("failedStalledJobs OutputTime##" + String.valueOf(ob[29]) + ""); } else { throw new DAOException("getBySimulationID: Not enough data"); } } return result; } catch (HibernateException ex) { throw new DAOException(ex); } }
From source file:grails.orm.HibernateCriteriaBuilder.java
License:Apache License
/** * Adds a projection that allows the criteria to retrieve the sum of the results of a property * * @param propertyName The name of the property * @param alias The alias to use/*from w ww . j a v a 2 s . c om*/ */ public org.grails.datastore.mapping.query.api.Projections sum(String propertyName, String alias) { final AggregateProjection proj = Projections.sum(calculatePropertyName(propertyName)); addProjectionToList(proj, alias); return this; }