Example usage for org.hibernate.criterion Projections sum

List of usage examples for org.hibernate.criterion Projections sum

Introduction

In this page you can find the example usage for org.hibernate.criterion Projections sum.

Prototype

public static AggregateProjection sum(String propertyName) 

Source Link

Document

A property value sum projection

Usage

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;
}