Example usage for org.hibernate.criterion Restrictions isNull

List of usage examples for org.hibernate.criterion Restrictions isNull

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions isNull.

Prototype

public static Criterion isNull(String propertyName) 

Source Link

Document

Apply an "is null" constraint to the named property

Usage

From source file:es.sm2.openppm.core.dao.ProgramDAO.java

License:Open Source License

/**
 * Search by PerfOrg/*from   w  w  w  . j  a  v  a  2 s.c o m*/
 * @param budgetYear 
 * @param user
 * @return
 */
@SuppressWarnings("unchecked")
public List<Program> searchByPerfOrg(Performingorg perfOrg, Integer budgetYear) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).addOrder(Order.asc(Program.PROGRAMNAME));

    if (budgetYear != null) {
        crit.add(Restrictions.disjunction().add(Restrictions.eq(Program.INITBUDGETYEAR, budgetYear + ""))
                .add(Restrictions.isNull(Program.INITBUDGETYEAR))
                .add(Restrictions.eq(Program.INITBUDGETYEAR, "")));
    }

    crit.createCriteria("employee").add(Restrictions.eq("performingorg", perfOrg));

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectActivityDAO.java

License:Open Source License

/**
 * Get root activity of project/*from w  ww.jav  a2 s  .c  om*/
 * 
 * @param proj
 * @return
 */
@SuppressWarnings("unchecked")
public Projectactivity consRootActivity(Project proj) {

    List<Projectactivity> activities = null;

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .add(Restrictions.eq(Projectactivity.PROJECT, proj));

    crit.createCriteria(Projectactivity.WBSNODE).add(Restrictions.isNull(Wbsnode.WBSNODE));

    activities = crit.list();

    Projectactivity rootActivity = (activities != null && !activities.isEmpty() ? activities.get(0) : null);

    // Create Root Activity if not exist
    if (rootActivity == null) {

        Wbsnode wbsRoot = null;

        crit = getSession().createCriteria(Wbsnode.class).add(Restrictions.isNull(Wbsnode.WBSNODE))
                .addOrder(Order.asc(Wbsnode.CODE)).add(Restrictions.eq(Wbsnode.PROJECT, proj));

        List<Wbsnode> list = crit.list();
        if (!list.isEmpty()) {
            wbsRoot = list.get(0);
        }

        if (wbsRoot == null) {

            crit = getSession().createCriteria(Wbsnode.class).setProjection(Projections.rowCount())
                    .add(Restrictions.eq(Wbsnode.PROJECT, proj));

            if ((Integer) crit.uniqueResult() == 0) {

                WBSNodeDAO nodeDAO = new WBSNodeDAO(getSession());
                wbsRoot = new Wbsnode();
                wbsRoot.setProject(proj);
                wbsRoot.setIsControlAccount(true);
                wbsRoot.setName(proj.getProjectName());

                wbsRoot = nodeDAO.makePersistent(wbsRoot);
            }
        }

        if (wbsRoot != null) {

            rootActivity = new Projectactivity();
            rootActivity.setProject(proj);
            rootActivity.setWbsnode(wbsRoot);
            rootActivity.setWbsdictionary(StringPool.BLANK);

            if (wbsRoot.getCode() != null && !StringPool.BLANK.equals(wbsRoot.getCode())) {
                rootActivity.setActivityName(wbsRoot.getCode() + ". " + wbsRoot.getName());
            } else {
                rootActivity.setActivityName(wbsRoot.getName());
            }
            rootActivity = makePersistent(rootActivity);

            updatePlannedDates(proj, rootActivity);
            updateActualDates(proj, rootActivity);

            rootActivity = findById(rootActivity.getIdActivity());
        }
    }

    return rootActivity;
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * /*w  ww  .  j a v a 2  s  .  co  m*/
 * @param program
 * @return
 */
public Double getBudgetBottomUp(Program program, boolean projectsDisabled) {

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setProjection(Projections.sum(Project.TCV)).add(Restrictions.eq(Project.PROGRAM, program));

    // Projects disabled
    if (projectsDisabled) {

        crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
                .add(Restrictions.isNull(Project.DISABLE)));
    }

    Double budget = (Double) crit.uniqueResult();

    return (budget == null ? 0 : budget);
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Sum priority by program//from   w  w  w  .ja va 2s  .c  o  m
 * @param program
 * @return
 */
public Integer sumPriorityByProgram(Program program, boolean projectsDisabled) {

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setProjection(Projections.sum(Project.PRIORITY)).add(Restrictions.eq(Project.PROGRAM, program))
            .add(Restrictions.disjunction()
                    .add(Restrictions.eq(Project.INVESTMENTSTATUS, Constants.INVESTMENT_APPROVED))
                    .add(Restrictions.eq(Project.INVESTMENTSTATUS, Constants.INVESTMENT_IN_PROCESS)));

    // Projects not disabled
    if (projectsDisabled) {

        crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
                .add(Restrictions.isNull(Project.DISABLE)));
    }

    Integer priority = (Integer) crit.uniqueResult();

    return (priority == null ? 0 : priority);
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Search projects with list investment status
 * @param program/* w ww  .  ja  v a2s  .c  om*/
 * @param investmentStatus 
 * @return
 */
@SuppressWarnings("unchecked")
public List<Project> findByProgramAndInvestmentStatus(Program program, List<String> investmentStatus,
        boolean projectsDisabled) {

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .add(Restrictions.eq(Project.PROGRAM, program));

    Disjunction disjunction = Restrictions.disjunction();

    for (String status : investmentStatus) {
        disjunction.add(Restrictions.eq(Project.INVESTMENTSTATUS, status));
    }
    crit.add(disjunction);

    // Projects not disabled
    if (projectsDisabled) {

        crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
                .add(Restrictions.isNull(Project.DISABLE)));
    }

    crit.addOrder(Order.asc(Project.TCV));

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Find projects by program and show or not show projects disabled
 * /*from   www.ja va2  s  .c om*/
 * @param program
 * @param projectsDisabled
 * @return
 */
@SuppressWarnings("unchecked")
public List<Project> findByProgramAndProjectsDisabled(Program program, boolean projectsDisabled) {

    List<Project> projects = null;

    if (program.getIdProgram() != -1) {

        Criteria crit = getSession().createCriteria(getPersistentClass());

        crit.add(Restrictions.eq("program.idProgram", program.getIdProgram()));

        // Projects not disabled
        if (projectsDisabled) {

            crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
                    .add(Restrictions.isNull(Project.DISABLE)));
        }

        projects = crit.list();
    }

    return projects;
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * // ww w . j a va  2  s.c o  m
 * @param performingorg
 * @param projectsDisabled
 * @return
 */
@SuppressWarnings("unchecked")
public List<Project> findByPO(Performingorg performingorg, boolean projectsDisabled) {

    Criteria crit = getSession().createCriteria(getPersistentClass())
            .add(Restrictions.eq(Project.PERFORMINGORG, performingorg))
            .add(Restrictions.or(Restrictions.eq(Project.STATUS, Constants.STATUS_CONTROL),
                    Restrictions.eq(Project.STATUS, Constants.STATUS_PLANNING)));

    // Projects not disabled
    if (projectsDisabled) {

        crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
                .add(Restrictions.isNull(Project.DISABLE)));
    }

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Find by user role and not Initiating project
 * /* w w w .  jav  a 2  s .com*/
 * @param user
 * @param enableDisable
 * @return
 */
@SuppressWarnings("unchecked")
public List<Project> findByUser(Employee user, Boolean enableDisable) {

    // Create criteria
    Criteria crit = getSession().createCriteria(getPersistentClass());

    // Not initiating projects
    crit.add(Restrictions.ne(Project.STATUS, Constants.STATUS_INITIATING));

    if (Constants.ROLE_PM == user.getResourceprofiles().getIdProfile()) {

        // By Project Manager
        crit.add(Restrictions.eq(Project.EMPLOYEEBYPROJECTMANAGER, user));
    } else if (Constants.ROLE_FM == user.getResourceprofiles().getIdProfile()) {

        // By Functional Manager
        crit.add(Restrictions.eq(Project.EMPLOYEEBYFUNCTIONALMANAGER, user));
    } else if (Constants.ROLE_IM == user.getResourceprofiles().getIdProfile()) {

        // By Investment Manager
        crit.add(Restrictions.eq(Project.EMPLOYEEBYINVESTMENTMANAGER, user));
    } else if (Constants.ROLE_SPONSOR == user.getResourceprofiles().getIdProfile()) {

        // By Sponsor
        crit.add(Restrictions.eq(Project.EMPLOYEEBYSPONSOR, user));
    } else {

        // Other case by PO
        crit.add(Restrictions.eq(Project.PERFORMINGORG, user.getPerformingorg()));
    }

    // If setting disabled is enabled restrict projects not disabled
    if (enableDisable) {

        crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Boolean.TRUE))
                .add(Restrictions.isNull(Project.DISABLE)));
    }

    // order by project name
    crit.addOrder(Order.asc(Project.PROJECTNAME));

    List<String> joins = new ArrayList<String>();
    joins.add(Project.PERFORMINGORG);
    joins.add(Project.EMPLOYEEBYPROJECTMANAGER);
    joins.add(Project.EMPLOYEEBYPROJECTMANAGER + "." + Employee.CONTACT);

    addJoins(crit, joins);

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Search projects with list project status
 *
 * @param po//  w w  w .  ja  v  a 2s.  co m
 * @param projectStatus
 * @param projectsDisabled
 * @return
 */
public List<Project> findByPOAndProjectStatus(Performingorg po, List<String> projectStatus,
        boolean projectsDisabled) {

    // Create criteria
    Criteria crit = getSession().createCriteria(getPersistentClass());

    // Filter by PO
    if (po != null) {
        crit.add(Restrictions.eq(Project.PERFORMINGORG, po));
    }

    // Filter by proejct status
    if (ValidateUtil.isNotNull(projectStatus)) {
        crit.add(Restrictions.in(Project.STATUS, projectStatus));
    }

    // Projects not disabled
    if (projectsDisabled) {

        crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
                .add(Restrictions.isNull(Project.DISABLE)));
    }

    // Filter investments rejected
    crit.add(Restrictions.ne(Project.INVESTMENTSTATUS, Constants.INVESTMENT_REJECTED));

    // Order
    crit.addOrder(Order.asc(Project.CHARTLABEL));

    return crit.list();
}

From source file:es.sm2.openppm.core.dao.ProjectDAO.java

License:Open Source License

/**
 * Find investments in process and not disabled
 *
 * @return//www.j  a  va  2  s. co  m
 */
public List<Project> findInvestmentsInProcess() {

    // Create criteria
    Criteria crit = getSession().createCriteria(getPersistentClass());

    // Filter Not disabled projects
    crit.add(Restrictions.disjunction().add(Restrictions.ne(Project.DISABLE, Constants.SELECTED))
            .add(Restrictions.isNull(Project.DISABLE)));

    // Filter investments rejected
    crit.add(Restrictions.eq(Project.INVESTMENTSTATUS, Constants.INVESTMENT_IN_PROCESS));

    // Order
    crit.addOrder(Order.asc(Project.CHARTLABEL));

    return crit.list();
}