From 8ba5f58d4ae861f5ecf513c923aac440342a728b Mon Sep 17 00:00:00 2001 From: salmanoersabhk Date: Tue, 28 Jun 2022 14:21:48 +0700 Subject: [PATCH] Update JabatanService Penyesuaian service untuk akses tampilan logbook skor kinerja --- .../medifirst2000/constants/Master.java | 5 +++++ .../medifirst2000/dao/KelompokJabatanDao.java | 9 +++++---- .../medifirst2000/service/JabatanService.java | 2 +- .../service/impl/JabatanServiceImpl.java | 15 +++++++++++---- .../medifirst2000/controller/SdmController.java | 11 +++++------ 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index 869e6557..4d0e885b 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -369,9 +369,14 @@ public class Master { public static final Integer[] SAKIT_ALASAN_PENTING = { 26, 29 }; public static final Integer[] TUGAS_LUAR = { 28 }; } + + public static final class SubKategoriPegawai { + public static final Integer DOKTER_FARMAKOLOGI = 1; + } public static final class SubUnitKerja { public static final Integer KK_ANESTESI = 223; + public static final Integer KK_FARMAKOLOGI = 205; public static final Integer KK_PATOLOGI_ANATOMI = 197; public static final Integer KK_PATOLOGI_KLINIK = 199; public static final Integer KK_RADIOLOGI = 203; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java index 972319bd..d341fcb6 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java @@ -16,9 +16,10 @@ public interface KelompokJabatanDao extends PagingAndSortingRepository> getAllByStatusEnabled(); - @Query("select jb.kelompokJabatanId " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.jabatan jb " - + "where mj.statusEnabled is true " + "and mj.pegawaiId = :pegawaiId " - + "and jb.kelompokJabatanId in (3,4,5,6) " + "order by jb.kelompokJabatanId") - public List findIdByLoginLogbookSkor(@Param("pegawaiId") Integer idPegawai); + @Query("select new Map(jb.kelompokJabatanId as kelompokJabatanId,mj.subUnitKerjaPegawaiId as subunitKerjaId) " + + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.jabatan jb " + "where mj.statusEnabled is true " + + "and mj.pegawaiId = :pegawaiId " + "and jb.kelompokJabatanId in (3,4,5,6) " + + "order by jb.kelompokJabatanId") + public List> findIdByLoginLogbookSkor(@Param("pegawaiId") Integer idPegawai); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java index 9385cfe8..9e1e9e37 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java @@ -39,7 +39,7 @@ public interface JabatanService extends BaseVoService> findJabatanDanBatasNilai(Integer idJenisJabatan, Integer idUnitKerja) throws JpaSystemException; - Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) throws JpaSystemException; + Map findAksesLogbookSkoring(Integer idPegawai) throws JpaSystemException; List> findByUnitKerja(Integer idUnitKerja) throws JpaSystemException; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java index 9078bd90..4d3e4f6e 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java @@ -12,6 +12,8 @@ import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Service; import com.jasamedika.medifirst2000.constants.Master; +import com.jasamedika.medifirst2000.constants.Master.SubKategoriPegawai; +import com.jasamedika.medifirst2000.constants.Master.SubUnitKerja; import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.dao.JabatanDao; import com.jasamedika.medifirst2000.dao.KelompokJabatanDao; @@ -396,12 +398,17 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ } @Override - public Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) throws JpaSystemException { - Integer result = null; + public Map findAksesLogbookSkoring(Integer idPegawai) throws JpaSystemException { + Map result = new HashMap<>(); - List data = kelompokJabatanDao.findIdByLoginLogbookSkor(idPegawai); + List> data = kelompokJabatanDao.findIdByLoginLogbookSkor(idPegawai); if (CommonUtil.isNotNullOrEmpty(data)) { - result = data.get(0); + result.put("kategori", data.get(0).get("kelompokJabatanId")); + if (SubUnitKerja.KK_FARMAKOLOGI.equals(data.get(0).get("subunitKerjaId"))) { + result.put("subKategori", SubKategoriPegawai.DOKTER_FARMAKOLOGI); + } else { + result.put("subKategori", 0); + } } return result; diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java index 59698669..b4f9fb1d 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java @@ -6029,14 +6029,13 @@ public class SdmController extends LocaleController { } } - @RequestMapping(value = "/get-kelompok-jabatan-logbook-skor", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity getKelompokJabatanLogbookSkor(HttpServletRequest request, + @RequestMapping(value = "/get-akses-logbook-skor", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity> getAksesLogbookSkor(HttpServletRequest request, @RequestParam(value = "pegawaiId", required = true) Integer idPegawai) { try { - Integer result = jabatanService.findIdKelompokByLoginLogbookSkoring(idPegawai); - if (null != result) - mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, - getMessage(MessageResource.LABEL_SUCCESS, request)); + Map result = jabatanService.findAksesLogbookSkoring(idPegawai); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); } catch (ServiceVOException e) { LOGGER.error("Got exception {} when get kelompok jabatan logbook skor", e.getMessage());