From 752679c5cb52c6b819c809728408e02ac331fc26 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Thu, 4 Mar 2021 11:42:02 +0700 Subject: [PATCH] - pembuatan service pencarian indikator kinerja - pembuatan service cek duplikat kontrak kinerja - perbaikan tampilan bulan di kontrak kinerja - pembuatan service pencarian skoring tindakan medis - ubah field sebagai double --- .../dao/IndikatorKinerjaDao.java | 37 ++++++++- .../medifirst2000/dao/LogbookKinerjaDao.java | 7 +- .../dao/SkoringTindakanMedisDao.java | 76 ++++++++++++++++++- .../service/IndikatorKinerjaService.java | 3 +- .../service/LogbookKinerjaService.java | 4 +- .../service/SkoringTindakanMedisService.java | 3 +- .../impl/IndikatorKinerjaServiceImpl.java | 31 +++++++- .../impl/LogbookKinerjaServiceImpl.java | 7 ++ .../impl/SkoringTindakanMedisServiceImpl.java | 72 +++++++++++++++++- .../entities/SkoringTindakanMedis.java | 6 +- .../vo/SkoringTindakanMedisVO.java | 6 +- .../IkiDanRemunerasiController.java | 41 ++++++++-- 12 files changed, 267 insertions(+), 26 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java index 0f425f31..ca67b191 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaDao.java @@ -13,16 +13,49 @@ import com.jasamedika.medifirst2000.entities.IndikatorKinerja; @Repository("indikatorKinerjaDao") public interface IndikatorKinerjaDao extends PagingAndSortingRepository { - @Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + String strAllIndikatorKinerja = "select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId," + "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' " + "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId," + "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi," + "(case when ik.statusVerifikasi is false then 'Belum Terverifikasi' " + "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) " - + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true") + + "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true"; + + String jenisIndikator = " and ik.jenisIndikator = :jenisIndikatorId"; + + String namaIndikator = " and lower(ik.namaIndikator) like %:namaIndikator%"; + + String statusVerifikasi = " and ik.statusVerifikasi = :statusVerifikasi"; + + @Query(strAllIndikatorKinerja) List> findAllIndikatorKinerja(); + @Query(strAllIndikatorKinerja + jenisIndikator) + List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator); + + @Query(strAllIndikatorKinerja + namaIndikator) + List> findAllIndikatorKinerja(@Param("namaIndikator") String namaIndikator); + + @Query(strAllIndikatorKinerja + statusVerifikasi) + List> findAllIndikatorKinerja(@Param("statusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllIndikatorKinerja + jenisIndikator + namaIndikator) + List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator, + @Param("namaIndikator") String namaIndikator); + + @Query(strAllIndikatorKinerja + jenisIndikator + statusVerifikasi) + List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator, + @Param("statusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllIndikatorKinerja + namaIndikator + statusVerifikasi) + List> findAllIndikatorKinerja(@Param("namaIndikator") String namaIndikator, + @Param("statusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllIndikatorKinerja + jenisIndikator + namaIndikator + statusVerifikasi) + List> findAllIndikatorKinerja(@Param("jenisIndikatorId") Integer idJenisIndikator, + @Param("namaIndikator") String namaIndikator, @Param("statusVerifikasi") Boolean statusVerifikasi); + String strCekDupIndikator = "select ik.id " + "from IndikatorKinerja ik " + "where ik.statusEnabled is true " + "and lower(regexp_replace(ik.namaIndikator,:patternText,'','g')) = :namaIndikator"; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java index 5636e870..794424cd 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDao.java @@ -42,7 +42,8 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository> findKontrakKinerja(@Param("pegawaiId") Integer idPegawai, @Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan); + @Query("select new Map(lk.noRec as noRec,ik.namaIndikator as namaIndikator) " + "from LogbookKinerja lk " + + "inner join lk.indikatorKinerja ik " + "where ik.id = :indikatorId") + List> findKontrakKinerja(@Param("indikatorId") Integer idIndikator); + @Query("select new Map(lk.noRec as noRec," + "pg.id as idPegawai,pg.namaLengkap as namaPegawai," + "jb.id as idJabatan,jb.namaJabatan as namaJabatan," + "ik.id as idIndikator,ik.namaIndikator as namaIndikator," diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java index 0d2cd106..1e9d2ed1 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SkoringTindakanMedisDao.java @@ -1,10 +1,12 @@ package com.jasamedika.medifirst2000.dao; +import java.util.Date; import java.util.List; import java.util.Map; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; @@ -12,7 +14,7 @@ import com.jasamedika.medifirst2000.entities.SkoringTindakanMedis; @Repository("skoringTindakanMedisDao") public interface SkoringTindakanMedisDao extends PagingAndSortingRepository { - @Query("select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + String strAllEnabled = "select new Map(stm.noRec as noRec," + "stm.statusEnabled as statusEnabled," + "uk.id as unitKerjaId,uk.name as unitKerja," + "sk.id as kelompokKerjaId,sk.name as kelompokKerja," + "pr.id as produkId,pr.namaProduk as namaProduk," + "stm.detailProduk as detailProduk," + "stm.skor as skor," + "stm.statusVerifikasi as isStatusVerifikasi," @@ -20,7 +22,77 @@ public interface SkoringTindakanMedisDao extends PagingAndSortingRepository> findAllEnabled(); + @Query(strAllEnabled + unitKerja + subunitKerja) + List> findAllEnabledByUnit(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja); + + @Query(strAllEnabled + produk + tglMulaiBerlaku) + List> findAllEnabledByProduk(@Param("produkId") Integer idProduk, + @Param("tglMulaiBerlaku") Date tglMulaiBerlaku); + + @Query(strAllEnabled + detailProduk + tglMulaiBerlaku) + List> findAllEnabledByDetail(@Param("detailProduk") String detailProduk, + @Param("tglMulaiBerlaku") Date tglMulaiBerlaku); + + @Query(strAllEnabled + unitKerja + subunitKerja + statusVerifikasi) + List> findAllEnabledByVerif(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("isStatusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllEnabled + unitKerja + subunitKerja + produk + tglMulaiBerlaku) + List> findAllEnabledByUnitProduk(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("produkId") Integer idProduk, + @Param("tglMulaiBerlaku") Date tglMulaiBerlaku); + + @Query(strAllEnabled + unitKerja + subunitKerja + detailProduk + tglMulaiBerlaku) + List> findAllEnabledByUnitDetail(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("detailProduk") String detailProduk, + @Param("tglMulaiBerlaku") Date tglMulaiBerlaku); + + @Query(strAllEnabled + produk + detailProduk + tglMulaiBerlaku) + List> findAllEnabledByProdukDetail(@Param("produkId") Integer idProduk, + @Param("detailProduk") String detailProduk, @Param("tglMulaiBerlaku") Date tglMulaiBerlaku); + + @Query(strAllEnabled + unitKerja + subunitKerja + produk + tglMulaiBerlaku + statusVerifikasi) + List> findAllEnabledByUnitProdukVerif(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("produkId") Integer idProduk, + @Param("tglMulaiBerlaku") Date tglMulaiBerlaku, @Param("isStatusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllEnabled + unitKerja + subunitKerja + detailProduk + tglMulaiBerlaku + statusVerifikasi) + List> findAllEnabledByUnitDetailVerif(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("detailProduk") String detailProduk, + @Param("tglMulaiBerlaku") Date tglMulaiBerlaku, @Param("isStatusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllEnabled + unitKerja + subunitKerja + produk + detailProduk + tglMulaiBerlaku) + List> findAllEnabledByUnitProdukDetail(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("produkId") Integer idProduk, + @Param("detailProduk") String detailProduk, @Param("tglMulaiBerlaku") Date tglMulaiBerlaku); + + @Query(strAllEnabled + produk + detailProduk + tglMulaiBerlaku + statusVerifikasi) + List> findAllEnabledByProdukDetailVerif(@Param("produkId") Integer idProduk, + @Param("detailProduk") String detailProduk, @Param("tglMulaiBerlaku") Date tglMulaiBerlaku, + @Param("isStatusVerifikasi") Boolean statusVerifikasi); + + @Query(strAllEnabled + unitKerja + subunitKerja + produk + detailProduk + tglMulaiBerlaku + statusVerifikasi) + List> findAllEnabledByUnitProdukDetailVerif(@Param("unitKerjaId") Integer idUnitKerja, + @Param("subunitKerjaId") Integer idKelompokKerja, @Param("produkId") Integer idProduk, + @Param("detailProduk") String detailProduk, @Param("tglMulaiBerlaku") Date tglMulaiBerlaku, + @Param("isStatusVerifikasi") Boolean statusVerifikasi); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaService.java index 3afd54db..3450b9db 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaService.java @@ -10,7 +10,8 @@ import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO; public interface IndikatorKinerjaService extends BaseVoService { - List> findAllIndikatorKinerja() throws JpaSystemException; + List> findAllIndikatorKinerja(Integer idJenisIndikator, String namaIndikator, + Boolean statusVerifikasi) throws JpaSystemException; List> findDuplicateIndikatorKinerja(Integer idIndikator, String namaIndikator) throws JpaSystemException; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java index fe305059..eed7f664 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaService.java @@ -23,8 +23,10 @@ public interface LogbookKinerjaService extends BaseVoService> findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; - + List> findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; + List> findKontrakKinerja(Integer idIndikator) throws JpaSystemException; + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java index f0b45330..01bdbf1c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SkoringTindakanMedisService.java @@ -9,7 +9,8 @@ import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO; public interface SkoringTindakanMedisService extends BaseVoService { - List> findAllEnabled(); + List> findAllEnabled(Integer idUnitKerja, Integer idKelompokKerja, Integer idProduk, + String detailProduk, Long tglMulaiBerlaku, Boolean statusVerifikasi); List> findDaftarInputTindakanByRuanganKelas(Integer idRuangan); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java index 01244913..4bbf0d58 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java @@ -106,8 +106,35 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In } @Override - public List> findAllIndikatorKinerja() throws JpaSystemException { - List> result = indikatorKinerjaDao.findAllIndikatorKinerja(); + public List> findAllIndikatorKinerja(Integer idJenisIndikator, String namaIndikator, + Boolean statusVerifikasi) throws JpaSystemException { + List> result = new ArrayList<>(); + + if (CommonUtil.isNullOrEmpty(idJenisIndikator) && CommonUtil.isNullOrEmpty(namaIndikator) + && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(); + } else if (CommonUtil.isNotNullOrEmpty(idJenisIndikator) && CommonUtil.isNullOrEmpty(namaIndikator) + && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(idJenisIndikator); + } else if (CommonUtil.isNullOrEmpty(idJenisIndikator) && CommonUtil.isNotNullOrEmpty(namaIndikator) + && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(namaIndikator); + } else if (CommonUtil.isNullOrEmpty(idJenisIndikator) && CommonUtil.isNullOrEmpty(namaIndikator) + && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(statusVerifikasi); + } else if (CommonUtil.isNotNullOrEmpty(idJenisIndikator) && CommonUtil.isNotNullOrEmpty(namaIndikator) + && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(idJenisIndikator, namaIndikator); + } else if (CommonUtil.isNotNullOrEmpty(idJenisIndikator) && CommonUtil.isNullOrEmpty(namaIndikator) + && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(idJenisIndikator, statusVerifikasi); + } else if (CommonUtil.isNullOrEmpty(idJenisIndikator) && CommonUtil.isNotNullOrEmpty(namaIndikator) + && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(namaIndikator, statusVerifikasi); + } else if (CommonUtil.isNotNullOrEmpty(idJenisIndikator) && CommonUtil.isNotNullOrEmpty(namaIndikator) + && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = indikatorKinerjaDao.findAllIndikatorKinerja(idJenisIndikator, namaIndikator, statusVerifikasi); + } return result; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java index ba97f412..131d8332 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java @@ -266,4 +266,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb return result; } + @Override + public List> findKontrakKinerja(Integer idIndikator) throws JpaSystemException { + List> result = logbookKinerjaDao.findKontrakKinerja(idIndikator); + + return result; + } + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java index eef8483f..cc4fd78d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java @@ -1,6 +1,7 @@ package com.jasamedika.medifirst2000.service.impl; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; @@ -35,7 +36,7 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement @Autowired private SkoringTindakanMedisDao skoringTindakanMedisDao; - + @Autowired private ProdukDao produkDao; @@ -115,8 +116,71 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement } @Override - public List> findAllEnabled() { - List> result = skoringTindakanMedisDao.findAllEnabled(); + public List> findAllEnabled(Integer idUnitKerja, Integer idKelompokKerja, Integer idProduk, + String detailProduk, Long tglMulaiBerlaku, Boolean statusVerifikasi) { + List> result = new ArrayList<>(); + + if (CommonUtil.isNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idKelompokKerja) + && CommonUtil.isNullOrEmpty(idProduk) && CommonUtil.isNullOrEmpty(detailProduk) + && CommonUtil.isNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabled(); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNullOrEmpty(idProduk) && CommonUtil.isNullOrEmpty(detailProduk) + && CommonUtil.isNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnit(idUnitKerja, idKelompokKerja); + } else if (CommonUtil.isNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByProduk(idProduk, new Date(tglMulaiBerlaku)); + } else if (CommonUtil.isNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idKelompokKerja) + && CommonUtil.isNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByDetail(detailProduk, new Date(tglMulaiBerlaku)); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNullOrEmpty(idProduk) && CommonUtil.isNullOrEmpty(detailProduk) + && CommonUtil.isNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByVerif(idUnitKerja, idKelompokKerja, statusVerifikasi); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnitProduk(idUnitKerja, idKelompokKerja, idProduk, + new Date(tglMulaiBerlaku)); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnitDetail(idUnitKerja, idKelompokKerja, detailProduk, + new Date(tglMulaiBerlaku)); + } else if (CommonUtil.isNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByProdukDetail(idProduk, detailProduk, + new Date(tglMulaiBerlaku)); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnitProdukVerif(idUnitKerja, idKelompokKerja, idProduk, + new Date(tglMulaiBerlaku), statusVerifikasi); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnitDetailVerif(idUnitKerja, idKelompokKerja, detailProduk, + new Date(tglMulaiBerlaku), statusVerifikasi); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetail(idUnitKerja, idKelompokKerja, idProduk, + detailProduk, new Date(tglMulaiBerlaku)); + } else if (CommonUtil.isNullOrEmpty(idUnitKerja) && CommonUtil.isNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByProdukDetailVerif(idProduk, detailProduk, + new Date(tglMulaiBerlaku), statusVerifikasi); + } else if (CommonUtil.isNotNullOrEmpty(idUnitKerja) && CommonUtil.isNotNullOrEmpty(idKelompokKerja) + && CommonUtil.isNotNullOrEmpty(idProduk) && CommonUtil.isNotNullOrEmpty(detailProduk) + && CommonUtil.isNotNullOrEmpty(tglMulaiBerlaku) && CommonUtil.isNotNullOrEmpty(statusVerifikasi)) { + result = skoringTindakanMedisDao.findAllEnabledByUnitProdukDetailVerif(idUnitKerja, idKelompokKerja, + idProduk, detailProduk, new Date(tglMulaiBerlaku), statusVerifikasi); + } return result; } @@ -124,7 +188,7 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement @Override public List> findDaftarInputTindakanByRuanganKelas(Integer idRuangan) { List> result = produkDao.findDaftarInputTindakanByRuangan(idRuangan); - + return result; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java index 72e49f4d..522193cc 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/SkoringTindakanMedis.java @@ -24,7 +24,7 @@ public class SkoringTindakanMedis extends BaseTransaction { @Column(name = "skor", nullable = false) @Caption(value = "Nilai Skor") - private Integer skor; + private Double skor; @Column(name = "statusverifikasi", nullable = false) @Caption(value = "Status Verifikasi") @@ -61,11 +61,11 @@ public class SkoringTindakanMedis extends BaseTransaction { this.detailProduk = detailProduk; } - public Integer getSkor() { + public Double getSkor() { return skor; } - public void setSkor(Integer skor) { + public void setSkor(Double skor) { this.skor = skor; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java index 8416a1d9..c955192e 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/SkoringTindakanMedisVO.java @@ -11,7 +11,7 @@ public class SkoringTindakanMedisVO extends BaseTransactionVO { private String detailProduk; @Caption(value = "Nilai Skor") - private Integer skor; + private Double skor; @Caption(value = "Status Verifikasi") private Boolean statusVerifikasi; @@ -37,11 +37,11 @@ public class SkoringTindakanMedisVO extends BaseTransactionVO { this.detailProduk = detailProduk; } - public Integer getSkor() { + public Double getSkor() { return skor; } - public void setSkor(Integer skor) { + public void setSkor(Double skor) { this.skor = skor; } 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 651c412f..a111e724 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 @@ -1,7 +1,6 @@ package com.jasamedika.medifirst2000.controller; import java.text.ParseException; -import java.util.Date; import java.util.List; import java.util.Map; @@ -289,10 +288,14 @@ public class IkiDanRemunerasiController extends LocaleController>> getMasterIndikatorKinerja(HttpServletRequest request) + public ResponseEntity>> getMasterIndikatorKinerja(HttpServletRequest request, + @RequestParam(value = "jenisIndikatorId", required = false) Integer idJenisIndikator, + @RequestParam(value = "namaIndikator", required = false) String namaIndikator, + @RequestParam(value = "isStatusVerifikasi", required = false) Boolean statusVerifikasi) throws ParseException { try { - List> result = indikatorKinerjaService.findAllIndikatorKinerja(); + List> result = indikatorKinerjaService.findAllIndikatorKinerja(idJenisIndikator, + namaIndikator, statusVerifikasi); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); @@ -355,12 +358,19 @@ public class IkiDanRemunerasiController extends LocaleController>> getAllSkoringTindakanMedis(HttpServletRequest request) + public ResponseEntity>> getAllSkoringTindakanMedis(HttpServletRequest request, + @RequestParam(value = "unitKerjaId", required = false) Integer idUnitKerja, + @RequestParam(value = "kelompokKerjaId", required = false) Integer idKelompokKerja, + @RequestParam(value = "produkId", required = false) Integer idProduk, + @RequestParam(value = "detailProduk", required = false) String detailProduk, + @RequestParam(value = "tglMulaiBerlaku", required = false) Long tglMulaiBerlaku, + @RequestParam(value = "isStatusVerifikasi", required = false) Boolean statusVerifikasi) throws ParseException { try { - List> result = skoringTindakanMedisService.findAllEnabled(); + List> result = skoringTindakanMedisService.findAllEnabled(idUnitKerja, idKelompokKerja, + idProduk, detailProduk, tglMulaiBerlaku, statusVerifikasi); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); @@ -444,6 +454,25 @@ public class IkiDanRemunerasiController extends LocaleController>> cekKontrakKinerja(HttpServletRequest request, + @RequestParam(value = "indikatorId", required = true) Integer idIndikator) throws ParseException { + try { + List> result = logbookKinerjaService.findKontrakKinerja(idIndikator); + 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 cek kontrak kinerja", 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 cek kontrak kinerja", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/save-pengajuan-kontrak-kinerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity savePengajuanKontrakKinerja(HttpServletRequest request, @Valid @RequestBody LogbookKinerjaVO vo) {