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,
|
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai,
|
||||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
@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) "
|
@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 "
|
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja " + "inner join mjp.pegawai pgb "
|
||||||
+ "inner join mjp.atasanLangsung pg " + "inner join mja.jabatan jb "
|
+ "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,
|
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai,
|
||||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
@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) "
|
@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 "
|
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn " + "inner join mjp.pegawai pgb "
|
||||||
+ "inner join mjp.pejabatPenilai pg " + "inner join mjn.jabatan jb "
|
+ "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,
|
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai,
|
||||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
@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) "
|
@Query("select new Map(lk.noRec as noRec,lk.pegawaiId as pegawaiId) "
|
||||||
+ "from LogbookKinerja lk where lk.indikatorKinerjaId = :indikatorId " + "and lk.jabatanId = :jabatanId "
|
+ "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') "
|
+ "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)")
|
@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);
|
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) "
|
@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 "
|
+ "pg.jenisPegawaiId as jenisPegawaiId) " + "from Pegawai pg " + "where pg.statusEnabled is true "
|
||||||
+ "and pg.kategoryPegawaiId in (:listKategoryPegawaiId) " + "order by pg.namaLengkap")
|
+ "and pg.kategoryPegawaiId in (:listKategoryPegawaiId) " + "order by pg.namaLengkap")
|
||||||
public List<Map<String, Object>> findPegawaiByListKategori(
|
public List<Map<String, Object>> findPegawaiByListKategori(
|
||||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
@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)
|
public Map<String, Object> findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
|
||||||
throws JpaSystemException;
|
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);
|
public List<Map<String, Object>> findLogbookJamKerjaDokter(Integer idPegawai, Long bulan);
|
||||||
|
|
||||||
|
|||||||
@ -789,9 +789,13 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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>> result = new ArrayList<>();
|
||||||
List<Map<String, Object>> rsAll = 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> listPurnaWaktu = Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU);
|
||||||
|
|
||||||
List<Integer> listIdSDM = pegawaiDao.getPegawaiSDMforCred(Master.UnitKerja.BAG_SDM,
|
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);
|
if (CommonUtil.isNotNullOrEmpty(listIdKelompokJabatan)) {
|
||||||
List<Map<String, Object>> aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, listPurnaWaktu);
|
aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai, listPurnaWaktu, listIdKelompokJabatan);
|
||||||
List<Map<String, Object>> aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai,
|
aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, listPurnaWaktu,
|
||||||
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)) {
|
if (CommonUtil.isNotNullOrEmpty(aksesByStaf) && CommonUtil.isNullOrEmpty(rsAll)) {
|
||||||
for (Map<String, Object> map : aksesByStaf) {
|
for (Map<String, Object> map : aksesByStaf) {
|
||||||
map.put("isGranted", false);
|
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.isNotNullOrEmpty(aksesByAtasan)) {
|
||||||
if (CommonUtil.isNullOrEmpty(rsAll)) {
|
if (CommonUtil.isNullOrEmpty(rsAll)) {
|
||||||
for (Map<String, Object> map : aksesByAtasan) {
|
for (Map<String, Object> map : aksesByAtasan) {
|
||||||
map.put("isGranted", true);
|
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 {
|
} else {
|
||||||
for (Map<String, Object> res : result) {
|
for (Map<String, Object> res : result) {
|
||||||
for (Map<String, Object> map : aksesByAtasan) {
|
for (Map<String, Object> map : aksesByAtasan) {
|
||||||
@ -835,8 +853,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
|||||||
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai) && CommonUtil.isNullOrEmpty(rsAll)) {
|
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai) && CommonUtil.isNullOrEmpty(rsAll)) {
|
||||||
for (Map<String, Object> map : aksesByPenilai) {
|
for (Map<String, Object> map : aksesByPenilai) {
|
||||||
map.put("isGranted", false);
|
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)) {
|
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||||
|
|||||||
@ -830,9 +830,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
|||||||
|
|
||||||
@RequestMapping(value = "/get-pegawai-akses-kinerja", method = RequestMethod.GET)
|
@RequestMapping(value = "/get-pegawai-akses-kinerja", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<Map<String, Object>>> getPegawaiAksesKinerja(HttpServletRequest request,
|
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 {
|
try {
|
||||||
List<Map<String, Object>> result = logbookKinerjaService.findAksesPegawai(idPegawai);
|
List<Map<String, Object>> result = logbookKinerjaService.findAksesPegawai(idPegawai, listIdKelompokJabatan);
|
||||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user