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:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

@Override
public List<EmpData> getTotalBySearchEmployee(PlacementOfEmployeeWorkScheduleModel model) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**// w  w  w  .j av  a 2 s  .  c om
     * automatically get relations of jabatanByJabatanId, department,
     * company don't create alias for that entity, or will get error :
     * duplicate association path
     */
    //        criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId());
    criteria.add(Restrictions.neOrIsNotNull("status", HRMConstant.EMP_TERMINATION));

    criteria.createAlias("wtGroupWorking", "wg", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("employeeType", "empType", JoinType.INNER_JOIN);
    criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN);
    criteria.createAlias("golonganJabatan", "goljab", JoinType.INNER_JOIN);
    //ambil yg working groupnya bukan yg dipilih, dan belum punya working group
    if (model.getWorkingGroupId() != 0 || model.getWorkingGroupId() != null) {
        Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.isNull("wtGroupWorking"));
        disjunction.add(Restrictions.not(Restrictions.eq("wg.id", model.getWorkingGroupId())));
        criteria.add(disjunction);
    }
    //departermen equal or like
    if (model.getDepartmentLikeOrEqual() != 3) {
        if (Objects.equals(model.getDepartmentLikeOrEqual(), HRMConstant.DEPARTMENT_EQUAL)) {
            criteria.add(Restrictions.eq("department.departmentName", model.getDepartmentName()));
        } else {
            criteria.add(Restrictions.like("department.departmentName", model.getDepartmentName(),
                    MatchMode.ANYWHERE));
        }
    }
    //employee type equal or like
    if (model.getEmployeeTypeLikeOrEqual() != 3) {
        if (Objects.equals(model.getEmployeeTypeLikeOrEqual(), HRMConstant.EMPLOYEE_TYPE_EQUAL)) {
            criteria.add(Restrictions.eq("empType.name", model.getEmployeeTypeName()));
        } else {
            criteria.add(Restrictions.like("empType.name", model.getEmployeeTypeName(), MatchMode.ANYWHERE));
        }
    }
    //gender
    criteria.add(Restrictions.eq("bio.gender", model.getGender()));
    //goljab
    if (model.getGolonganJabatanId() != 0) {
        criteria.add(Restrictions.eq("goljab.id", model.getGolonganJabatanId()));
    }

    String sortBy;
    if (Objects.equals(model.getSortBy(), HRMConstant.SORT_BY_NIK)) {
        sortBy = "nik";
    } else {
        sortBy = "bio.firstName";
    }

    if (Objects.equals(model.getOrderBy(), HRMConstant.ORDER_BY_ASC)) {
        criteria.addOrder(Order.asc(sortBy));
    } else {
        criteria.addOrder(Order.desc(sortBy));
    }
    return criteria.list();
}

From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

@Override
public List<EmpData> getAllDataNotTerminateWithSearchParameter(String nikOrName) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**//from   w w  w. ja  v a2s  .  com
     * automatically get relations of jabatanByJabatanId, department,
     * company don't create alias for that entity, or will get error :
     * duplicate association path
     */
    criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId());
    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));
    criteria.createAlias("bioData", "bioData", JoinType.INNER_JOIN);
    if (nikOrName != null) {
        Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.ilike("bioData.combineName", nikOrName.toLowerCase(), MatchMode.ANYWHERE));
        disjunction.add(Restrictions.like("nik", nikOrName, MatchMode.ANYWHERE));
        criteria.add(disjunction);
    }
    return criteria.list();
}

From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

@Override
public List<EmpData> getAllDataWithoutJoinCompany(String nikOrName) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));

    if (StringUtils.isNotEmpty(nikOrName)) {
        criteria.createAlias("bioData", "bioData", JoinType.INNER_JOIN);
        Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.ilike("bioData.combineName", nikOrName.toLowerCase(), MatchMode.ANYWHERE));
        disjunction.add(Restrictions.like("nik", nikOrName, MatchMode.ANYWHERE));
        criteria.add(disjunction);/*from  w  ww .j  a  va  2s. c o m*/
    }
    return criteria.list();
}

From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

private Criteria doSearchSalaryConfirmationByParam(SalaryConfirmationParameter param, Criteria criteria) {
    /**/*from   ww w  .  ja  v a  2s  .co m*/
     * automatically get relations of jabatanByJabatanId, department,
     * company don't create alias for that entity, or will get error :
     * duplicate association path
     */
    criteria = this.addJoinRelationsOfCompanyId(criteria, HrmUserInfoUtil.getCompanyId());
    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));

    criteria.createAlias("bioData", "bioData", JoinType.INNER_JOIN);
    criteria.createAlias("golonganJabatan", "golonganJabatan", JoinType.INNER_JOIN);
    criteria.add(Restrictions.isNotEmpty("payTempKalkulasis"));

    if (StringUtils.isNotEmpty(param.getNik())) {
        criteria.add(Restrictions.like("nik", param.getNik(), MatchMode.START));
    }

    if (StringUtils.isNotEmpty(param.getName())) {
        Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.like("bioData.firstName", param.getName(), MatchMode.START));
        disjunction.add(Restrictions.like("bioData.lastName", param.getName(), MatchMode.START));
        criteria.add(disjunction);
    }

    if (param.getGolonganJabatanId() != null && param.getGolonganJabatanId() != 0) {
        criteria.add(Restrictions.eq("golonganJabatan.id", param.getGolonganJabatanId()));
    }

    return criteria;
}

From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

private void doSearchEmpDataByParam(String nikOrNameSearchParameter, Criteria criteria) {

    if (nikOrNameSearchParameter != null) {
        Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.like("nik", nikOrNameSearchParameter, MatchMode.START));
        disjunction.add(Restrictions.like("bioData.firstName", nikOrNameSearchParameter, MatchMode.START));
        disjunction.add(Restrictions.like("bioData.lastName", nikOrNameSearchParameter, MatchMode.START));
        criteria.add(disjunction);/*from  w  w w .jav a  2 s . c  o  m*/
    }
}

From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

@Override
public List<EmpData> getAllDataNotTerminatePaging(TempAttendanceRealizationSearchParameter parameter,
        int firstResult, int maxResult, Order order) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));
    if (parameter.getNik() != null) {
        criteria.add(Restrictions.like("nik", parameter.getNik(), MatchMode.ANYWHERE));
    }//from  w  w w.j a va 2  s  .c  o m
    criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN);
    if (parameter.getName() != null) {
        //            criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN);
        Disjunction orCondition = Restrictions.disjunction();
        orCondition.add(
                Restrictions.ilike("bio.combineName", parameter.getName().toLowerCase(), MatchMode.ANYWHERE));
        orCondition.add(Restrictions.like("nik", parameter.getName(), MatchMode.ANYWHERE));
        criteria.add(orCondition);
    }

    //String sorting = "bio." + order;
    criteria.addOrder(order);
    //        if (order==null) {
    //            criteria.addOrder(order);
    //        } else {
    //            if (order.isAscending()) {
    //             
    //                criteria.addOrder(Order.asc(sorting));
    //            } else {
    //                
    //                criteria.addOrder(Order.desc(sorting));
    //            }
    //        }

    criteria.setFirstResult(firstResult);
    criteria.setMaxResults(maxResult);
    return criteria.list();
}

From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java

@Override
public Long getTotalNotTerminatePaging(TempAttendanceRealizationSearchParameter parameter) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());

    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));
    if (parameter.getNik() != null) {
        criteria.add(Restrictions.like("nik", parameter.getNik(), MatchMode.ANYWHERE));
    }/*from  ww  w  .java2 s.c  om*/

    if (parameter.getName() != null) {
        criteria.createAlias("bioData", "bio", JoinType.INNER_JOIN);
        Disjunction orCondition = Restrictions.disjunction();
        orCondition.add(
                Restrictions.ilike("bio.combineName", parameter.getName().toLowerCase(), MatchMode.ANYWHERE));
        orCondition.add(Restrictions.like("nik", parameter.getName(), MatchMode.ANYWHERE));
        criteria.add(orCondition);
    }
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

From source file:com.inkubator.hrm.dao.impl.HrmUserDaoImpl.java

@Override
public HrmUser getByUserIdOrEmail(String param) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    Disjunction disjunction = Restrictions.disjunction();
    disjunction.add(Restrictions.eq("userId", param));
    disjunction.add(Restrictions.eq("emailAddress", param));
    criteria.add(disjunction);/* ww  w . j  a  v a2 s.com*/

    criteria.setFetchMode("empData", FetchMode.JOIN);
    criteria.setFetchMode("empData.bioData", FetchMode.JOIN);
    return (HrmUser) criteria.uniqueResult();
}

From source file:com.inkubator.hrm.dao.impl.HrmUserDaoImpl.java

@Override
public List<HrmUser> getAllDataByNameOrNik(String param) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    criteria.createAlias("empData", "empData", JoinType.INNER_JOIN);
    criteria.createAlias("empData.bioData", "bioData", JoinType.INNER_JOIN);
    Disjunction disjunction = Restrictions.disjunction();
    disjunction.add(Restrictions.like("bioData.firstName", param, MatchMode.ANYWHERE));
    disjunction.add(Restrictions.like("bioData.lastName", param, MatchMode.ANYWHERE));
    disjunction.add(Restrictions.like("empData.nik", param, MatchMode.ANYWHERE));
    criteria.add(disjunction);/*  www.  j av a 2s . co  m*/
    return criteria.list();
}

From source file:com.inkubator.hrm.dao.impl.InclusionReimbursmentDaoImpl.java

private void doSearchByParam(String parameter, Criteria criteria,
        InclusionReimbursmentModel inclusionReimbursmentModel) {
    criteria.createAlias("reimbursmentSchema", "reimbursmentSchema", JoinType.INNER_JOIN);
    criteria.createAlias("empData", "empData", JoinType.INNER_JOIN);
    criteria.createAlias("empData.bioData", "bioData", JoinType.INNER_JOIN);
    criteria.add(Restrictions.eq("reimbursmentSchema.payrollComponent", Boolean.TRUE));
    criteria.add(Restrictions.ge("claimDate", inclusionReimbursmentModel.getStartDate()));
    criteria.add(Restrictions.lt("claimDate", inclusionReimbursmentModel.getEndDate()));
    if (StringUtils.isNotEmpty(parameter)) {
        Disjunction disjunction = Restrictions.disjunction();
        disjunction.add(Restrictions.like("empData.nik", parameter, MatchMode.ANYWHERE));
        disjunction.add(Restrictions.like("bioData.firstName", parameter, MatchMode.ANYWHERE));
        disjunction.add(Restrictions.like("bioData.lastName", parameter, MatchMode.ANYWHERE));
        criteria.add(disjunction);//from  ww w. ja  v a2 s  . c om
        //            criteria.add(Restrictions.like("bioData.firstName", parameter, MatchMode.ANYWHERE));
    }
    criteria.add(Restrictions.isNotNull("id"));
}