List of usage examples for org.hibernate.transform Transformers aliasToBean
public static ResultTransformer aliasToBean(Class target)
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@Override public List<ReportEmpPensionPreparationModel> getReportPensionPreparementByParam(List<Long> listDepartmentId, List<Long> listEmpTypeId, List<Integer> listEmpAges, int firstResult, int maxResults, Order order) { final StringBuilder query = new StringBuilder( "SELECT empData.NIK AS nik, bioData.first_name AS firstName, bioData.last_name AS lastName, " + " empData.join_date AS tglMulaiBekerja, golonganJabatan.code AS golJabatan, bioData.date_of_birth AS tglLahir, " + " umur(bioData.date_of_birth , NOW()) AS usiaKaryawan, " + " jabatan.name AS jabatan, department.department_name AS departmentName, department.id AS departmentId, " + " employeeType.id AS empTypeId , employeeType.name AS statusKaryawan FROM emp_data empData " + " INNER JOIN golongan_jabatan golonganJabatan ON empData.gol_jab_id = golonganJabatan.id " + " INNER JOIN bio_data bioData ON empData.bio_data_id = bioData.id " + " INNER JOIN jabatan jabatan ON empData.jabatan_id = jabatan.id " + " INNER JOIN department department ON jabatan.departement_id = department.id " + " INNER JOIN company company ON company.id = department.company_id " + " INNER JOIN employee_type employeeType ON empData.emp_type_id = employeeType.id "); //Flag Untuk penanda apakah ada filter atau tidak //boolean isFiltered = !listDepartmentId.isEmpty() || !listEmpTypeId.isEmpty() || !listEmpAges.isEmpty(); //Flag untuk penanda jika filter lebih dari satu //boolean multipleFilter = Boolean.FALSE; //if (isFiltered) { query.append(" WHERE company.id = " + HrmUserInfoUtil.getCompanyId() + " "); //}/* w w w .j a va 2 s . co m*/ if (!listDepartmentId.isEmpty()) { query.append(" jabatan.departement_id IN( "); int size = listDepartmentId.size(); //karena pakai native query, isi List harus di parsing satu per satu for (int i = 0; i < size; i++) { if (i < (size - 1)) { query.append(String.valueOf(listDepartmentId.get(i))); query.append(" , "); } else { query.append(String.valueOf(listDepartmentId.get(i))); } } query.append(") "); //multipleFilter = Boolean.TRUE; } if (!listEmpTypeId.isEmpty()) { //if (multipleFilter) { query.append("AND empData.emp_type_id IN( "); /*} else { query.append(" e.emp_type_id IN( "); multipleFilter = Boolean.TRUE; }*/ //karena pakai native query, isi List harus di parsing satu per satu int size = listEmpTypeId.size(); for (int i = 0; i < size; i++) { if (i < (size - 1)) { query.append(String.valueOf(listEmpTypeId.get(i))); query.append(" , "); } else { query.append(String.valueOf(listEmpTypeId.get(i))); } } query.append(") "); } if (!listEmpAges.isEmpty()) { //if (multipleFilter) { query.append(" AND umur(bioData.date_of_birth , NOW()) IN( "); /*} else { query.append("umur(b.date_of_birth , NOW()) IN( "); }*/ //karena pakai native query, isi List harus di parsing satu per satu int size = listEmpAges.size(); for (int i = 0; i < size; i++) { if (i < (size - 1)) { query.append(String.valueOf(listEmpAges.get(i))); query.append(" , "); } else { query.append(String.valueOf(listEmpAges.get(i))); } } query.append(") "); } query.append(" ORDER BY "); if (StringUtils.equals("nik", order.getPropertyName())) { query.append("empData.nik "); } else if (StringUtils.equals("firstName", order.getPropertyName())) { query.append("bioData.first_name "); } else if (StringUtils.equals("tglMulaiBekerja", order.getPropertyName())) { query.append("empData.join_date "); } else if (StringUtils.equals("golJabatan", order.getPropertyName())) { query.append("golonganJabatan.code "); } else if (StringUtils.equals("jabatan", order.getPropertyName())) { query.append("jabatan.name "); } else if (StringUtils.equals("usiaKaryawan", order.getPropertyName())) { query.append("umur(bioData.date_of_birth , NOW()) "); } query.append(order.isAscending() ? " ASC " : " DESC "); //Limit query based on paging parameter query.append("LIMIT ").append(firstResult).append(",").append(maxResults).append(" "); return getCurrentSession().createSQLQuery(query.toString()) .setResultTransformer(Transformers.aliasToBean(ReportEmpPensionPreparationModel.class)).list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@Override public List<SearchEmployeeCandidateViewModel> getAllDataEmpCandidateByParamWithDetail( SearchEmployeeCandidateParameter searchEmployeeCandidateParameter) { String listEducationId = Lambda.join(searchEmployeeCandidateParameter.getListEducationlevelId(), "','"); StringBuffer selectQuery = new StringBuffer(" SELECT empData.id AS empDataId, empData.nik AS nik, " + " bioData.first_name AS firstName, bioData.last_name AS lastName, " + " jabatan.id AS idJabatan, jabatan.name AS jabatanName, " + " ( SELECT educationLevelInner.id FROM bio_education_history bioEduInner " + " INNER JOIN education_level educationLevelInner ON bioEduInner.pendidikan_level_id = educationLevelInner.id " + " INNER JOIN bio_data bioDataInner ON bioEduInner.biodata_id = bioDataInner.id " + " WHERE bioDataInner.id = bioData.id " + " AND educationLevelInner.id IN ('" + listEducationId + "') " + " AND bioEduInner.score > " + searchEmployeeCandidateParameter.getGpa() + " LIMIT 1 " + " ) AS lastEducationLevelId, " + " religion.id AS idReligion, religion.name AS religionName " + " FROM emp_data empData " + " INNER JOIN jabatan jabatan ON empData.jabatan_id = jabatan.id " + " INNER JOIN department department ON jabatan.departement_id = department.id " + " INNER JOIN company company ON department.company_id = company.id " + " LEFT OUTER JOIN bio_data bioData ON empData.bio_data_id = bioData.id " + " INNER JOIN religion religion ON bioData.agama_id = religion.id " + " WHERE company.id = '" + HrmUserInfoUtil.getCompanyId() + "' "); selectQuery.append(setQueryParamForEmpCandidateSearchQuery(searchEmployeeCandidateParameter)); Query hbm = getCurrentSession().createSQLQuery(selectQuery.toString()); return hbm.setResultTransformer(Transformers.aliasToBean(SearchEmployeeCandidateViewModel.class)).list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@SuppressWarnings("unchecked") @Override/*from w w w .j av a2 s . c o m*/ public List<DepAttendanceRealizationViewModel> getListDepAttendanceByDepartmentIdAndRangeDate(Long departmentId, Date dateFrom, Date dateUntill) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); StringBuilder query = new StringBuilder(" SELECT jabatan.departement_id AS departmentId, " + " WEEK(tempJadwalKaryawan.tanggal_waktu_kerja) AS weekNumber," + " COUNT(tempJadwalKaryawan.working_our_id) as attendanceSchedule ," + " COUNT(tempProcessReadFinger.working_hour_id) as attendanceReal," + " (COUNT(tempProcessReadFinger.working_hour_id) / COUNT(tempJadwalKaryawan.working_our_id)) as attendancePercentage" + " FROM temp_jadwal_karyawan tempJadwalKaryawan" + " LEFT JOIN temp_process_read_finger tempProcessReadFinger ON tempProcessReadFinger.emp_data_id = tempJadwalKaryawan.emp_id" + " AND tempProcessReadFinger.schedule_date = tempJadwalKaryawan.tanggal_waktu_kerja" + " INNER JOIN emp_data empData ON tempJadwalKaryawan.emp_id = empData.id" + " INNER JOIN jabatan jabatan ON empData.jabatan_id = jabatan.id" + " INNER JOIN wt_working_hour wtWorkingHour ON tempJadwalKaryawan.working_our_id = wtWorkingHour.id" + " WHERE tempJadwalKaryawan.tanggal_waktu_kerja BETWEEN '" + dateFormat.format(dateFrom) + "' AND '" + dateFormat.format(dateUntill) + "' " + " AND wtWorkingHour.code <> 'OFF'" + " AND jabatan.departement_id = " + departmentId + " AND empData.status <> '" + HRMConstant.EMP_TERMINATION + "' " + " GROUP BY WEEK(tempJadwalKaryawan.tanggal_waktu_kerja) , jabatan.departement_id ; "); return getCurrentSession().createSQLQuery(query.toString()) .setResultTransformer(Transformers.aliasToBean(DepAttendanceRealizationViewModel.class)).list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
@Override public List<DepAttendanceRealizationViewModel> getListDepAttendanceByListRangeDepIdAndRangeDate( String rangeDepId, Date dateFrom, Date dateUntill) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); StringBuilder query = new StringBuilder(" SELECT jabatan.departement_id AS departmentId, " + " WEEK(tempJadwalKaryawan.tanggal_waktu_kerja) AS weekNumber," + " COUNT(tempJadwalKaryawan.working_our_id) as attendanceSchedule ," + " COUNT(tempProcessReadFinger.finger_in) as attendanceReal," + " (COUNT(tempProcessReadFinger.finger_in) / COUNT(tempJadwalKaryawan.working_our_id)) as attendancePercentage" + " FROM temp_jadwal_karyawan tempJadwalKaryawan" + " LEFT JOIN temp_process_read_finger tempProcessReadFinger ON tempProcessReadFinger.emp_data_id = tempJadwalKaryawan.emp_id" + " AND tempProcessReadFinger.schedule_date = tempJadwalKaryawan.tanggal_waktu_kerja" + " INNER JOIN emp_data empData ON tempJadwalKaryawan.emp_id = empData.id" + " INNER JOIN jabatan jabatan ON empData.jabatan_id = jabatan.id" + " INNER JOIN department department ON jabatan.departement_id = department.id" + " INNER JOIN wt_working_hour wtWorkingHour ON tempJadwalKaryawan.working_our_id = wtWorkingHour.id" + " WHERE tempJadwalKaryawan.tanggal_waktu_kerja BETWEEN '" + dateFormat.format(dateFrom) + "' AND '" + dateFormat.format(dateUntill) + "' " + " AND wtWorkingHour.code <> 'OFF'" + " AND department.id in(" + rangeDepId + " )" + " AND empData.status <> '" + HRMConstant.EMP_TERMINATION + "' " + " GROUP BY WEEK(tempJadwalKaryawan.tanggal_waktu_kerja) , jabatan.departement_id ; "); return getCurrentSession().createSQLQuery(query.toString()) .setResultTransformer(Transformers.aliasToBean(DepAttendanceRealizationViewModel.class)).list(); }
From source file:com.inkubator.hrm.dao.impl.EmpDataDaoImpl.java
public List<RecruitAgreementNoticeViewModel> getAllEmployeeForRecruitAggrementNoticeWithNativeQuery( RecruitAgreementNoticeSearchParameter searchParameter, int firstResult, int maxResults, Order orderable) {/*from w w w. j a v a 2 s. co m*/ final StringBuilder query = new StringBuilder( "SELECT emp.id as employeeId, bio.id as bioDataId, bio.first_name as firstName, bio.last_name as lastName, jabatan.name as jabatanName, pangkat.pangkat_name as pangkatName, bio.date_of_birth as birthOfDate,"); query.append(" (SELECT pangkat2.pangkat_name FROM pangkat pangkat2"); query.append(" WHERE pangkat2.level < pangkat.level ORDER BY LEVEL DESC LIMIT 1) as jabatanDituju,"); query.append(" pangkat.level,"); query.append(" (SELECT el.name FROM education_level el "); query.append(" INNER JOIN bio_education_history beh ON el.id = beh.pendidikan_level_id"); query.append(" INNER JOIN bio_data bio2 ON bio2.id = beh.biodata_id"); query.append(" WHERE beh.biodata_id = bio.id ORDER by el.name DESC LIMIT 1 ) as lastEducationLevel"); query.append(" FROM bio_data bio "); query.append(" LEFT JOIN emp_data emp ON bio.id = emp.bio_data_id"); /* query.append(" INNER JOIN bio_education_history beh ON beh.biodata_id = bio.id"); query.append(" INNER JOIN education_level el ON el.id = beh.pendidikan_level_id");*/ query.append(" LEFT JOIN jabatan jabatan ON emp.jabatan_id = jabatan.id"); query.append(" LEFT JOIN golongan_jabatan goljab ON goljab.id = emp.gol_jab_id"); query.append(" LEFT JOIN pangkat pangkat ON goljab.pangkat_id = pangkat.id"); //query for action searching doSearchEmployeeForRecruitAgreementNoticeWithNativeQuery(searchParameter, query); //order query base on orderable query.append(" ORDER BY "); if (StringUtils.equals("firstName", orderable.getPropertyName())) { query.append("firstName "); } else if (StringUtils.equals("jabatanName", orderable.getPropertyName())) { query.append("jabatanName "); } else if (StringUtils.equals("jabatanDituju", orderable.getPropertyName())) { query.append("jabatanDituju "); } else if (StringUtils.equals("lastEducationLevel", orderable.getPropertyName())) { query.append("lastEducationLevel "); } else if (StringUtils.equals("birthOfDate", orderable.getPropertyName())) { query.append("birthOfDate "); } query.append(orderable.isAscending() ? " ASC " : " DESC "); //Limit query based on paging parameter query.append(" LIMIT ").append(firstResult).append(",").append(maxResults).append(" "); return getCurrentSession().createSQLQuery(query.toString()) .setResultTransformer(Transformers.aliasToBean(RecruitAgreementNoticeViewModel.class)).list(); }
From source file:com.inkubator.hrm.dao.impl.JabatanDaoImpl.java
@Override public List<KompetensiJabatanViewModel> getByParamForKompetensiJabatan( KompetensiJabatanSearchParameter searchParameter, int firstResult, int maxResults, Order order) { final StringBuilder query = new StringBuilder("SELECT jabatan.code AS jabatanCode,"); query.append(" jabatan.id AS id,"); query.append(" jabatan.name AS jabatanName,"); query.append(" golonganJabatan.code AS golonganJabatanCode "); query.append(" FROM Jabatan jabatan "); query.append(" INNER JOIN jabatan.golonganJabatan golonganJabatan "); //filter by search param query.append(doSearchByParamForKompetensiJabatan(searchParameter)); query.append(" ORDER BY " + order); Query hbm = getCurrentSession().createQuery(query.toString()); hbm = this.setValueQueryKompetensiJabatanViewModelByParam(hbm, searchParameter); return hbm.setMaxResults(maxResults).setFirstResult(firstResult) .setResultTransformer(Transformers.aliasToBean(KompetensiJabatanViewModel.class)).list(); }
From source file:com.inkubator.hrm.dao.impl.JabatanDaoImpl.java
@Override public List<PerformanceIndicatorJabatanViewModel> getByParamForPerformanceIndicatorJabatan( PerformanceIndicatorJabatanSearchParameter searchParameter, int firstResult, int maxResults, Order order) {//from w ww .jav a 2s.com StringBuffer selectQuery = new StringBuffer("SELECT jabatan.id AS jabatanId, " + "jabatan.code AS jabatanCode, " + "jabatan.name AS jabatanName, " + "CONCAT(golonganJabatan.code,' - ',pangkat.pangkatName) AS golonganJabatan, " + "SUM(CASE WHEN emp IS NULL THEN 0 ELSE 1 END) AS totalEmployee " + "FROM Jabatan AS jabatan " + "JOIN jabatan.golonganJabatan AS golonganJabatan " + "JOIN golonganJabatan.pangkat AS pangkat " + "LEFT JOIN jabatan.empByJabatans AS emp "); selectQuery.append(this.getWhereQueryByParamForPerformanceIndicatorJabatan(searchParameter)); selectQuery.append("GROUP BY jabatan.id "); selectQuery.append("ORDER BY " + order); Query hbm = getCurrentSession().createQuery(selectQuery.toString()).setMaxResults(maxResults) .setFirstResult(firstResult) .setResultTransformer(Transformers.aliasToBean(PerformanceIndicatorJabatanViewModel.class)); hbm = this.setValueQueryByParamForPerformanceIndicatorJabatan(hbm, searchParameter); return hbm.list(); }
From source file:com.inkubator.hrm.dao.impl.LoanNewApplicationDaoImpl.java
@Override public List<LoanNewApplicationBoxViewModel> getUndisbursedActivityByParam( LoanNewApplicationBoxSearchParameter parameter, int firstResult, int maxResults, Order orderable) { StringBuffer selectQuery = new StringBuffer("SELECT approvalActivity.id AS approvalActivityId, " + "approvalActivity.activity_number AS activityNumber, " + "loanApplication.id AS loanNewApplicationId, " + "empData.nik AS empNik, " + "CONCAT(bioData.first_name,' ',bioData.last_name) AS empName, " + "empDataApprover.nik AS approverNik, " + "CONCAT(bioDataApprover.first_name,' ',bioDataApprover.last_name) AS approverName, " + "loanType.id AS loanNewTypeId, " + "loanType.loan_type_name AS loanNewTypeName, " + "approvalActivity.approval_status AS approvalStatus, " + "approvalActivity.pending_data AS jsonData " + "FROM approval_activity approvalActivity " + "INNER JOIN approval_definition AS approvalDefinition ON approvalDefinition.id = approvalActivity.approval_def_id " + "INNER JOIN hrm_user AS approver ON approver.user_id = approvalActivity.approved_by " + "INNER JOIN hrm_user AS requester ON requester.user_id = approvalActivity.request_by " + "INNER JOIN emp_data AS empData ON requester.emp_data_id = empData.id " + "INNER JOIN jabatan AS jabatan ON empData.jabatan_id = jabatan.id " + "INNER JOIN department AS department ON jabatan.departement_id = department.id " + "INNER JOIN company AS company ON department.company_id = company.id " + "INNER JOIN bio_data AS bioData ON empData.bio_data_id = bioData.id " + "INNER JOIN emp_data AS empDataApprover ON approver.emp_data_id = empDataApprover.id " + "INNER JOIN bio_data AS bioDataApprover ON empDataApprover.bio_data_id = bioDataApprover.id " + "INNER JOIN loan_new_type AS loanType ON approvalActivity.type_specific = loanType.id " + "LEFT JOIN loan_new_application AS loanApplication ON approvalActivity.activity_number = loanApplication.approval_activity_number " + "WHERE (approvalActivity.activity_number,approvalActivity.sequence) IN (SELECT app.activity_number,max(app.sequence) FROM approval_activity app GROUP BY app.activity_number) " + "AND approvalDefinition.name = :appDefinitionName" + " AND company.id = :companyId "); selectQuery.append(this.setWhereQueryUndisbursedActivityByParam(parameter)); selectQuery.append("GROUP BY approvalActivity.activity_number "); selectQuery.append("ORDER BY ").append(orderable); Query hbm = getCurrentSession().createSQLQuery(selectQuery.toString()).setMaxResults(maxResults) .setFirstResult(firstResult) .setResultTransformer(Transformers.aliasToBean(LoanNewApplicationBoxViewModel.class)); hbm = this.setValueQueryUndisbursedActivityByParam(hbm, parameter); return hbm.list(); }
From source file:com.inkubator.hrm.dao.impl.LoanNewApplicationDaoImpl.java
@Override public List<LoanHistoryViewModel> getListLoanHistoryByEmpDataId(Long empDataId) { StringBuffer selectQuery = new StringBuffer(" SELECT loanNewApplication.id AS loanNewApplicationId, " + " loanNewApplication.applicationDate AS tglPengajuan, " + " loanNewApplication.loanStatus AS loanStatus, " + " loanNewType.id AS loanNewTypeId, " + " loanNewType.loanTypeName AS loanNewTypeName, " + " loanNewApplication.nominalPrincipal AS loanNominal, " + " loanNewApplication.termin AS totalNumberOfInstallment, " + " loanNewType.interestMethod AS typeOfInterest, " + " loanNewType.interest AS loanInterestRate, " + " loanNewApplication.dibursementDate AS loanPaymentDate, " + " loanNewApplication.bufferTime AS buffer " + " FROM LoanNewApplication loanNewApplication " + " INNER JOIN loanNewApplication.empData empData " + " INNER JOIN loanNewApplication.loanNewType loanNewType " + " INNER JOIN loanNewApplication.loanNewSchema loanNewSchema " + " WHERE empData.id = :empDataId "); Query hbm = getCurrentSession().createQuery(selectQuery.toString()).setParameter("empDataId", empDataId) .setResultTransformer(Transformers.aliasToBean(LoanHistoryViewModel.class)); return hbm.list(); }
From source file:com.inkubator.hrm.dao.impl.LoanNewApplicationDaoImpl.java
@Override public List<LoanNewApplicationStatusViewModel> getAllDataLoanNewApplicationStatus( LoanStatusSearchParameter parameter, int firstResult, int maxResults, Order orderable) { StringBuffer selectQuery = new StringBuffer(" SELECT loanNewApplication.id AS id," + " bioData.first_name AS firstName, " + " bioData.last_name AS lastName," + " loanNewSchema.loan_schema_name AS loanSchemaName, " + " loanNewApplication.nominal_principal AS nominalPrincipal," + " approvalDefinition.name AS approvalName, " + " loanNewApplication.dibursement_date AS dibursmentDate, " + " loanNewApplication.purpose_note AS purposeNote, " + " loanNewApplication.loan_status AS loanStatus, " + " loanNewApplication.termin AS totalTermin, " + " (SELECT MAX(loanNewApplicationInstallment.num_of_installment) " + " FROM loan_new_application_installment loanNewApplicationInstallment " + " WHERE loanNewApplicationInstallment.installment_date < now() " + " AND loanNewApplicationInstallment.loan_new_application_id = loanNewApplication.id)" + " AS termin, " + " approvalActivity.pending_data AS jsonData," + " loanNewApplication.approval_activity_number AS approvalActivityNumber, " + " approvalActivity.approval_status AS approvalStatus," + " approvalActivity.activity_number AS activityNumber " + " FROM hrm.approval_activity approvalActivity " + " LEFT JOIN approval_definition AS approvalDefinition ON approvalDefinition.id = approvalActivity.approval_def_id " + " LEFT JOIN hrm_user AS requester ON requester.user_id = approvalActivity.request_by " + " LEFT JOIN emp_data AS empData ON requester.emp_data_id = empData.id " + " INNER JOIN golongan_jabatan AS golonganJabatan ON empData.gol_jab_id = golonganJabatan.id " + " INNER JOIN jabatan AS jabatan ON empData.jabatan_id = jabatan.id " + " INNER JOIN department AS department ON jabatan.departement_id = department.id " + " INNER JOIN company AS company ON department.company_id = company.id " + " LEFT JOIN bio_data AS bioData ON empData.bio_data_id = bioData.id " + " LEFT JOIN loan_new_application AS loanNewApplication ON approvalActivity.activity_number = loanNewApplication.approval_activity_number " + " LEFT JOIN loan_new_schema AS loanNewSchema ON loanNewApplication.loan_new_schema = loanNewSchema.id " + " WHERE approvalDefinition.name = '" + HRMConstant.LOAN + "' " + "AND (approvalActivity.activity_number,approvalActivity.sequence) IN (SELECT app.activity_number, MAX(app.sequence)" + " FROM approval_activity app GROUP BY app.activity_number) "); selectQuery.append(this.doSearchLoanNewApplicationStatus(parameter)); selectQuery.append(" ORDER BY " + orderable); Query hbm = getCurrentSession().createSQLQuery(selectQuery.toString()).setMaxResults(maxResults) .setFirstResult(firstResult) .setResultTransformer(Transformers.aliasToBean(LoanNewApplicationStatusViewModel.class)); return hbm.list(); }