Update PegawaiDaoCustomImpl.java

Perbaikan service pencarian data pegawai untuk unit kerja tidak memiliki pegawai
This commit is contained in:
salmanoersabhk 2022-08-02 18:52:11 +07:00
parent e2a3779839
commit 05c7df3444

View File

@ -305,6 +305,12 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
public List<Map<String, Object>> findPegawaiCustom(String nama, Integer idUnitKerja, Integer idKedudukan,
List<Integer> listStatusPegawaiId, String periode, List<Integer> listKedudukanException) {
StringBuffer buffer = new StringBuffer();
List<Map<String, Object>> list = new ArrayList<>();
List<Integer> listPegawaiByUnitKerja = pegawaiDao.getPegawaiByIdUnitKerja(idUnitKerja);
if (CommonUtil.isNullOrEmpty(listPegawaiByUnitKerja)) {
return list;
}
buffer.append("select new map (pegawai.id as idPegawai," + "pegawai.nama as nama,"
+ "pegawai.namaLengkap as namaLengkap," + "pegawai.tglLahir as tglLahir,"
@ -346,7 +352,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
+ "shiftKerja.id as idKelompokShiftKerja," + "statusPegawai.statusPegawai as statusPegawai,"
+ "statusKawin.statusPerkawinan as statusKawin,"
+ "statusPerkawinanPegawai.statusPerkawinan as statusPerkawinanPegawai," + "suku.suku as suku,"
+ "typePegawai.typePegawai as typePegawai," + "pegawai.statusEnabled as statusEnabled)"
+ "typePegawai.typePegawai as typePegawai," + "pegawai.statusEnabled as statusEnabled) "
+ "from Pegawai pegawai " + "left join pegawai.detailKategoryPegawai detailKategoryPegawai "
+ "left join pegawai.agama agama " + "left join pegawai.detailKelompokJabatan kelompokJabatan "
+ "left join pegawai.dokumen dokumen " + "left join pegawai.eselon eselon "
@ -384,7 +390,8 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
buffer.append("and lower(pegawai.nama) like lower ('%" + nama + "%') ");
}
if (CommonUtil.isNotNullOrEmpty(idUnitKerja)) {
if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(listPegawaiByUnitKerja)
&& listPegawaiByUnitKerja.size() > 0) {
buffer.append("and pegawai.id in (:listPegawaiByUnitKerja) ");
}
@ -419,8 +426,8 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
query.setParameter("nonSdmKategory", Arrays.asList(Master.KategoryPegawai.NONSDM));
}
if (CommonUtil.isNotNullOrEmpty(idUnitKerja)) {
List<Integer> listPegawaiByUnitKerja = pegawaiDao.getPegawaiByIdUnitKerja(idUnitKerja);
if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(listPegawaiByUnitKerja)
&& listPegawaiByUnitKerja.size() > 0) {
query.setParameter("listPegawaiByUnitKerja", listPegawaiByUnitKerja);
}
@ -438,9 +445,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
query.setParameter("periode", periode);
}
List<Map<String, Object>> list = query.getResultList();
return list;
return query.getResultList();
}
@Override