Example usage for org.hibernate.criterion Projections rowCount

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

Introduction

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

Prototype

public static Projection rowCount() 

Source Link

Document

The query row count, ie.

Usage

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

@Override
public Long getTotalEmpDataNotTerminate() {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**/* ww  w  .  j  a va 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.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));

    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalByTaxFreeIsNull() {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**/* ww  w . jav a  2 s .c o  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.add(Restrictions.isNull("taxFree"));
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalSalaryConfirmationByParam(SalaryConfirmationParameter param) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    this.doSearchSalaryConfirmationByParam(param, criteria);
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalDataByDepartementAndEducation(List<Long> departementId, List<Long> educationId) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    doCreateAliasByDepartmentAndEducation(departementId, educationId, criteria);
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalReportRekapJabatanByParam(List<Long> listDepartmentId, List<Long> listEmpTypeId) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    doCreateAliasByDepartmentAndEmployeeType(listDepartmentId, listEmpTypeId, criteria);
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalByParamWithDetail(List<Department> deptId, List<GolonganJabatan> golJabId,
        String[] empTypeName, List<Integer> listAge, List<Integer> listJoinDate, List<String> listNik) {
    List<Long> listDepartment = new ArrayList<Long>();
    List<Long> listGolJab = new ArrayList<Long>();
    for (Department department : deptId) {
        listDepartment.add(department.getId());
    }/* w  ww. j av  a  2  s  .c  o  m*/
    for (GolonganJabatan golonganJabatan : golJabId) {
        listGolJab.add(golonganJabatan.getId());
    }
    final org.hibernate.type.Type[] typeJoinDate = new org.hibernate.type.Type[listJoinDate.size()];
    Arrays.fill(typeJoinDate, org.hibernate.type.StandardBasicTypes.INTEGER);
    final org.hibernate.type.Type[] typeAge = new org.hibernate.type.Type[listAge.size()];
    Arrays.fill(typeAge, org.hibernate.type.StandardBasicTypes.INTEGER);

    final StringBuilder joinDateList = new StringBuilder();
    final StringBuilder ageList = new StringBuilder();

    for (int i = 0; i < listJoinDate.size(); i++) {
        if (i > 0) {
            joinDateList.append(",");
        }
        joinDateList.append("?");
    }
    for (int i = 0; i < listAge.size(); i++) {
        if (i > 0) {
            ageList.append(",");
        }
        ageList.append("?");
    }
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**
     * 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.LEFT_OUTER_JOIN);
    criteria.createAlias("golonganJabatan", "golonganJabatan", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("employeeType", "employeeType", JoinType.LEFT_OUTER_JOIN);
    //        criteria.createCriteria("bioData", "bio", JoinType.LEFT_OUTER_JOIN);
    if (!deptId.isEmpty()) {
        criteria.add(Restrictions.in("department.id", listDepartment));
    }

    if (!golJabId.isEmpty()) {
        criteria.add(Restrictions.in("golonganJabatan.id", listGolJab));
    }

    if (empTypeName.length != 0) {
        criteria.add(Restrictions.in("employeeType.name", empTypeName));
    }

    if (listJoinDate.get(0) != 0) {
        criteria.add(Restrictions
                .sqlRestriction("DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS({alias}.join_date)), '%Y')+0 in ("
                        + joinDateList.toString() + ")", listJoinDate.toArray(), typeJoinDate));

    }
    if (listAge.get(0) != 0) {
        Criteria criteriaBiodata = criteria.createCriteria("bioData", JoinType.LEFT_OUTER_JOIN);
        //            criteria.createCriteria("bioData", JoinType.LEFT_OUTER_JOIN);
        criteriaBiodata.add(Restrictions.sqlRestriction(
                "DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS({alias}.date_of_birth)), '%Y')+0 in ("
                        + ageList.toString() + ")",
                listAge.toArray(), typeAge));
    }

    if (!listNik.isEmpty()) {
        criteria.add(Restrictions.in("nik", listNik));
    }

    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalDataByEmployeeTypeOrGolonganJabatanOrUnitKerja(List<Long> empTypeId, List<Long> golJabId,
        List<Long> unitKerjaId) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**/* ww  w  .j a  va 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.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));

    criteria.createAlias("jabatanByJabatanId.unitKerja", "unitKerja", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("jabatanByJabatanId.golonganJabatan", "goljab", JoinType.LEFT_OUTER_JOIN);
    //        criteria.createAlias("department.company", "company", JoinType.LEFT_OUTER_JOIN);
    criteria.createAlias("employeeType", "employeeType", JoinType.LEFT_OUTER_JOIN);
    if (!empTypeId.isEmpty()) {
        criteria.add(Restrictions.in("employeeType.id", empTypeId));
    }
    if (!golJabId.isEmpty()) {
        criteria.add(Restrictions.in("goljab.id", golJabId));
    }
    if (!unitKerjaId.isEmpty()) {
        criteria.add(Restrictions.in("unitKerja.id", unitKerjaId));
    }

    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalKaryawanByJabatanId(Long companyId, Long jabatanId) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    /**/*from   www .ja v a2 s  .c  o  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, companyId);
    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));

    criteria.add(Restrictions.eq("jabatanByJabatanId.id", jabatanId));
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalKaryawanByJabatanId(Long jabatanId) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());

    criteria.add(Restrictions.not(Restrictions.eq("status", HRMConstant.EMP_TERMINATION)));
    criteria.add(Restrictions.eq("jabatanByJabatanId.id", jabatanId));

    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}

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

@Override
public Long getTotalEmpDataByParam(String nikOrNameSearchParameter) {
    Criteria criteria = getCurrentSession().createCriteria(getEntityClass());
    doSearchEmpDataByParam(nikOrNameSearchParameter, criteria);
    return (Long) criteria.setProjection(Projections.rowCount()).uniqueResult();
}