Example usage for org.hibernate.criterion Restrictions disjunction

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

Introduction

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

Prototype

public static Disjunction disjunction() 

Source Link

Document

Group expressions together in a single disjunction (A or B or C...).

Usage

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

License:Open Source License

/**
 * Check if project is in these status//ww  w.  j  a  va 2  s  .  c  om
 * @param project
 * @param status
 * @return
 */
public boolean hasPermissionProject(Project project, String... status) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).setProjection(Projections.rowCount())
            .add(Restrictions.idEq(project.getIdProject()));

    Disjunction disjuntions = Restrictions.disjunction();

    for (String stat : status) {
        disjuntions.add(Restrictions.eq(Project.STATUS, stat));
    }

    crit.add(disjuntions);
    return ((Integer) crit.uniqueResult() > 0);
}

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

License:Open Source License

@SuppressWarnings("unchecked")
public List<Project> find(String search, Performingorg performingorg, List<String> joins) {
    Criteria crit = getSession().createCriteria(getPersistentClass())
            .add(Restrictions.disjunction().add(Restrictions.ilike(Project.PROJECTNAME, "%" + search + "%"))
                    .add(Restrictions.ilike(Project.CHARTLABEL, "%" + search + "%"))
                    .add(Restrictions.ilike(Project.ACCOUNTINGCODE, "%" + search + "%")));
    if (performingorg != null) {
        crit.add(Restrictions.eq(Project.PERFORMINGORG, performingorg));
    }//  w  ww  .j  a v a 2  s .  c o m

    addJoins(crit, joins);

    return crit.list();
}

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

License:Open Source License

/**
 * Sum priority by program/*from w w  w  .j  a va2s.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/*from w  w w .j a  v a  2s . c o  m*/
 * @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
 * //  www .j av a  2s  .  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

/**
 * /*w w  w . j a v a 2s .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
 * //from w w w.j a  va 2 s.co m
 * @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// www .  j ava  2  s.c o 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/*from   ww  w.  j av a  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();
}

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

License:Open Source License

public Projectfollowup findLastWithDataByProject(Project proj) {
    Projectfollowup followup = null;/*from   w w  w .j  a v a  2 s .  co m*/
    if (proj != null) {
        Criteria crit = getSession().createCriteria(getPersistentClass());
        crit.add(Restrictions.eq("project.idProject", proj.getIdProject()))
                .add(Restrictions.disjunction().add(Restrictions.isNotNull("generalFlag"))
                        .add(Restrictions.isNotNull("riskFlag")).add(Restrictions.isNotNull("costFlag"))
                        .add(Restrictions.isNotNull("scheduleFlag")))
                .addOrder(Order.desc("followupDate")).setMaxResults(1);

        followup = (Projectfollowup) crit.uniqueResult();
    }
    return followup;
}