From ad60b3b191393f3e96e872ecd7ea6c3e6ffe7b10 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Tue, 20 Apr 2021 17:34:20 +0700 Subject: [PATCH] pembuatan service hak akses atasan melihat kontrak kinerja dan catatan kegiatan harian bawahan rangkap jabatan di bawahnya --- .../dao/MapPegawaiJabatanToUnitKerjaDao.java | 10 +++++++++ .../medifirst2000/service/PegawaiService.java | 6 +++-- .../service/impl/PegawaiServiceImpl.java | 22 ++++++++++++++----- .../controller/PegawaiController.java | 16 ++++++++++++++ 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java index a5935ae4..9f864974 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java @@ -212,6 +212,16 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository> getJabatanInternalStrukturalByPegawai(@Param("idPegawai") Integer idPegawai); + @Query("select distinct new Map(jb.id as id,jb.namaJabatan as namaJabatan,jb.levelJabatan as levelJabatan," + + "mj.unitKerjaPegawaiId as idUnitKerja," + + "mj.atasanLangsungId as atasanId) " + + "from MapPegawaiJabatanToUnitKerja mj " + + "left join mj.jabatan jb " + + "where mj.statusEnabled is true " + + "and jb.statusEnabled is true " + + "and mj.pegawaiId = :idPegawai") + List> findJabLvlUkAtasan(@Param("idPegawai") Integer idPegawai); + @Query("select new Map(jabatan.id as idJabatan,jabatan.namaJabatan as namaJabatan," + "unitKerja.id as idUnitKerja,unitKerja.name as namaUnitKerja," + "subUnitkerja.id as idSubunitKerja,subunitKerja.name as namaSubunitKerja) " diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java index e21af5f4..1d78940c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java @@ -10,7 +10,7 @@ import com.jasamedika.medifirst2000.vo.RegistrasiPegawaiMobileVO; import com.jasamedika.medifirst2000.vo.RekamDataPegawaiVO; public interface PegawaiService extends BaseVoService { - + List getAllDokter(); List getAllDokterByRuanganAndTanggal(String kodeRuangan, Date tanggal); @@ -142,6 +142,8 @@ public interface PegawaiService extends BaseVoService> findJabatanByPegawai(Integer idPegawai); + List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin); + List> findAllPangkatGolongan(); Map findPegawaiDetailById(Integer idPegawai); @@ -167,5 +169,5 @@ public interface PegawaiService extends BaseVoService getEvaluasiJabatanByPegawai(Integer idPegawai); - + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java index 827ea1a1..9e3dcdc3 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java @@ -1797,12 +1797,24 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ @Override public List> findJabatanByPegawai(Integer idPegawai) { - // Map jabatanFungsional = - // pegawaiDao.getJabatanFungsionalByPegawai(idPegawai); - List> jabatan = mapPegawaiJabatanToUnitKerjaDao + List> result = mapPegawaiJabatanToUnitKerjaDao .getJabatanInternalStrukturalByPegawai(idPegawai); - // jabatan.add(jabatanFungsional); - return jabatan; + + return result; + } + + @Override + public List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin) { + List> result = mapPegawaiJabatanToUnitKerjaDao.findJabLvlUkAtasan(idPegawai); + for (Map map : result) { + if (map.get("atasanId").equals(idPegawaiLogin)) { + map.put("isCariAkses", true); + } else { + map.put("isCariAkses", false); + } + } + + return result; } @Override diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java index 377e4af3..aedbd80e 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java @@ -1297,6 +1297,22 @@ public class PegawaiController extends LocaleController implements IB return RestUtil.getJsonResponse(result, HttpStatus.OK); } + @RequestMapping(value = "/jabatan-kontrak-verif-kinerja", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getJabatanKontrakVerifKinerja(HttpServletRequest request, + @RequestParam(value = "pegawaiId") Integer idPegawai, + @RequestParam(value = "pegawaiLoginId") Integer idPegawaiLogin) { + List> result = new ArrayList>(); + try { + result = pegawaiService.findJabatanKontrakVerifKinerja(idPegawai, idPegawaiLogin); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + } catch (Exception e) { + e.printStackTrace(); + } + + return RestUtil.getJsonResponse(result, HttpStatus.OK); + } + @RequestMapping(value = "/get-list-jurusan-by-pendidikan", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> getListJurusanByPendidikan( @RequestParam(value = "pendidikanId") Integer pendidikanId, HttpServletRequest request) {