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 39b9e5f4..f86b7e71 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 @@ -109,7 +109,6 @@ public final class Master { public static final class JenisAlamat { public static final Integer DOMISILI = 4; public static final Integer IDENTITAS = 3; - public static final Integer KANTOR = 2; public static final Integer RUMAH = 1; } @@ -151,7 +150,6 @@ public final class Master { public static final Integer[] PARUH_WAKTU = { 12, 19 }; public static final Integer PESERTA_DIDIK = 17; public static final Integer PNS = 1; - public static final Integer[] PURNA_WAKTU = { 1, 2, 10, 14, 21 }; public static final Integer[] REMUN = { 1, 10, 14, 21 }; } @@ -212,14 +210,12 @@ public final class Master { public static final Integer POTONGAN_OBAT = 16; public static final Integer POTONGAN_PPH = 8; public static final Integer POTONGAN_PPH_REMUNERASI = 36; - public static final Integer POTONGAN_PPH_REMUNERASI_OPERASIONAL = 37; public static final Integer POTONGAN_RAWAT_INAP = 17; public static final Integer POTONGAN_RAWAT_JALAN = 18; public static final Integer POTONGAN_UANG_MAKAN = 12; public static final Integer POTONGAN_PFK = 31; public static final Integer REMUNERASI_KINERJA = 2; public static final Integer REMUNERASI_MANAJERIAL = 44; - public static final Integer REMUNERASI_OPERASIONAL = 3; public static final Integer REMUNERASI_TAMBAHAN_DIKLITJAR = 22; public static final Integer REMUNERASI_TAMBAHAN_LAIN = 23; public static final Integer SEWA_RUMAH = 32; 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 8a76af28..c5e79560 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 @@ -14,69 +14,69 @@ import com.jasamedika.medifirst2000.vo.SkorDokterVO; public interface LogbookKinerjaService extends BaseVoService { - public LogbookKinerjaVO verify(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; + LogbookKinerjaVO verify(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; - public LogbookKinerjaVO addPengajuanKontrakKinerja(LogbookKinerjaVO vo) + LogbookKinerjaVO addPengajuanKontrakKinerja(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; - public LogbookKinerjaVO updatePengajuanKontrakKinerja(LogbookKinerjaVO vo) + LogbookKinerjaVO updatePengajuanKontrakKinerja(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException; - public List> findPengajuanKontrakKinerja(Integer idPegawai, Integer idJabatan) + List> findPengajuanKontrakKinerja(Integer idPegawai, Integer idJabatan) throws JpaSystemException; - public List> findDupKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan, - Integer idIndikator) throws JpaSystemException; + List> findDupKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan, + Integer idIndikator) throws JpaSystemException; - public Map findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan) + Map findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; - public List> findKontrakKinerja(Integer idIndikator) throws JpaSystemException; + List> findKontrakKinerja(Integer idIndikator) throws JpaSystemException; - public Map findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) + Map findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; - public List> findAksesPegawai(Integer idPegawai, List listIdKelompokJabatan); + List> findAksesPegawai(Integer idPegawai, List listIdKelompokJabatan); - public List> findLogbookJamKerjaDokter(Integer idPegawai, Long bulan); + List> findLogbookJamKerjaDokter(Integer idPegawai, Long bulan); - public List> findLogbookLuarJamKerjaDokter(Integer idPegawai, Long bulan); + List> findLogbookLuarJamKerjaDokter(Integer idPegawai, Long bulan); - public List> findDetailLogbookJamKerjaDokter(Integer idPegawai, Integer idIndikator, - Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); + List> findDetailLogbookJamKerjaDokter(Integer idPegawai, Integer idIndikator, + Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); - public List> findDetailLogbookLuarJamKerjaDokter(Integer idPegawai, Integer idIndikator, - Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); + List> findDetailLogbookLuarJamKerjaDokter(Integer idPegawai, Integer idIndikator, + Integer idProduk, String tglPelayanan, Integer idJenisPetugas, Double skor); - public Map findPenilaianKinerja(Integer idPegawai, Integer idJabatan, Long bulan) + Map findPenilaianKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException; - public List> findRekapPenilaianKinerja(Long bulan, Integer idUnitKerja, Integer idSubunitKerja, - Integer idPegawai) throws JpaSystemException; + List> findRekapPenilaianKinerja(Long bulan, Integer idUnitKerja, Integer idSubunitKerja, + Integer idPegawai) throws JpaSystemException; - public void autoVerifKontrakJamKerjaDokter(Date bulan); + void autoVerifKontrakJamKerjaDokter(Date bulan); - public void autoVerifLogbookJamKerjaDokter(Date bulan); + void autoVerifLogbookJamKerjaDokter(Date bulan); - public List hitungTargetSkorLogbookDokter(String bulanAwal, String bulanAkhir) throws ParseException; + List hitungTargetSkorLogbookDokter(String bulanAwal, String bulanAkhir) throws ParseException; - public List findBobotJenisJabatan(Long periode, Integer idJabatan); + List findBobotJenisJabatan(Long periode, Integer idJabatan); - public List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin); + List> findJabatanKontrakVerifKinerja(Integer idPegawai, Integer idPegawaiLogin); - public List> findLogbookPerawat(Integer idPegawai, Long bulan); + List> findLogbookPerawat(Integer idPegawai, Long bulan); - public List> findDetailLogbookPerawat(Integer idPegawai, Integer idProduk, String tglPelayanan); + List> findDetailLogbookPerawat(Integer idPegawai, Integer idProduk, String tglPelayanan); - public List> findLogbookNakes(Integer idPegawai, Long bulan); + List> findLogbookNakes(Integer idPegawai, Long bulan); - public List> findDetailLogbookNakes(Integer idPegawai, Integer idProduk, String tglPelayanan); + List> findDetailLogbookNakes(Integer idPegawai, Integer idProduk, String tglPelayanan); - public List> findLogbookFarmakologi(Integer idPegawai, Long bulan); + List> findLogbookFarmakologi(Integer idPegawai, Long bulan); - public List> findDetailLogbookFarmakologi(Integer idPegawai, Integer idProduk, - String tglPelayanan); + List> findDetailLogbookFarmakologi(Integer idPegawai, Integer idProduk, + String tglPelayanan); - public List> findJabatanByLogbookPegawai(Integer idPegawai, Long bulan); + List> findJabatanByLogbookPegawai(Integer idPegawai, Long bulan); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java index 4c65feb5..897fd670 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java @@ -216,7 +216,7 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement @Override public List> findAksesPegawai(Integer idPegawai) throws JpaSystemException { List> result = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, - Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU)); + splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun")); if (CommonUtil.isNotNullOrEmpty(result)) { result.sort(Comparator.comparing(m -> (String) m.get("namaLengkap"), String.CASE_INSENSITIVE_ORDER)); 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 1581e4b4..cebcbad7 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 @@ -211,9 +211,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } else { List> existedWorkingRecord = findUsedWorkingRecordByKontrak(vo.getNoRec()); - if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) { + if (!existedWorkingRecord.isEmpty() && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) { resultVO.setResponseMessage("Catatan kegiatan kinerja sudah diisi, tidak dapat batal verifikasi!"); - } else if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && !vo.getStatusEnabled()) { + } else if (!existedWorkingRecord.isEmpty() && !vo.getStatusVerifikasi() && !vo.getStatusEnabled()) { resultVO.setResponseMessage("Catatan kegiatan kinerja sudah diisi, tidak dapat hapus kontrak!"); } else { LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerjaBaru); @@ -463,7 +463,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } for (Map map : listMap) { - if (!listIdIndikator.contains(map.get("indikatorId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("indikatorId")) + && !listIdIndikator.contains(Integer.parseInt(map.get("indikatorId").toString()))) { listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString())); // Komponen target kuantitas indikator pelayanan medis @@ -527,7 +528,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } for (Map map : data) { - if (!listIdIndikator.contains(map.get("indikatorId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("indikatorId")) + && !listIdIndikator.contains(Integer.parseInt(map.get("indikatorId").toString()))) { listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString())); listRes.add(map); } @@ -604,7 +606,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb Map result = new HashMap<>(); List> data = anggaranRemunerasiDao.findAnggaran(idPegawai, idJabatan, tahun); - if (CommonUtil.isNotNullOrEmpty(data) && data.size() > 0) { + if (CommonUtil.isNotNullOrEmpty(data) && !data.isEmpty()) { result = data.get(0); } @@ -660,7 +662,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mf.format(new Date(bulan))); Map anggaran = findAnggaranRemunerasi(idPegawai, idJab, yf.format(new Date(bulan))); - if (CommonUtil.isNotNullOrEmpty(rs) && rs.size() > 0) { + if (CommonUtil.isNotNullOrEmpty(rs) && !rs.isEmpty()) { nilaiJabatan = Double.parseDouble(rs.get(0).get("nilaiJabatan").toString()); idKelompokJabatan = Integer.parseInt(rs.get(0).get("kelompokJabatanId").toString()); } @@ -880,7 +882,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> aksesByAtasan; List> aksesByPenilai; - List listPurnaWaktu = Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU); + List listPurnaWaktu = splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun"); List listIdSDM = pegawaiDao.getPegawaiSDMforCred(Master.UnitKerja.BAG_SDM); if (listIdSDM.contains(idPegawai)) { @@ -907,7 +909,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb if (CommonUtil.isNotNullOrEmpty(aksesByStaf) && CommonUtil.isNullOrEmpty(rsAll)) { for (Map map : aksesByStaf) { map.put("isGranted", false); - if (!listIdPegawai.contains(map.get("id"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("id")) + && !listIdPegawai.contains(Integer.parseInt(map.get("id").toString()))) { listIdPegawai.add(Integer.parseInt(map.get("id").toString())); result.add(map); } @@ -917,7 +920,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb if (CommonUtil.isNullOrEmpty(rsAll)) { for (Map map : aksesByAtasan) { map.put("isGranted", true); - if (!listIdPegawai.contains(map.get("id"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("id")) + && !listIdPegawai.contains(Integer.parseInt(map.get("id").toString()))) { listIdPegawai.add(Integer.parseInt(map.get("id").toString())); result.add(map); } @@ -936,7 +940,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb if (CommonUtil.isNotNullOrEmpty(aksesByPenilai) && CommonUtil.isNullOrEmpty(rsAll)) { for (Map map : aksesByPenilai) { map.put("isGranted", false); - if (!listIdPegawai.contains(map.get("id"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("id")) + && !listIdPegawai.contains(Integer.parseInt(map.get("id").toString()))) { listIdPegawai.add(Integer.parseInt(map.get("id").toString())); result.add(map); } @@ -1133,8 +1138,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // SCORE for (Map mapLayanan : dataLayanan) { for (Map mapSkor : dataSkor) { - if (!listIdPelayananAnestesi.contains(mapLayanan.get("noRec")) && !mapLayanan.containsKey("skor") - && mapLayanan.get("produkId").equals(mapSkor.get("produkId")) + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("noRec")) + && !listIdPelayananAnestesi.contains(mapLayanan.get("noRec").toString()) + && !mapLayanan.containsKey("skor") && mapLayanan.get("produkId").equals(mapSkor.get("produkId")) && (((Date) mapLayanan.get("tglPelayanan")).after((Date) mapSkor.get("tglMulaiBerlaku")) || mapLayanan.get("tglPelayanan").equals(mapSkor.get("tglMulaiBerlaku")))) { mapLayanan.put("skor", mapSkor.get("skor")); @@ -1158,7 +1164,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mapLayanan.put("tSkor", 0.000); } else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("skor", Double.parseDouble(decf.format(Double.parseDouble(mapLayanan.get("skor").toString()) * Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF))); @@ -1183,13 +1190,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // GROUPING_INDIKATOR for (Map mapLayanan : dataLayanan) { - if (listKonsulTapiVisit.contains(mapLayanan.get("produkId")) + if ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) || mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.VISITE); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.VISITE)); } else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.KONSUL_EKS); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.KONSUL_EKS)); @@ -1202,7 +1211,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.KONSUL_REG); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.KONSUL_REG)); - } else if (listRuangEks.contains(mapLayanan.get("ruanganId"))) { + } else if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaJamKerja.TINDAKAN_EKS); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaJamKerja.TINDAKAN_EKS)); @@ -1222,13 +1232,16 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } for (Map mapLayanan : dataLayanan) { - if (!listIdIndikator.contains(mapLayanan.get("indikatorId"))) { + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("indikatorId")) + && !listIdIndikator.contains(Integer.parseInt(mapLayanan.get("indikatorId").toString()))) { listIdIndikator.add(Integer.valueOf(mapLayanan.get("indikatorId").toString())); } - if (!listIdProduk.contains(mapLayanan.get("produkId"))) { + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && !listIdProduk.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) { listIdProduk.add(Integer.valueOf(mapLayanan.get("produkId").toString())); } - if (!listSkor.contains(mapLayanan.get("skor"))) { + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("skor")) + && !listSkor.contains(Double.parseDouble(mapLayanan.get("skor").toString()))) { listSkor.add(Double.valueOf(mapLayanan.get("skor").toString())); } if (!listTglPelayanan.contains(df.format(((Date) mapLayanan.get("tglPelayanan"))))) { @@ -1460,7 +1473,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // SCORE for (Map mapLayanan : dataLayanan) { for (Map mapSkor : dataSkor) { - if (!listIdPelayananAnestesi.contains(mapLayanan.get("noRec")) + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("noRec")) + && !listIdPelayananAnestesi.contains(mapLayanan.get("noRec").toString()) && mapLayanan.get("produkId").equals(mapSkor.get("produkId")) && (((Date) mapLayanan.get("tglPelayanan")).after((Date) mapSkor.get("tglMulaiBerlaku")) || mapLayanan.get("tglPelayanan").equals(mapSkor.get("tglMulaiBerlaku")))) { @@ -1485,7 +1499,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mapLayanan.put("tSkor", 0.000); } else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("skor", Double.parseDouble(decf.format(Double.parseDouble(mapLayanan.get("skor").toString()) * Master.Remunerasi.PERSEN_SKOR_LUAR_JAM_KERJA))); @@ -1512,13 +1527,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // GROUPING_INDIKATOR for (Map mapLayanan : dataLayanan) { - if (listKonsulTapiVisit.contains(mapLayanan.get("produkId")) + if ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) || mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.VISITE); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.VISITE)); } else if (mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.KONSUL_EKS); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.KONSUL_EKS)); @@ -1531,7 +1548,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.KONSUL_REG); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.KONSUL_REG)); - } else if (listRuangEks.contains(mapLayanan.get("ruanganId"))) { + } else if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("indikatorId", Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_EKS); mapLayanan.put("namaIndikator", indikatorKinerjaDetailDao.findNamaIndikator(Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_EKS)); @@ -1551,13 +1569,16 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } for (Map mapLayanan : dataLayanan) { - if (!listIdIndikator.contains(mapLayanan.get("indikatorId"))) { + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("indikatorId")) + && !listIdIndikator.contains(Integer.parseInt(mapLayanan.get("indikatorId").toString()))) { listIdIndikator.add(Integer.valueOf(mapLayanan.get("indikatorId").toString())); } - if (!listIdProduk.contains(mapLayanan.get("produkId"))) { + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && !listIdProduk.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) { listIdProduk.add(Integer.valueOf(mapLayanan.get("produkId").toString())); } - if (!listSkor.contains(mapLayanan.get("skor"))) { + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("skor")) + && !listSkor.contains(Double.parseDouble(mapLayanan.get("skor").toString()))) { listSkor.add(Double.valueOf(mapLayanan.get("skor").toString())); } if (!listTglPelayanan.contains(df.format(((Date) mapLayanan.get("tglPelayanan"))))) { @@ -1812,8 +1833,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // SCORE for (Map mapLayanan : dataLayanan) { for (Map mapSkor : dataSkor) { - if (!listIdPelayananAnestesi.contains(mapLayanan.get("noRec")) && !mapLayanan.containsKey("skor") - && mapLayanan.get("produkId").equals(mapSkor.get("produkId")) + if (CommonUtil.isNotNullOrEmpty(mapLayanan.get("noRec")) + && !listIdPelayananAnestesi.contains(mapLayanan.get("noRec").toString()) + && !mapLayanan.containsKey("skor") && mapLayanan.get("produkId").equals(mapSkor.get("produkId")) && (((Date) mapLayanan.get("tglPelayanan")).after((Date) mapSkor.get("tglMulaiBerlaku")) || mapLayanan.get("tglPelayanan").equals(mapSkor.get("tglMulaiBerlaku")))) { mapLayanan.put("skor", mapSkor.get("skor")); @@ -1836,7 +1858,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb // RULES for (Map mapLayanan : dataLayananFiltered) { if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.VISITE) - && (listKonsulTapiVisit.contains(mapLayanan.get("produkId")) + && ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) || mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT))) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) && mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { @@ -1879,7 +1903,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } else if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.KONSUL_EKS) && mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) && mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0 @@ -2003,7 +2028,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } } else if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.TINDAKAN_EKS) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) && mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0 @@ -2126,10 +2152,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } } else if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.TINDAKAN_REG) - && !listKonsulTapiVisit.contains(mapLayanan.get("produkId")) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && !listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString())) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) - && !listRuangEks.contains(mapLayanan.get("ruanganId")) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && !listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString())) && !mapLayanan.get("departemenId").equals(Master.Departemen.IGD) && !mapLayanan.get("ruanganId").equals(Master.Ruangan.OK)) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) @@ -2226,7 +2254,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb for (Map mapLayanan : dataLayanan) { if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.VISITE) - && (listKonsulTapiVisit.contains(mapLayanan.get("produkId")) + && ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString()))) || mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT))) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) && mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { @@ -2269,7 +2298,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } else if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.KONSUL_EKS) && mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) && mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0 @@ -2393,7 +2423,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } } else if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_EKS) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) && mapLayanan.get("jenisPetugasId").equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { if (skor.equals(0.0) && Double.parseDouble(mapLayanan.get("hargaDiskon").toString()) > 0.0 @@ -2516,10 +2547,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } } } else if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.TINDAKAN_REG) - && !listKonsulTapiVisit.contains(mapLayanan.get("produkId")) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && !listKonsulTapiVisit.contains(Integer.parseInt(mapLayanan.get("produkId").toString())) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) - && !listRuangEks.contains(mapLayanan.get("ruanganId")) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && !listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString())) && !mapLayanan.get("departemenId").equals(Master.Departemen.IGD) && !mapLayanan.get("ruanganId").equals(Master.Ruangan.OK)) { if (idJenisPetugas.equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) @@ -2581,7 +2614,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mf.format(new Date(bulan))); Integer idKelompokJabatan = null; - if (CommonUtil.isNotNullOrEmpty(data) && data.size() > 0) { + if (CommonUtil.isNotNullOrEmpty(data) && !data.isEmpty()) { idKelompokJabatan = Integer.parseInt(data.get(0).get("kelompokJabatanId").toString()); } @@ -2718,16 +2751,20 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb } for (Map map : data) { - if (!listIdUnitKerja.contains(map.get("unitKerjaId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("unitKerjaId")) + && !listIdUnitKerja.contains(Integer.parseInt(map.get("unitKerjaId").toString()))) { listIdUnitKerja.add(Integer.valueOf(map.get("unitKerjaId").toString())); } - if (!listIdSubunitKerja.contains(map.get("subunitKerjaId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("subunitKerjaId")) + && !listIdSubunitKerja.contains(Integer.parseInt(map.get("subunitKerjaId").toString()))) { listIdSubunitKerja.add(Integer.valueOf(map.get("subunitKerjaId").toString())); } - if (!listIdPegawai.contains(map.get("pegawaiId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("pegawaiId")) + && !listIdPegawai.contains(Integer.parseInt(map.get("pegawaiId").toString()))) { listIdPegawai.add(Integer.valueOf(map.get("pegawaiId").toString())); } - if (!listIdJabatan.contains(map.get("jabatanId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("jabatanId")) + && !listIdJabatan.contains(Integer.parseInt(map.get("jabatanId").toString()))) { listIdJabatan.add(Integer.valueOf(map.get("jabatanId").toString())); } } @@ -2935,7 +2972,8 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb mapLayanan.put("tSkor", 0.0); } else if (!mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.KONSUL) && !mapLayanan.get("namaProduk").toString().toLowerCase().contains(Master.VISIT) - && listRuangEks.contains(mapLayanan.get("ruanganId"))) { + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("ruanganId")) + && listRuangEks.contains(Integer.parseInt(mapLayanan.get("ruanganId").toString()))) { mapLayanan.put("skor", Double.parseDouble(decf.format(Double.parseDouble(mapLayanan.get("skor").toString()) * Master.Remunerasi.PERSEN_SKOR_EKSEKUTIF))); @@ -2994,10 +3032,17 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb double capaian = 0.0; for (Map mapLayanan : dataLayanan) { if (mapLayanan.get("pegawaiId").equals(idPegawai) - && (listDetailJenisProduk.contains(mapLayanan.get("detailJenisProdukId")) - || (!listDetailJenisProduk.contains(mapLayanan.get("detailJenisProdukId")) - && idsDokterUmumIGD.contains(mapLayanan.get("produkId")) - && drKsmUmumList.contains(mapLayanan.get("pegawaiId")) + && ((CommonUtil.isNotNullOrEmpty(mapLayanan.get("detailJenisProdukId")) && listDetailJenisProduk + .contains(Integer.parseInt(mapLayanan.get("detailJenisProdukId").toString()))) + || (CommonUtil.isNotNullOrEmpty(mapLayanan.get("detailJenisProdukId")) + && !listDetailJenisProduk.contains(Integer + .parseInt(mapLayanan.get("detailJenisProdukId").toString())) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("produkId")) + && idsDokterUmumIGD + .contains(Integer.parseInt(mapLayanan.get("produkId").toString())) + && CommonUtil.isNotNullOrEmpty(mapLayanan.get("pegawaiId")) + && drKsmUmumList + .contains(Integer.parseInt(mapLayanan.get("pegawaiId").toString())) && mapLayanan.get("departemenId").equals(Master.Departemen.IGD)))) { capaian += Double.parseDouble(mapLayanan.get("tSkor").toString()); } @@ -3018,8 +3063,6 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List listIdPegawai = new ArrayList<>(); List listIdJabatan = new ArrayList<>(); - List listJabatanIndikator = new ArrayList<>(); - List> listMapFilter = new ArrayList<>(); Date endMonth = DateUtil.endMonth(bulan); Date startYear = DateUtil.startYear(bulan); @@ -3037,12 +3080,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> listMapIndikator = logbookKinerjaDao.findIndikatorByJabatan(listIdJabatan, mf.format(bulan)); - for (Map map : listMapIndikator) { - if (!listJabatanIndikator - .contains(map.get("jabatanId").toString() + "" + map.get("indikatorId").toString())) { - listMapFilter.add(map); - } - } + List> listMapFilter = new ArrayList<>(listMapIndikator); /* * Get All Dokter Mapped Indikator @@ -3343,10 +3381,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List listSkor = new ArrayList<>(); List listTglPelayanan = new ArrayList<>(); for (Map map : pelayananPerawat) { - if (!listIdProduk.contains(map.get("produkId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("produkId")) + && !listIdProduk.contains(Integer.parseInt(map.get("produkId").toString()))) { listIdProduk.add(Integer.parseInt(map.get("produkId").toString())); } - if (!listSkor.contains(map.get("skor"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("skor")) + && !listSkor.contains(Double.parseDouble(map.get("skor").toString()))) { listSkor.add(Double.parseDouble(map.get("skor").toString())); } if (!listTglPelayanan.contains(df.format((Date) map.get("tglPelayanan")))) { @@ -3444,10 +3484,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List listSkor = new ArrayList<>(); List listTglPelayanan = new ArrayList<>(); for (Map map : pelayananNakes) { - if (!listIdProduk.contains(map.get("produkId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("produkId")) + && !listIdProduk.contains(Integer.parseInt(map.get("produkId").toString()))) { listIdProduk.add(Integer.parseInt(map.get("produkId").toString())); } - if (!listSkor.contains(map.get("skor"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("skor")) + && !listSkor.contains(Double.parseDouble(map.get("skor").toString()))) { listSkor.add(Double.parseDouble(map.get("skor").toString())); } if (!listTglPelayanan.contains(df.format((Date) map.get("tglPelayanan")))) { @@ -3544,10 +3586,12 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List listSkor = new ArrayList<>(); List listTglPelayanan = new ArrayList<>(); for (Map map : pelayananFarmakologi) { - if (!listIdProduk.contains(map.get("produkId"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("produkId")) + && !listIdProduk.contains(Integer.parseInt(map.get("produkId").toString()))) { listIdProduk.add(Integer.parseInt(map.get("produkId").toString())); } - if (!listSkor.contains(map.get("skor"))) { + if (CommonUtil.isNotNullOrEmpty(map.get("skor")) + && !listSkor.contains(Double.parseDouble(map.get("skor").toString()))) { listSkor.add(Double.parseDouble(map.get("skor").toString())); } if (!listTglPelayanan.contains(df.format((Date) map.get("tglPelayanan")))) { diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java index 3946da92..4b474efa 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RekamDataPegawaiServiceImpl.java @@ -178,6 +178,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); + List kategoriPegawaiAksesAplikasiRemun = splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun"); if (CommonUtil.isNotNullOrEmpty(vo.getId())) { pegawai = rekamDataPegawaiDao.findOne(vo.getId()); Integer idJabatanUtama = mapPegawaiJabatanToUnitkerjaDao.getIdJabatanInternalUtamaByIdPegawai(vo.getId()); @@ -650,7 +651,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re kategoryPegawaiConverter.transferVOToModel(vo.getKategoryPegawai(), new KategoryPegawai())); perubahan += "ubah kategory pegawai, "; - if (Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU).contains(vo.getKategoryPegawai().getId())) { + if (kategoriPegawaiAksesAplikasiRemun.contains(vo.getKategoryPegawai().getId())) { TypePegawai typePegawai = new TypePegawai(); typePegawai.setId(Master.TipePegawai.PURNA_WAKTU); pegawai.setTypePegawai(typePegawai); @@ -667,7 +668,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re kategoryPegawaiConverter.transferVOToModel(vo.getKategoryPegawai(), new KategoryPegawai())); perubahan += "kategory pegawai, "; - if (Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU).contains(vo.getKategoryPegawai().getId()) + if (kategoriPegawaiAksesAplikasiRemun.contains(vo.getKategoryPegawai().getId()) && CommonUtil.isNullOrEmpty(vo.getTypePegawai())) { JenisPegawai jenisPegawai = new JenisPegawai(); jenisPegawai.setId(Master.TipePegawai.PURNA_WAKTU); @@ -1382,7 +1383,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re kategoryPegawaiConverter.transferVOToModel(vo.getKategoryPegawai(), new KategoryPegawai())); perubahan += "kategory pegawai, "; - if (Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU).contains(vo.getKategoryPegawai().getId()) + if (kategoriPegawaiAksesAplikasiRemun.contains(vo.getKategoryPegawai().getId()) && CommonUtil.isNullOrEmpty(vo.getTypePegawai())) { TypePegawai typePegawai = new TypePegawai(); typePegawai.setId(Master.TipePegawai.PURNA_WAKTU);