diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java index 5472fa3a..b68dad46 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IkiDanRemunerasiDao.java @@ -118,9 +118,9 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository :karcisId " @@ -150,10 +150,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository :karcisId " @@ -209,10 +209,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository :karcisId " @@ -274,10 +274,10 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository> getPegawaiByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja, @Param("idSubunitKerja") Integer idSubunitKerja); + @Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) " + + "from MapPegawaiJabatanToUnitKerja mp " + "left join mp.pegawai pg " + + "where mp.unitKerjaPegawaiId = :unitKerjaId " + "and pg.kategoryPegawaiId in (:listKategoriId) " + + "and mp.statusEnabled is true " + "and pg.statusEnabled is true " + "order by pg.namaLengkap") + List> getPegawaiByUnitKerja(@Param("unitKerjaId") Integer idUnitKerja, + @Param("listKategoriId") List listIdKategori); + + @Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) " + + "from MapPegawaiJabatanToUnitKerja mp " + "left join mp.pegawai pg " + + "where pg.kategoryPegawaiId in (:listKategoriId) " + "and mp.subUnitKerjaPegawaiId = :idSubunitKerja " + + "and mp.statusEnabled is true " + "and pg.statusEnabled is true " + "order by pg.namaLengkap") + List> getPegawaiByUnitKerja(@Param("listKategoriId") List listIdKategori, + @Param("idSubunitKerja") Integer idSubunitKerja); + @Query("select new Map(ej.tglHitung as tglHitung,ej.bulan as bulan,ej.tahun as tahun," + "nj.id as idDetailKelompokJabatan,nj.gradeDesc as grade,nj.detailKelompokJabatan as detailKelompokJabatan," + "j.id as idJabatan,j.namaJabatan as namaJabatan," + "ej.totalNilai as nilaiJabatan) " diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java index 2598d76e..6711292f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java @@ -1062,8 +1062,9 @@ public interface PegawaiDao extends PagingAndSortingRepository @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> getListKelompokShiftKerja(@Param("listIdPegawai") List listIdPegawai); - @Query("select new Map (pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) " + "from Pegawai pg " - + "where pg.statusEnabled is true " + "and pg.kategoryPegawaiId in (:listKategoryPegawaiId)") + @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 " + + "and pg.kategoryPegawaiId in (:listKategoryPegawaiId) " + "order by pg.namaLengkap") public List> findPegawaiByListKategori( @Param("listKategoryPegawaiId") List listIdKategoriPegawai); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java index 6cddf909..d10ed60f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java @@ -60,4 +60,6 @@ public interface MapPegawaiJabatanToUnitKerjaService { Map getEvaluasiJabatanByPegawai(Integer idPegawai); + List> findPegawaiByUnitKerja(Integer idUnitKerja, Integer idSubunitKerja); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java index 17d895cb..5af99cbe 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java @@ -1762,4 +1762,21 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata return result; } + @Override + public List> findPegawaiByUnitKerja(Integer idUnitKerja, Integer idSubunitKerja) { + List> result = new ArrayList<>(); + + if (CommonUtil.isNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idSubunitKerja)) { + result = pegawaiDao.findPegawaiByListKategori(Arrays.asList(Master.KategoryPegawai.REMUN)); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idSubunitKerja)) { + result = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(idUnitKerja, + Arrays.asList(Master.KategoryPegawai.REMUN)); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idSubunitKerja)) { + result = mapPegawaiJabatanToUnitKerjaDao.getPegawaiByUnitKerja(Arrays.asList(Master.KategoryPegawai.REMUN), + idSubunitKerja); + } + + return result; + } + } diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java index 09e9104e..4f14f47f 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java @@ -35,6 +35,7 @@ import com.jasamedika.medifirst2000.service.IndikatorKinerjaService; import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService; import com.jasamedika.medifirst2000.service.LogbookKinerjaDokterService; import com.jasamedika.medifirst2000.service.LogbookKinerjaService; +import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService; import com.jasamedika.medifirst2000.service.RemunerasiOperasionalService; import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService; import com.jasamedika.medifirst2000.util.CommonUtil; @@ -93,6 +94,9 @@ public class IkiDanRemunerasiController extends LocaleController> getLoadData(HttpServletRequest request) { try { @@ -1370,4 +1374,25 @@ public class IkiDanRemunerasiController extends LocaleController>> getPegawaiRemunByUnitKerja(HttpServletRequest request, + @RequestParam(value = "unitKerjaId", required = false) Integer idUnitKerja, + @RequestParam(value = "subunitKerjaId", required = false) Integer idSubunitKerja) throws ParseException { + try { + List> result = mapPegawaiJabatanToUnitKerjaService.findPegawaiByUnitKerja(idUnitKerja, + idSubunitKerja); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); + } catch (ServiceVOException sve) { + LOGGER.error("Got exception {} when get akses pegawai verifikasi logbook dokter", sve.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage); + } catch (JpaSystemException jse) { + LOGGER.error("Got exception {} when get akses pegawai verifikasi logbook dokter", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } }