Example usage for org.hibernate.criterion Restrictions or

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

Introduction

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

Prototype

public static LogicalExpression or(Criterion lhs, Criterion rhs) 

Source Link

Document

Return the disjuction of two expressions

Usage

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

License:Open Source License

/**
 * Search Team Members by Project.../*from  www.ja  v a 2s .  com*/
 * 
 * @param project
 * @param since
 * @param until
 * @param showDisabled
  * @return
 */
public List<Teammember> consStaffinFtes(Project project, Date since, Date until, boolean showDisabled) {

    // Create query and restrictions
    Criteria crit = getSession().createCriteria(getPersistentClass())
            .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
            .add(Restrictions.or(Restrictions.eq(Teammember.STATUS, Constants.RESOURCE_ASSIGNED),
                    Restrictions.eq(Teammember.STATUS, Constants.RESOURCE_RELEASED)))
            .add(Restrictions.disjunction().add(Restrictions.between(Teammember.DATEIN, since, until))
                    .add(Restrictions.between(Teammember.DATEOUT, since, until))
                    .add(Restrictions.and(Restrictions.le(Teammember.DATEIN, since),
                            Restrictions.ge(Teammember.DATEOUT, until))));

    // Restriction project
    crit.createCriteria(Teammember.PROJECTACTIVITY).add(Restrictions.eq(Projectactivity.PROJECT, project));

    if (!showDisabled) {

        // Exclude employees and contacts disabled
        crit.createCriteria(Teammember.EMPLOYEE, "em").add(Restrictions.ne(Employee.DISABLE, true))
                .setFetchMode(Teammember.EMPLOYEE + "." + Employee.RESOURCEPROFILES, FetchMode.JOIN);

        crit.createCriteria("em." + Employee.CONTACT, "contact").add(Restrictions.ne(Contact.DISABLE, true));
    } else {
        crit.setFetchMode(Teammember.EMPLOYEE, FetchMode.JOIN);
        crit.setFetchMode(Teammember.EMPLOYEE + "." + Employee.RESOURCEPROFILES, FetchMode.JOIN);
        crit.setFetchMode(Teammember.EMPLOYEE + "." + Employee.CONTACT, FetchMode.JOIN);

        // Create aliases for order
        crit.createAlias(Teammember.EMPLOYEE, "em").createAlias("em." + Employee.CONTACT, "contact");
    }

    // Data needed
    crit.setFetchMode(Teammember.JOBCATEGORY, FetchMode.JOIN);

    // Order by name
    crit.addOrder(Order.asc("contact.fullName"));

    return crit.list();
}

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

License:Open Source License

/**
 * Check if any member is assigned or preassigned in these project
 * /*w  w w  .j  a  v a2  s . c o  m*/
 * @param proj
 * @return
 */
public boolean isAssigned(Project proj) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).setProjection(Projections.rowCount())
            .add(Restrictions.or(Restrictions.eq(Teammember.STATUS, Constants.RESOURCE_ASSIGNED),
                    Restrictions.eq(Teammember.STATUS, Constants.RESOURCE_PRE_ASSIGNED)))
            .createCriteria(Teammember.PROJECTACTIVITY).add(Restrictions.eq(Projectactivity.PROJECT, proj));

    Integer count = (Integer) crit.uniqueResult();
    return (count > 0);
}

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

License:Open Source License

public double getHoursResourceInDates(Project project, Employee member, Date since, Date until,
        Integer idResourcePool, Operation operation, Projectactivity activity) {

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

    Criteria employeeCrit = null;/*w w  w. ja  v  a2 s.c  om*/

    if (member != null || idResourcePool != null) {
        employeeCrit = crit.createCriteria(Timesheet.EMPLOYEE);
    }

    if (idResourcePool != null) {
        employeeCrit.add(Restrictions.eq(Employee.RESOURCEPOOL, new Resourcepool(idResourcePool)));
    }

    if (member != null) {
        employeeCrit.add(Restrictions.idEq(member.getIdEmployee()));
    }

    if (since != null && until != null) {

        crit.add(Restrictions.disjunction().add(Restrictions.between(Timesheet.INITDATE, since, until))
                .add(Restrictions.between(Timesheet.ENDDATE, since, until))
                .add(Restrictions.and(Restrictions.le(Timesheet.INITDATE, since),
                        Restrictions.ge(Timesheet.ENDDATE, until))));
    }

    if (project != null) {

        crit.add(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP3));

        Criteria activitiesCrit = crit.createCriteria(Timesheet.PROJECTACTIVITY)
                .add(Restrictions.eq(Projectactivity.PROJECT, project));

        // Select only timesheet whose activity is control account
        Criteria wbsnodeCrit = activitiesCrit.createCriteria(Projectactivity.WBSNODE)
                .add(Restrictions.eq(Wbsnode.ISCONTROLACCOUNT, true));
    } else if (operation != null) {

        crit.add(Restrictions.or(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP2),
                Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP3)))
                .add(Restrictions.eq(Timesheet.OPERATION, operation));
    } else if (activity != null) {

        crit.add(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP3))
                .add(Restrictions.eq(Timesheet.PROJECTACTIVITY, activity));
    }

    return calcHours(crit.list(), since, until);
}

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

License:Open Source License

/**
 * Check for hours pending approval - APP1 or APP2
 * /*from   ww w .j  a v  a 2  s.  c o  m*/
 * @param project
 * @return
 */
public boolean pendingApproval(Project project) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).setProjection(Projections.rowCount())
            .add(Restrictions.or(Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP1),
                    Restrictions.eq(Timesheet.STATUS, Constants.TIMESTATUS_APP2)));

    // Project restriction
    crit.createCriteria(Timesheet.PROJECTACTIVITY).add(Restrictions.eq(Projectactivity.PROJECT, project));

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

    return (count != null && count > 0);
}

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

License:Open Source License

/**
 * Check if one or more wbsnodes have budget null or 0
 * /* w ww  .  j  av  a 2  s . c  o  m*/
 * @param project
 * @return
 */
public boolean isBudgetEmpty(Project project) {

    Criteria crit = getSession().createCriteria(getPersistentClass()).setProjection(Projections.rowCount())
            .add(Restrictions.eq(Wbsnode.ISCONTROLACCOUNT, true)).add(Restrictions.eq(Wbsnode.PROJECT, project))
            .add(Restrictions.or(Restrictions.isNull(Wbsnode.BUDGET),
                    Restrictions.eq(Wbsnode.BUDGET, new Double(0))));

    //TODO http://192.168.65.102/redmine/issues/1688 .add(Restrictions.isNull(Wbsnode.BUDGET));

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

    return (rows != null && rows > 0);
}

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

License:Open Source License

/**
 * Return tree of WBSTemplate of root node
 * @param wbstemplate//  ww  w  .j a  va  2s  .  c  o m
 * @return
 */
@SuppressWarnings("unchecked")
public List<Wbstemplate> findWbsTemplate(Wbstemplate wbstemplate) {
    Criteria crit = getSession().createCriteria(getPersistentClass())
            .add(Restrictions.or(Restrictions.eq(Wbstemplate.IDWBSNODE, wbstemplate.getIdWbsnode()),
                    Restrictions.eq(Wbstemplate.ROOT, wbstemplate.getIdWbsnode())))
            .addOrder(Order.asc(Wbstemplate.NAME));

    return crit.list();
}

From source file:es.tekniker.framework.ktek.questionnaire.mng.db.QuestionnaireManagerDB.java

License:Open Source License

public Ktek_questionnaire getQuestionnaireModel(int idquestionnaire) {

    Ktek_questionnaire instance = null;/*from w w w  .j  ava  2s.  co m*/

    PersistentSession session = null;
    DAOFactory lDAOFactory = null;
    Ktek_questionnaireDAO instanceDAO = null;
    Ktek_questionnaireCriteria objKtek_questionnaireCriteria = null;
    long nowInMillis = 0;
    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

        session = es.tekniker.framework.ktek.questionnaire.KTEKPersistentManager.instance().getSession();
        session.beginTransaction();

        lDAOFactory = es.tekniker.framework.ktek.questionnaire.DAOFactory.getDAOFactory();
        instanceDAO = lDAOFactory.getKtek_questionnaireDAO();

        objKtek_questionnaireCriteria = new Ktek_questionnaireCriteria();
        objKtek_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_questionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_questionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        objKtek_questionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        instance = instanceDAO.loadKtek_questionnaireByCriteria(objKtek_questionnaireCriteria);

        session.close();

        if (instance != null) {
            log.debug("getQuestionnaireModel is not null ");
        } else {
            log.debug("getQuestionnaireModel is null ");
        }

    } catch (Exception e) {
        log.error("getQuestionnaireModel Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
    return instance;
}

From source file:es.tekniker.framework.ktek.questionnaire.mng.db.QuestionnaireManagerDB.java

License:Open Source License

public Ktek_formatquestionnaire getQuestionnaireAssessmentConfiguration(int idquestionnaire) {
    Ktek_formatquestionnaire instance = null;

    PersistentSession session = null;//  w w w  .  j a v a2  s .c  o  m
    DAOFactory lDAOFactory = null;
    Ktek_formatquestionnaireDAO instanceDAO = null;
    Ktek_formatquestionnaireCriteria objKtek_formatquestionnaireCriteria = null;
    Ktek_questionnaireCriteria objKtek_fk_questionnaireCriteria = null;
    long nowInMillis = 0;

    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

        session = es.tekniker.framework.ktek.questionnaire.KTEKPersistentManager.instance().getSession();
        session.beginTransaction();

        lDAOFactory = es.tekniker.framework.ktek.questionnaire.DAOFactory.getDAOFactory();
        instanceDAO = lDAOFactory.getKtek_formatquestionnaireDAO();

        objKtek_formatquestionnaireCriteria = new Ktek_formatquestionnaireCriteria();
        objKtek_fk_questionnaireCriteria = objKtek_formatquestionnaireCriteria
                .createKtek_fk_questionnaireCriteria();
        objKtek_fk_questionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_fk_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_fk_questionnaireCriteria.datevalidfrom.lt(nowInMillis);
        objKtek_fk_questionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instance = instanceDAO.loadKtek_formatquestionnaireByCriteria(objKtek_formatquestionnaireCriteria);

        session.close();

        if (instance != null) {
            log.debug("getQuestionnaireAssesmentConfiguration is not null ");
        } else {
            log.debug("getQuestionnaireAssesmentConfiguration is null ");
        }

    } catch (Exception e) {
        log.error("getQuestionnaireAssesmentConfiguration Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            e1.printStackTrace();
        }
    }
    return instance;
}

From source file:es.tekniker.framework.ktek.questionnaire.mng.db.QuestionnaireManagerDB.java

License:Open Source License

public Ktek_questionnairesection[] getQuestionnaireAssessmentSectionList(int idquestionnaire) {
    Ktek_questionnairesection[] instanceArray = null;

    PersistentSession session = null;/*  ww w. jav  a2s .c om*/
    DAOFactory lDAOFactory = null;
    Ktek_questionnairesectionDAO instanceDAO = null;
    Ktek_questionnairesectionCriteria objKtek_questionnairesectionCriteria = null;
    Ktek_qsection_questionnaireCriteria objKtek_qsection_questionnaireCriteria = null;
    Ktek_questionnaireCriteria objKtek_fk_idquestionnaireCriteria = null;
    long nowInMillis = 0;

    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();

        session = es.tekniker.framework.ktek.questionnaire.KTEKPersistentManager.instance().getSession();
        session.beginTransaction();

        lDAOFactory = es.tekniker.framework.ktek.questionnaire.DAOFactory.getDAOFactory();
        instanceDAO = lDAOFactory.getKtek_questionnairesectionDAO();
        objKtek_questionnairesectionCriteria = new Ktek_questionnairesectionCriteria();
        objKtek_qsection_questionnaireCriteria = objKtek_questionnairesectionCriteria
                .createKtek_qsection_questionnaireCriteria();
        objKtek_qsection_questionnaireCriteria.ktek_fk_idquestionnaire_ktek_pk_idquestionnaire
                .eq(idquestionnaire);

        objKtek_fk_idquestionnaireCriteria = objKtek_qsection_questionnaireCriteria
                .createKtek_fk_idquestionnaireCriteria();
        objKtek_fk_idquestionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_fk_idquestionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_fk_idquestionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_fk_idquestionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instanceArray = instanceDAO
                .listKtek_questionnairesectionByCriteria(objKtek_questionnairesectionCriteria);

        session.close();

        if (instanceArray != null) {
            log.debug("getQuestionnaireAssesmentSectionList is not null ");
        } else {
            log.debug("getQuestionnaireAssesmentSectionList is null ");
        }

    } catch (Exception e) {
        log.error("getQuestionnaireAssesmentSectionList Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            e1.printStackTrace();
        }
    }
    return instanceArray;
}

From source file:es.tekniker.framework.ktek.questionnaire.mng.db.QuestionnaireManagerDB.java

License:Open Source License

public Ktek_questionnaire getQuestionnaire(int idquestionnaire) {
    Ktek_questionnaire instance = null;/*from  ww w. java  2s . co m*/
    DAOFactory lDAOFactory = null;
    PersistentSession session = null;
    Ktek_questionnaireDAO instanceDAO = null;
    Ktek_questionnaireCriteria objKtek_questionnaireCriteria = null;
    long nowInMillis = 0;
    try {
        nowInMillis = Utils.getCalendarGMT().getTimeInMillis();
        session = es.tekniker.framework.ktek.questionnaire.KTEKPersistentManager.instance().getSession();

        lDAOFactory = es.tekniker.framework.ktek.questionnaire.DAOFactory.getDAOFactory();
        instanceDAO = lDAOFactory.getKtek_questionnaireDAO();

        objKtek_questionnaireCriteria = new Ktek_questionnaireCriteria();
        objKtek_questionnaireCriteria.ktek_pk_idquestionnaire.eq(idquestionnaire);
        objKtek_questionnaireCriteria.isdeleted.eq((short) 0);
        objKtek_questionnaireCriteria.datevalidfrom.lt(nowInMillis);

        objKtek_questionnaireCriteria.add(Restrictions.or(Restrictions.isNull("datevalidto"),
                Restrictions.gt("datevalidto", nowInMillis)));

        instance = instanceDAO.loadKtek_questionnaireByCriteria(objKtek_questionnaireCriteria);

        if (instance != null)
            log.debug("getQuestionnaire instance is not null");
        else
            log.info("getQuestionnaire instance is null for idquestionnaire " + idquestionnaire);

        session.close();

    } catch (Exception e) {
        log.error("getQuestionnaire Exception " + e.getMessage());
        e.printStackTrace();
        try {
            if (session != null)
                session.close();
        } catch (PersistentException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }

    return instance;
}