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 81787f2d..8fc0cba3 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 @@ -285,10 +285,6 @@ public class Master { public static final class Remunerasi { public static final Integer[] JENIS_INDIKATOR = { 1, 2, 3 }; - public static final Double BOBOT_KUANTITAS = 40.0; - public static final Double BOBOT_KUALITAS = 30.0; - public static final Double BOBOT_PERILAKU = 30.0; - public static final Double IKI_STANDAR = 1.0; public static final Double IKU = 1.0; 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 acf6dcd5..d392cf97 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 @@ -81,7 +81,7 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository> findLogbookKinerja(@Param("pegawaiId") Integer idPegawai, @Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java index db14b424..df240dcc 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java @@ -14,7 +14,9 @@ import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail; public interface LogbookKinerjaDetailDao extends PagingAndSortingRepository { String strGetWR = "select new Map(lkh.noRec as logbookNoRec," + "lkd.noRec as noRec," - + "ikm.id as indikatorId,ikm.namaIndikator as namaIndikator," + + "ikm.id as indikatorId,ikm.namaIndikator as namaIndikator," + "ikm.jenisIndikator as jenisIndikatorId," + + "(case when ikm.jenisIndikator = 1 then 'Kuantitas' " + "when ikm.jenisIndikator = 2 then 'Kualitas' " + + "when ikm.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + "lkd.namaKegiatan as namaKegiatan,lkd.capaian as hasil," + "si.id as satuanId,si.satuanIndikator as satuanIndikator," + "lkd.catatan as catatan," + "lkd.tanggalKegiatan as tglKegiatan," diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java index ac39775e..c317e580 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/BobotJenisIndikatorService.java @@ -20,8 +20,6 @@ public interface BobotJenisIndikatorService extends BaseVoService> findAllBobotJenis(Long periode, Integer idKelompokJabatan); - public List findBobotJenisJabatan(Long periode, Integer idJabatan); - public List> findBobotJenis(Long periode, Integer idjenisIndikator, Integer idKelompokJabatan); public Map findBobotJenis(Long tglPembaharuanData) throws ParseException; 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 c0d2a575..532a388f 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 @@ -53,5 +53,9 @@ public interface LogbookKinerjaService extends BaseVoService findBobotJenisJabatan(Long periode, Integer idJabatan); + + List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java index 35eab279..6c6f9e75 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java @@ -142,8 +142,6 @@ public interface PegawaiService extends BaseVoService> findJabatanByPegawai(Integer idPegawai); - List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin); - List> findAllPangkatGolongan(); Map findPegawaiDetailById(Integer idPegawai); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java index 3ef315ba..516fe6ec 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/BobotJenisIndikatorServiceImpl.java @@ -291,36 +291,6 @@ public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements return result; } - @Override - public List findBobotJenisJabatan(Long periode, Integer idJabatan) { - List result = new ArrayList<>(); - - List> data = new ArrayList<>(); - List bulanBerlaku = new ArrayList<>(); - - DateFormat df = new SimpleDateFormat("yyyy-MM"); - - bulanBerlaku = bobotJenisIndikatorDao.findBulanBerlaku(df.format(new Date(periode)), idJabatan); - if (CommonUtil.isNullOrEmpty(bulanBerlaku)) { - bulanBerlaku = bobotJenisIndikatorDao.findBulanBerlaku(df.format(new Date(periode))); - } - - if (CommonUtil.isNotNullOrEmpty(bulanBerlaku)) { - data = bobotJenisIndikatorDao.findBobotJenisKontrak(bulanBerlaku.get(0), idJabatan); - if (CommonUtil.isNullOrEmpty(data) || data.size() != 3) { - data = bobotJenisIndikatorDao.findBobotJenisKontrak(bulanBerlaku.get(0)); - } - } - - if (CommonUtil.isNotNullOrEmpty(data)) { - for (Map map : data) { - result.add(Double.parseDouble(map.get("persentase").toString())); - } - } - - return result; - } - @Override public List> findBobotJenis(Long periode, Integer idjenisIndikator, Integer idKelompokJabatan) { List> result = new ArrayList<>(); 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 8ccdb9dd..37bec49c 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 @@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional; import com.jasamedika.medifirst2000.constants.Master; import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.dao.AnggaranRemunerasiDao; +import com.jasamedika.medifirst2000.dao.BobotJenisIndikatorDao; import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao; import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao; import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDetailDao; @@ -109,6 +110,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb @Autowired private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao; + @Autowired + private BobotJenisIndikatorDao bobotJenisIndikatorDao; + @Override public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException { Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()); @@ -450,6 +454,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb public Map findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException { Map result = new HashMap<>(); + List> resData = new ArrayList<>(); List> listJenisIndikator = new ArrayList<>(); DateFormat mf = new SimpleDateFormat("yyyy-MM"); DateFormat yf = new SimpleDateFormat("yyyy"); @@ -470,106 +475,128 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb DecimalFormat df = new DecimalFormat("0.00"); df.setRoundingMode(RoundingMode.HALF_UP); - List> rs = logbookKinerjaDao.findLogbookKinerja(idPegawai, idJabatan, - mf.format(new Date(bulan))); - Map anggaran = findAnggaranRemunerasi(idPegawai, idJabatan, yf.format(new Date(bulan))); - - if (CommonUtil.isNotNullOrEmpty(rs) && rs.size() > 0) { - nilaiJabatan = Double.valueOf(rs.get(0).get("nilaiJabatan").toString()); - } - if (CommonUtil.isNotNullOrEmpty(anggaran)) { - pir = Double.valueOf(anggaran.get("pir").toString()); - plafonGaji = Double.valueOf(anggaran.get("plafonGaji").toString()); - plafonInsentif = Double.valueOf(anggaran.get("plafonInsentif").toString()); + List listIdJabatan = new ArrayList<>(); + if (CommonUtil.isNotNullOrEmpty(idJabatan)) { + listIdJabatan.add(idJabatan); + } else { + List> listJab = findJabatanKontrakVerifKinerja(idPegawai, idPegawai); + for (Map jab : listJab) { + listIdJabatan.add(Integer.valueOf(jab.get("id").toString())); + } } - for (String ji : Arrays.asList(Master.JENIS_INDIKATOR)) { - double hasil = 0.0; - List> data = new ArrayList<>(); - Map jenisIndikator = new HashMap<>(); - jenisIndikator.put("jenisIndikator", ji); - for (Map map : rs) { - if (map.get("jenisIndikator").equals(ji)) { - if (map.get("idIndikator").equals(Master.IndikatorKinerja.PELAYANAN_MEDIS_JAM_KERJA) - && Double.valueOf(map.get("fragCapaian").toString()).equals(0.0)) { - List> logbookDokter = findLogbookJamKerjaDokter(idPegawai, bulan); - double capaian = 0.0; - for (Map ld : logbookDokter) { - capaian += Double.valueOf(ld.get("tSkor").toString()); + for (Integer idJab : listIdJabatan) { + Map rsMap = new HashMap<>(); + + List persenIndikator = findBobotJenisJabatan(bulan, idJab); + + List> rs = logbookKinerjaDao.findLogbookKinerja(idPegawai, idJab, + mf.format(new Date(bulan))); + Map anggaran = findAnggaranRemunerasi(idPegawai, idJab, yf.format(new Date(bulan))); + + if (CommonUtil.isNotNullOrEmpty(rs) && rs.size() > 0) { + nilaiJabatan = Double.valueOf(rs.get(0).get("nilaiJabatan").toString()); + } + if (CommonUtil.isNotNullOrEmpty(anggaran)) { + pir = Double.valueOf(anggaran.get("pir").toString()); + plafonGaji = Double.valueOf(anggaran.get("plafonGaji").toString()); + plafonInsentif = Double.valueOf(anggaran.get("plafonInsentif").toString()); + } + + for (String ji : Arrays.asList(Master.JENIS_INDIKATOR)) { + double hasil = 0.0; + List> data = new ArrayList<>(); + Map jenisIndikator = new HashMap<>(); + jenisIndikator.put("jenisIndikator", ji); + for (Map map : rs) { + if (map.get("jenisIndikator").equals(ji)) { + if (map.get("idIndikator").equals(Master.IndikatorKinerja.PELAYANAN_MEDIS_JAM_KERJA) + && Double.valueOf(map.get("fragCapaian").toString()).equals(0.0)) { + List> logbookDokter = findLogbookJamKerjaDokter(idPegawai, bulan); + double capaian = 0.0; + for (Map ld : logbookDokter) { + capaian += Double.valueOf(ld.get("tSkor").toString()); + } + String fragCapaian = df.format(capaian / Double.valueOf(map.get("target").toString())); + hasil += capaian / Double.valueOf(map.get("target").toString()) + * Double.valueOf(map.get("bobot").toString()); + map.put("fragCapaian", Double.parseDouble(fragCapaian)); + map.put("persenCapaianDibulatkan", + new BigDecimal(Double.valueOf(map.get("fragCapaian").toString()) * 100).setScale(2, + RoundingMode.HALF_UP)); + data.add(map); + } else { + hasil += Double.parseDouble(df.format(Double.valueOf(map.get("fragCapaian").toString()))) + * Double.valueOf(map.get("bobot").toString()); + map.put("persenCapaianDibulatkan", + new BigDecimal(Double.valueOf(map.get("fragCapaian").toString()) * 100).setScale(2, + RoundingMode.HALF_UP)); + data.add(map); } - String fragCapaian = df.format(capaian / Double.valueOf(map.get("target").toString())); - hasil += capaian / Double.valueOf(map.get("target").toString()) - * Double.valueOf(map.get("bobot").toString()); - map.put("fragCapaian", Double.parseDouble(fragCapaian)); - map.put("persenCapaianDibulatkan", - new BigDecimal(Double.valueOf(map.get("fragCapaian").toString()) * 100).setScale(2, - RoundingMode.HALF_UP)); - data.add(map); - } else { - hasil += Double.parseDouble(df.format(Double.valueOf(map.get("fragCapaian").toString()))) - * Double.valueOf(map.get("bobot").toString()); - map.put("persenCapaianDibulatkan", - new BigDecimal(Double.valueOf(map.get("fragCapaian").toString()) * 100).setScale(2, - RoundingMode.HALF_UP)); - data.add(map); } } + + if (ji.equals("Kuantitas")) { + totAllPersen += hasil; + jenisIndikator.put("persenCapaian", (100.0 / persenIndikator.get(0)) * hasil); + jenisIndikator.put("persenCapaianDibulatkan", + new BigDecimal(Double.valueOf((100.0 / persenIndikator.get(0)) * hasil)).setScale(2, + RoundingMode.HALF_UP)); + } else if (ji.equals("Kualitas")) { + totAllPersen += hasil; + jenisIndikator.put("persenCapaian", (100.0 / persenIndikator.get(1)) * hasil); + jenisIndikator.put("persenCapaianDibulatkan", + new BigDecimal(Double.valueOf((100.0 / persenIndikator.get(1)) * hasil)).setScale(2, + RoundingMode.HALF_UP)); + } else if (ji.equals("Perilaku")) { + totAllPersen += hasil; + jenisIndikator.put("persenCapaian", (100.0 / persenIndikator.get(2)) * hasil); + jenisIndikator.put("persenCapaianDibulatkan", + new BigDecimal(Double.valueOf((100.0 / persenIndikator.get(2)) * hasil)).setScale(2, + RoundingMode.HALF_UP)); + } + jenisIndikator.put("data", data); + + listJenisIndikator.add(jenisIndikator); } - if (ji.equals("Kuantitas")) { - totAllPersen += hasil; - jenisIndikator.put("persenCapaian", (100.0 / Master.Remunerasi.BOBOT_KUANTITAS) * hasil); - jenisIndikator.put("persenCapaianDibulatkan", - new BigDecimal(Double.valueOf((100.0 / Master.Remunerasi.BOBOT_KUANTITAS) * hasil)).setScale(2, - RoundingMode.HALF_UP)); - } else if (ji.equals("Kualitas")) { - totAllPersen += hasil; - jenisIndikator.put("persenCapaian", (100.0 / Master.Remunerasi.BOBOT_KUALITAS) * hasil); - jenisIndikator.put("persenCapaianDibulatkan", - new BigDecimal(Double.valueOf((100.0 / Master.Remunerasi.BOBOT_KUALITAS) * hasil)).setScale(2, - RoundingMode.HALF_UP)); - } else if (ji.equals("Perilaku")) { - totAllPersen += hasil; - jenisIndikator.put("persenCapaian", (100.0 / Master.Remunerasi.BOBOT_PERILAKU) * hasil); - jenisIndikator.put("persenCapaianDibulatkan", - new BigDecimal(Double.valueOf((100.0 / Master.Remunerasi.BOBOT_PERILAKU) * hasil)).setScale(2, - RoundingMode.HALF_UP)); + Double iki = 0.0; + Map acuanIndeks = tabelAcuanIndeksIKIDao.findIKI(totAllPersen); + if (CommonUtil.isNotNullOrEmpty(acuanIndeks)) { + iki = Double.valueOf(acuanIndeks.get("indeks").toString()); } - jenisIndikator.put("data", data); - listJenisIndikator.add(jenisIndikator); + double targetRupiahP1 = nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P1; + double targetRupiahP2 = nilaiJabatan * Master.Remunerasi.IKU * Master.Remunerasi.IKI_STANDAR * pir + * Master.Remunerasi.PERSEN_P2; + + double capaianRupiahP1 = nilaiJabatan * iki * pir * Master.Remunerasi.PERSEN_P1; + double capaianRupiahP2 = nilaiJabatan * Master.Remunerasi.IKU * iki * pir * Master.Remunerasi.PERSEN_P2; + + if (CommonUtil.isNotNullOrEmpty(idJabatan)) { + rsMap.put("listJenisIndikator", listJenisIndikator); + + rsMap.put("plafonP1", kursINA.format(plafonGaji).toString()); + rsMap.put("rupiahTargetP1", targetRupiahP1); + rsMap.put("rupiahTargetFormatP1", kursINA.format(targetRupiahP1).toString()); + rsMap.put("rupiahCapaianP1", capaianRupiahP1); + rsMap.put("rupiahCapaianP1Format", kursINA.format(capaianRupiahP1).toString()); + + rsMap.put("plafonP2", kursINA.format(plafonInsentif).toString()); + rsMap.put("rupiahTargetP2", targetRupiahP2); + rsMap.put("rupiahTargetFormatP2", kursINA.format(targetRupiahP2).toString()); + rsMap.put("rupiahCapaianP2", capaianRupiahP2); + rsMap.put("rupiahCapaianP2Format", kursINA.format(capaianRupiahP2).toString()); + } + + rsMap.put("persenCapaian", totAllPersen); + rsMap.put("persenCapaianDibulatkan", + new BigDecimal(Double.valueOf(totAllPersen)).setScale(2, RoundingMode.HALF_UP)); + + resData.add(rsMap); } - Double iki = 0.0; - Map acuanIndeks = tabelAcuanIndeksIKIDao.findIKI(totAllPersen); - if (CommonUtil.isNotNullOrEmpty(acuanIndeks)) { - iki = Double.valueOf(acuanIndeks.get("indeks").toString()); - } - - double targetRupiahP1 = nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P1; - double targetRupiahP2 = nilaiJabatan * Master.Remunerasi.IKU * Master.Remunerasi.IKI_STANDAR * pir - * Master.Remunerasi.PERSEN_P2; - - double capaianRupiahP1 = nilaiJabatan * iki * pir * Master.Remunerasi.PERSEN_P1; - double capaianRupiahP2 = nilaiJabatan * Master.Remunerasi.IKU * iki * pir * Master.Remunerasi.PERSEN_P2; - - result.put("listJenisIndikator", listJenisIndikator); - - result.put("plafonP1", kursINA.format(plafonGaji).toString()); - result.put("rupiahTargetP1", targetRupiahP1); - result.put("rupiahTargetFormatP1", kursINA.format(targetRupiahP1).toString()); - result.put("rupiahCapaianP1", capaianRupiahP1); - result.put("rupiahCapaianP1Format", kursINA.format(capaianRupiahP1).toString()); - - result.put("plafonP2", kursINA.format(plafonInsentif).toString()); - result.put("rupiahTargetP2", targetRupiahP2); - result.put("rupiahTargetFormatP2", kursINA.format(targetRupiahP2).toString()); - result.put("rupiahCapaianP2", capaianRupiahP2); - result.put("rupiahCapaianP2Format", kursINA.format(capaianRupiahP2).toString()); - - result.put("persenCapaian", totAllPersen); - result.put("persenCapaianDibulatkan", - new BigDecimal(Double.valueOf(totAllPersen)).setScale(2, RoundingMode.HALF_UP)); + result.put("data", resData); return result; } @@ -2245,4 +2272,51 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } + @Override + public List findBobotJenisJabatan(Long periode, Integer idJabatan) { + List result = new ArrayList<>(); + + List> data = new ArrayList<>(); + List bulanBerlaku = new ArrayList<>(); + + DateFormat df = new SimpleDateFormat("yyyy-MM"); + + bulanBerlaku = bobotJenisIndikatorDao.findBulanBerlaku(df.format(new Date(periode)), idJabatan); + if (CommonUtil.isNullOrEmpty(bulanBerlaku)) { + bulanBerlaku = bobotJenisIndikatorDao.findBulanBerlaku(df.format(new Date(periode))); + } + + if (CommonUtil.isNotNullOrEmpty(bulanBerlaku)) { + data = bobotJenisIndikatorDao.findBobotJenisKontrak(bulanBerlaku.get(0), idJabatan); + if (CommonUtil.isNullOrEmpty(data) || data.size() != 3) { + data = bobotJenisIndikatorDao.findBobotJenisKontrak(bulanBerlaku.get(0)); + } + } + + if (CommonUtil.isNotNullOrEmpty(data)) { + for (Map map : data) { + result.add(Double.parseDouble(map.get("persentase").toString())); + } + } + + return result; + } + + @Override + public List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin) { + List> result = mapPegawaiJabatanToUnitKerjaDao.findJabLvlUkAtasan(idPegawai); + for (Map map : result) { + if ((CommonUtil.isNotNullOrEmpty(map.get("atasanId")) && map.get("atasanId").equals(idPegawaiLogin)) + || (CommonUtil.isNotNullOrEmpty(map.get("penilaiId")) + && map.get("penilaiId").equals(idPegawaiLogin)) + || idPegawai.equals(idPegawaiLogin)) { + map.put("isCariAkses", true); + } else { + map.put("isCariAkses", false); + } + } + + return result; + } + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java index 002f86ba..44f149f7 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java @@ -1804,23 +1804,6 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ return result; } - @Override - public List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin) { - List> result = mapPegawaiJabatanToUnitKerjaDao.findJabLvlUkAtasan(idPegawai); - for (Map map : result) { - if ((CommonUtil.isNotNullOrEmpty(map.get("atasanId")) && map.get("atasanId").equals(idPegawaiLogin)) - || (CommonUtil.isNotNullOrEmpty(map.get("penilaiId")) - && map.get("penilaiId").equals(idPegawaiLogin)) - || idPegawai.equals(idPegawaiLogin)) { - map.put("isCariAkses", true); - } else { - map.put("isCariAkses", false); - } - } - - return result; - } - @Override public List> findAllPangkatGolongan() { List> result = pangkatDao.getPangkatGolongan(); 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 8e240e4d..7dd32537 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 @@ -962,6 +962,26 @@ public class IkiDanRemunerasiController extends LocaleController> widgetDashboardKinerja(HttpServletRequest request, + @RequestParam(value = "pegawaiId", required = true) Integer idPegawai, + @RequestParam(value = "bulan", required = true) Long bulan) throws ParseException { + try { + Map result = logbookKinerjaService.findLogbookKinerja(idPegawai, null, bulan); + 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 widget dashboard 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 get widget dashboard kinerja", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/get-catatan-kegiatan-harian", method = RequestMethod.GET) public ResponseEntity>> getCatatanKegiatanHarian(HttpServletRequest request, @RequestParam(value = "pegawaiId", required = true) Integer idPegawai, @@ -1183,7 +1203,7 @@ public class IkiDanRemunerasiController extends LocaleController result = bobotJenisIndikatorService.findBobotJenisJabatan(periode, idJabatan); + List result = logbookKinerjaService.findBobotJenisJabatan(periode, idJabatan); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java index 56e95436..6377e726 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java @@ -39,6 +39,7 @@ import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.security.model.AppPermission; import com.jasamedika.medifirst2000.security.service.TokenAuthenticationService; import com.jasamedika.medifirst2000.service.KeluargaPegawaiService; +import com.jasamedika.medifirst2000.service.LogbookKinerjaService; import com.jasamedika.medifirst2000.service.LoginUserService; import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService; import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService; @@ -109,6 +110,9 @@ public class PegawaiController extends LocaleController implements IB @Autowired private MapPegawaiJabatanToUnitKerjaService mapPegawaiJabatanToUnitKerjaService; + @Autowired + private LogbookKinerjaService logbookKinerjaService; + @RequestMapping(value = "/get-all-dokter2", method = RequestMethod.GET) public ResponseEntity> getAllDokter2(HttpServletRequest request) { try { @@ -1303,7 +1307,7 @@ public class PegawaiController extends LocaleController implements IB @RequestParam(value = "pegawaiLoginId") Integer idPegawaiLogin) { List> result = new ArrayList>(); try { - result = pegawaiService.findJabatanKontrakVerifKinerja(idPegawai, idPegawaiLogin); + result = logbookKinerjaService.findJabatanKontrakVerifKinerja(idPegawai, idPegawaiLogin); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) {