Update LogbookKinerjaService
Penyesuaian daftar pegawai akses kinerja dengan kelompok jabatan. Perbaikan duplikat data daftar pegawai akses kinerja.
This commit is contained in:
parent
48cd7fcf22
commit
1e90388c71
@ -98,6 +98,16 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
|
||||
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap," + "pg.tglMasuk as tglMasuk,"
|
||||
+ "pg.jenisPegawaiId as jenisPegawaiId) " + "from MapPegawaiJabatanToUnitKerja mj "
|
||||
+ "inner join mj.pegawai pg " + "inner join mj.jabatan jb " + "where mj.statusEnabled is true "
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId "
|
||||
+ "and pg.kategoryPegawaiId in (:listKategoryPegawaiId) "
|
||||
+ "and jb.kelompokJabatanId in (:listKelompokJabatabId)")
|
||||
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai,
|
||||
@Param("listKelompokJabatabId") List<Integer> listIdKelompokJabatan);
|
||||
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap,pgb.tglMasuk as tglMasuk) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja " + "inner join mjp.pegawai pgb "
|
||||
+ "inner join mjp.atasanLangsung pg " + "inner join mja.jabatan jb "
|
||||
@ -108,6 +118,19 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
|
||||
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap," + "pgb.tglMasuk as tglMasuk,"
|
||||
+ "pgb.jenisPegawaiId as jenisPegawaiId) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja " + "inner join mjp.pegawai pgb "
|
||||
+ "inner join mjp.atasanLangsung pg " + "inner join mjp.jabatan jb "
|
||||
+ "where mjp.atasanLangsungId = mja.pegawaiId " + "and mja.pegawaiId = pg.id "
|
||||
+ "and mjp.statusEnabled is true " + "and mja.statusEnabled is true " + "and pgb.statusEnabled is true "
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId "
|
||||
+ "and pgb.kategoryPegawaiId in (:listKategoryPegawaiId) "
|
||||
+ "and jb.kelompokJabatanId in (:listKelompokJabatabId)")
|
||||
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai,
|
||||
@Param("listKelompokJabatabId") List<Integer> listIdKelompokJabatan);
|
||||
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap,pgb.tglMasuk as tglMasuk) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn " + "inner join mjp.pegawai pgb "
|
||||
+ "inner join mjp.pejabatPenilai pg " + "inner join mjn.jabatan jb "
|
||||
@ -118,6 +141,19 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
|
||||
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap," + "pgb.tglMasuk as tglMasuk,"
|
||||
+ "pgb.jenisPegawaiId as jenisPegawaiId) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn " + "inner join mjp.pegawai pgb "
|
||||
+ "inner join mjp.pejabatPenilai pg " + "inner join mjp.jabatan jb "
|
||||
+ "where mjp.pejabatPenilaiId = mjn.pegawaiId " + "and mjn.pegawaiId = pg.id "
|
||||
+ "and mjp.statusEnabled is true " + "and mjn.statusEnabled is true " + "and pgb.statusEnabled is true "
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId "
|
||||
+ "and pgb.kategoryPegawaiId in (:listKategoryPegawaiId) "
|
||||
+ "and jb.kelompokJabatanId in (:listKelompokJabatabId)")
|
||||
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai,
|
||||
@Param("listKelompokJabatabId") List<Integer> listIdKelompokJabatan);
|
||||
|
||||
@Query("select new Map(lk.noRec as noRec,lk.pegawaiId as pegawaiId) "
|
||||
+ "from LogbookKinerja lk where lk.indikatorKinerjaId = :indikatorId " + "and lk.jabatanId = :jabatanId "
|
||||
+ "and lk.statusEnabled is true " + "and to_char(lk.bulan,'yyyy-MM') >= to_char(now(),'yyyy-MM') "
|
||||
|
||||
@ -1062,8 +1062,8 @@ public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, Integer>
|
||||
@Query("select new Map(pg.id as id,pg.shiftKerjaId as shiftKerjaId) from Pegawai pg where pg.statusEnabled is true and pg.id in (:listIdPegawai)")
|
||||
public List<Map<String, Object>> getListKelompokShiftKerja(@Param("listIdPegawai") List<Integer> listIdPegawai);
|
||||
|
||||
@Query("select distinct new Map (pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) "
|
||||
+ "from Pegawai pg " + "where pg.statusEnabled is true "
|
||||
@Query("select distinct new Map (pg.id as id,pg.namaLengkap as namaLengkap," + "pg.tglMasuk as tglMasuk,"
|
||||
+ "pg.jenisPegawaiId as jenisPegawaiId) " + "from Pegawai pg " + "where pg.statusEnabled is true "
|
||||
+ "and pg.kategoryPegawaiId in (:listKategoryPegawaiId) " + "order by pg.namaLengkap")
|
||||
public List<Map<String, Object>> findPegawaiByListKategori(
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@ -36,7 +36,7 @@ public interface LogbookKinerjaService extends BaseVoService<LogbookKinerja, Log
|
||||
public Map<String, Object> findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
|
||||
throws JpaSystemException;
|
||||
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai);
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai, List<Integer> listIdKelompokJabatan);
|
||||
|
||||
public List<Map<String, Object>> findLogbookJamKerjaDokter(Integer idPegawai, Long bulan);
|
||||
|
||||
|
||||
@ -789,9 +789,13 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) {
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai, List<Integer> listIdKelompokJabatan) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> rsAll = new ArrayList<>();
|
||||
List<Map<String, Object>> aksesByStaf = new ArrayList<>();
|
||||
List<Map<String, Object>> aksesByAtasan = new ArrayList<>();
|
||||
List<Map<String, Object>> aksesByPenilai = new ArrayList<>();
|
||||
|
||||
List<Integer> listPurnaWaktu = Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU);
|
||||
|
||||
List<Integer> listIdSDM = pegawaiDao.getPegawaiSDMforCred(Master.UnitKerja.BAG_SDM,
|
||||
@ -804,23 +808,37 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, Object>> aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai, listPurnaWaktu);
|
||||
List<Map<String, Object>> aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, listPurnaWaktu);
|
||||
List<Map<String, Object>> aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai,
|
||||
listPurnaWaktu);
|
||||
if (CommonUtil.isNotNullOrEmpty(listIdKelompokJabatan)) {
|
||||
aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai, listPurnaWaktu, listIdKelompokJabatan);
|
||||
aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, listPurnaWaktu,
|
||||
listIdKelompokJabatan);
|
||||
aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai, listPurnaWaktu,
|
||||
listIdKelompokJabatan);
|
||||
} else {
|
||||
aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai, listPurnaWaktu);
|
||||
aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, listPurnaWaktu);
|
||||
aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai, listPurnaWaktu);
|
||||
}
|
||||
|
||||
List<Integer> listIdPegawai = new ArrayList<>();
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByStaf) && CommonUtil.isNullOrEmpty(rsAll)) {
|
||||
for (Map<String, Object> map : aksesByStaf) {
|
||||
map.put("isGranted", false);
|
||||
if (!listIdPegawai.contains(map.get("id"))) {
|
||||
listIdPegawai.add(Integer.parseInt(map.get("id").toString()));
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
result.addAll(aksesByStaf);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByAtasan)) {
|
||||
if (CommonUtil.isNullOrEmpty(rsAll)) {
|
||||
for (Map<String, Object> map : aksesByAtasan) {
|
||||
map.put("isGranted", true);
|
||||
if (!listIdPegawai.contains(map.get("id"))) {
|
||||
listIdPegawai.add(Integer.parseInt(map.get("id").toString()));
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
result.addAll(aksesByAtasan);
|
||||
} else {
|
||||
for (Map<String, Object> res : result) {
|
||||
for (Map<String, Object> map : aksesByAtasan) {
|
||||
@ -835,8 +853,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai) && CommonUtil.isNullOrEmpty(rsAll)) {
|
||||
for (Map<String, Object> map : aksesByPenilai) {
|
||||
map.put("isGranted", false);
|
||||
if (!listIdPegawai.contains(map.get("id"))) {
|
||||
listIdPegawai.add(Integer.parseInt(map.get("id").toString()));
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
result.addAll(aksesByPenilai);
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
|
||||
@ -830,9 +830,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
|
||||
@RequestMapping(value = "/get-pegawai-akses-kinerja", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getPegawaiAksesKinerja(HttpServletRequest request,
|
||||
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
|
||||
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai,
|
||||
@RequestParam(value = "listKelompokJabatanId", required = false) List<Integer> listIdKelompokJabatan)
|
||||
throws ParseException {
|
||||
try {
|
||||
List<Map<String, Object>> result = logbookKinerjaService.findAksesPegawai(idPegawai);
|
||||
List<Map<String, Object>> result = logbookKinerjaService.findAksesPegawai(idPegawai, listIdKelompokJabatan);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user