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 82e1e990..4b8017cb 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 @@ -537,4 +537,8 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository findByPegawaiAndJabatan(@Param("pegawaiId") Integer idPegawai, @Param("jabatanId") Integer idJabatan); + @Query("select distinct mj.pegawaiId " + "from MapPegawaiJabatanToUnitKerja mj " + + "where mj.jabatanId in (:listIdJabatan)") + List listIdPegawaiByAllJabatan(@Param("listIdJabatan") List listIdJabatan); + } 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 1cbb3eb6..b162d035 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 @@ -54,9 +54,9 @@ public interface LogbookKinerjaService extends BaseVoService> findRekapPenilaianKinerja(Long bulan, Integer idUnitKerja, Integer idSubunitKerja, Integer idPegawai) throws JpaSystemException; - public void autoVerifLogbookJamKerjaDokter(Date bulan); - public void autoVerifKontrakJamKerjaDokter(Date bulan); + + public void autoVerifLogbookJamKerjaDokter(Date bulan); public List hitungTargetSkorLogbookDokter(String tahun) throws ParseException; 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 37305d2a..2b452a4d 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 @@ -34,6 +34,7 @@ import com.jasamedika.medifirst2000.dao.BobotJenisIndikatorDao; import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao; import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao; import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDetailDao; +import com.jasamedika.medifirst2000.dao.IndikatorKinerjaJabatanDao; import com.jasamedika.medifirst2000.dao.JabatanDao; import com.jasamedika.medifirst2000.dao.KalenderDao; import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao; @@ -165,6 +166,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb @Autowired private PelayananFarmakologiDao pelayananFarmakologiDao; + @Autowired + private IndikatorKinerjaJabatanDao indikatorKinerjaJabatanDao; + @Override public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException { Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()); @@ -3069,6 +3073,55 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb return result; } + @Override + public void autoVerifKontrakJamKerjaDokter(Date bulan) { + DateFormat yf = new SimpleDateFormat("yyyy"); + DateFormat mf = new SimpleDateFormat("yyyy-MM"); + + Integer targetHariKerja = hitungTargetHariKerja(bulan); + Double targetJamKerja = hitungTargetMenitKerja(bulan); + + List> listIndikatorDokter = indikatorKinerjaJabatanDao + .findAllByIndikator(Master.IndikatorKinerja.PELAYANAN_MEDIS_JAM_KERJA); + List listIdIndikator = new ArrayList<>(); + for (Map map : listIndikatorDokter) { + listIdIndikator.add(Integer.parseInt(map.get("jabatanId").toString())); + } + +// Double targetSkorJamKerja = 0.0; +// List target = targetSkorDokterDetailDao.findTargetByPegawai(idPegawai, mf.format(bulan), +// yf.format(bulan)); +// if (CommonUtil.isNotNullOrEmpty(target)) { +// targetSkorJamKerja = Math.floor(target.get(0)); +// } + +// List ikds = indikatorKinerjaDetailDao +// .findByIndikator(Master.IndikatorKinerja.KEPATUHAN_PELAYANAN_MEDIS); +// List lkds = new ArrayList<>(); +// for (IndikatorKinerjaDetail ikd : ikds) { +// Jabatan jb = jabatanDao.findOne(idJabatan); +// Pegawai pg = pegawaiDao.findOne(idPegawai); +// +// LogbookKinerjaDokter logbookKinerjaLama = logbookKinerjaDokterDao.findOne(mf.format(bulan), idPegawai, +// idJabatan, ikd.getId()); +// if (CommonUtil.isNullOrEmpty(logbookKinerjaLama)) { +// LogbookKinerjaDokter logbookKinerjaBaru = new LogbookKinerjaDokter(); +// logbookKinerjaBaru.setBulan(bulan); +// logbookKinerjaBaru.setDetailTarget(70.0); +// logbookKinerjaBaru.setKdProfile((short) 0); +// logbookKinerjaBaru.setStatusEnabled(true); +// logbookKinerjaBaru.setTglHitung(new Date()); +// logbookKinerjaBaru.setIndikatorDetail(ikd); +// logbookKinerjaBaru.setJabatan(jb); +// logbookKinerjaBaru.setPegawai(pg); +// lkds.add(logbookKinerjaBaru); +// } +// } +// if (CommonUtil.isNotNullOrEmpty(lkds)) { +// logbookKinerjaDokterDao.save(lkds); +// } + } + @Override public void autoVerifLogbookJamKerjaDokter(Date bulan) { byte verifId = 2; @@ -3088,12 +3141,6 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } - @Override - public void autoVerifKontrakJamKerjaDokter(Date bulan) { - // TODO Auto-generated method stub - - } - @Override public List hitungTargetSkorLogbookDokter(String tahun) throws ParseException { List result = new ArrayList<>();