From a807599f253e5e332d5106c6afa5a487f2d1f22b Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 6 Jan 2022 17:28:54 +0700 Subject: [PATCH] Update LogbookKinerjaService Penyesuaian default target skor dokter saat pembuatan kontrak kinerja dokter --- .../dao/TargetSkorDokterDetailDao.java | 5 +++++ .../impl/LogbookKinerjaServiceImpl.java | 18 ++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetSkorDokterDetailDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetSkorDokterDetailDao.java index 3cb67b8e..80731ae0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetSkorDokterDetailDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetSkorDokterDetailDao.java @@ -22,4 +22,9 @@ public interface TargetSkorDokterDetailDao extends PagingAndSortingRepository> findByHeadId(@Param("noRec") String noRec) throws JpaSystemException; + @Query("select tsd.skor " + "from TargetSkorDokterDetail tsd " + "inner join tsd.targetSkor ts " + + "where tsd.pegawaiId = :pegawaiId " + "and to_char(ts.tmt,'yyyy-MM') < :bulan " + "order by ts.tmt desc") + public List findTargetByPegawai(@Param("pegawaiId") Integer idPegawai, @Param("bulan") String bulan) + throws JpaSystemException; + } 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 27aeb360..b7fd819e 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 @@ -45,6 +45,7 @@ import com.jasamedika.medifirst2000.dao.PelayananPasienPetugasDao; import com.jasamedika.medifirst2000.dao.ShiftKerjaDao; import com.jasamedika.medifirst2000.dao.SkoringTindakanMedisDao; import com.jasamedika.medifirst2000.dao.TabelAcuanIndeksIKIDao; +import com.jasamedika.medifirst2000.dao.TargetSkorDokterDetailDao; import com.jasamedika.medifirst2000.dao.custom.SkoringTindakanMedisDaoCustom; import com.jasamedika.medifirst2000.entities.IndikatorKinerja; import com.jasamedika.medifirst2000.entities.IndikatorKinerjaDetail; @@ -149,6 +150,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb @Autowired private PelayananNakesDao pelayananNakesDao; + @Autowired + private TargetSkorDokterDetailDao targetSkorDokterDetailDao; + @Override public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException { Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()); @@ -425,16 +429,10 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb /** * Komponen target kuantitas indikator pelayanan medis */ - List> detailIndikator1 = logbookKinerjaDokterDao.findDetailLogbookDokter( - df.format(new Date(bulan)), idPegawai, idJabatan, - Integer.valueOf(map.get("indikatorId").toString())); - if (CommonUtil.isNotNullOrEmpty(detailIndikator1)) { - double detailTarget = 0.0; - for (Map detail : detailIndikator1) { - detailTarget += Double.parseDouble(detail.get("detailTarget").toString()); - } - map.put("target", detailTarget); - map.put("detail", detailIndikator1); + if (map.get("indikatorId").equals(Master.IndikatorKinerja.PELAYANAN_MEDIS_JAM_KERJA)) { + List target = targetSkorDokterDetailDao.findTargetByPegawai(idPegawai, + df.format(new Date(bulan))); + map.put("target", Math.floor(target.get(0))); } /**