diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java index f7f32e0e..d36bb2fe 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java @@ -26,6 +26,8 @@ public interface PelayananPasienService { List> logbookFfsTarifDokter(Integer idPegawai, String bulan); + List> logbookKlaimMpp(Integer idPegawai, String bulan); + List> detailLogbookTarifDokter(Integer idPegawai, List norecs); List tagihan(String noRegistrasi); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index 10f1c8f0..c6bc496d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -575,15 +575,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else { d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); } + /* + * Inisialisasi collect logbook klaim MPP + */ + List> listPelayananKlaimMpp = new ArrayList<>(); /* * Alokasi data diambil terlebih dahulu untuk kelompok BPJS, Jaminan * Kemenkes */ - List> rawDataBpjs0 = new ArrayList<>(); - for (Map d : listData) - if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) - && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) - rawDataBpjs0.add(d); + List> rawDataBpjs0 = listData + .stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays + .asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) + .collect(Collectors.toList()); /* * Filter tindakan operasi untuk pasien BPJS hanya diambil tarif * tertinggi saja dalam satu siklus pelayanan @@ -610,6 +613,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel rawDataBpjs1.add(d); } else if (!BEDAH_SENTRAL.equals(d.get("idDepartemen"))) { rawDataBpjs1.add(d); + } else { + listPelayananKlaimMpp.add(d); } } /* @@ -658,6 +663,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel count++; e.put("count", count); break; + } else if (d.get("idPasienDaftar").toString().equals(e.get("id")) + && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) + && d.get("tanggal").toString().equals(e.get("tanggal")) + && Integer.parseInt(e.get("count").toString()) > maxVisit) { + listPelayananKlaimMpp.add(d); } } else { break; @@ -718,6 +728,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel count++; e.put("count", count); break; + } else if (d.get("idPasienDaftar").toString().equals(e.get("id")) + && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) + && d.get("tanggal").toString().equals(e.get("tanggal")) + && Integer.parseInt(e.get("count").toString()) > maxVisit) { + listPelayananKlaimMpp.add(d); } } else { break; @@ -782,6 +797,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel count++; e.put("count", count); break; + } else if (d.get("idPasienDaftar").toString().equals(e.get("id")) + && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) + && d.get("tanggal").toString().equals(e.get("tanggal")) + && Integer.parseInt(e.get("count").toString()) > maxMonitoring) { + listPelayananKlaimMpp.add(d); } } else { break; @@ -789,8 +809,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && !Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())))) || !idsMonitoringHemodinamikGagalOrgan.contains(Integer.parseInt(d.get("idProduk").toString())) - && count == 1) + && count == 1) { rawDataBpjs4.add(d); + } else if ((CommonUtil.isNullOrEmpty(d.get("idRuangan")) + || (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) + && !Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString())))) + || !idsMonitoringHemodinamikGagalOrgan.contains(Integer.parseInt(d.get("idProduk").toString())) + && count > 1) { + listPelayananKlaimMpp.add(d); + } } } else { rawDataBpjs4.addAll(rawDataBpjs3); @@ -843,14 +870,24 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel count++; e.put("count", count); break; + } else if (d.get("idPasienDaftar").toString().equals(e.get("id")) + && Integer.valueOf(d.get("idProduk").toString()).equals(e.get("idProduk")) + && d.get("tanggal").toString().equals(e.get("tanggal")) + && Integer.parseInt(e.get("count").toString()) > maxMonitoring) { + listPelayananKlaimMpp.add(d); } } else { break; } if (((!NICU.equals(d.get("idRuangan")) && !NICU_COVID.equals(d.get("idRuangan"))) || !idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) - && count == 1) + && count == 1) { rawDataBpjs5.add(d); + } else if (((!NICU.equals(d.get("idRuangan")) && !NICU_COVID.equals(d.get("idRuangan"))) + || !idsMonitoringIntervensi.contains(Integer.parseInt(d.get("idProduk").toString()))) + && count > 1) { + listPelayananKlaimMpp.add(d); + } } } else { rawDataBpjs5.addAll(rawDataBpjs4); @@ -1305,35 +1342,53 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } } } - /* - * Sorting data remun diurutkan - */ - listPelayananRemun = listPelayananRemun.stream() - .sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"), - Comparator.nullsLast(Comparator.naturalOrder()))) - .sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()), - Comparator.nullsLast(Comparator.naturalOrder()))) - .sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()), - Comparator.nullsLast(Comparator.naturalOrder()))) - .sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList()); - result.put("remun", listPelayananRemun); - /* - * Informasi target - */ - result.put("targetRemun", targetRemun); - result.put("targetRemunFormatted", new DecimalFormat("Rp#,##0.00").format(targetRemun)); - /* - * Sorting data ffs diurutkan - */ - listPelayananFfs = listPelayananFfs.stream() - .sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"), - Comparator.nullsLast(Comparator.naturalOrder()))) - .sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString()), - Comparator.nullsLast(Comparator.naturalOrder()))) - .sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString()), - Comparator.nullsLast(Comparator.naturalOrder()))) - .sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList()); - result.put("ffs", listPelayananFfs); + { + /* + * Sorting data remun diurutkan + */ + listPelayananRemun = listPelayananRemun.stream() + .sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList()); + result.put("remun", listPelayananRemun); + /* + * Informasi target + */ + result.put("targetRemun", targetRemun); + result.put("targetRemunFormatted", new DecimalFormat("Rp#,##0.00").format(targetRemun)); + } + { + /* + * Sorting data ffs diurutkan + */ + listPelayananFfs = listPelayananFfs.stream() + .sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList()); + result.put("ffs", listPelayananFfs); + } + { + /* + * Sorting data klaim mpp diurutkan + */ + listPelayananKlaimMpp = listPelayananKlaimMpp.stream() + .sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList()); + result.put("klaim-mpp", listPelayananKlaimMpp); + } return result; } @@ -1918,6 +1973,195 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel return result; } + @Override + public List> logbookKlaimMpp(Integer idPegawai, String bulan) { + List listIdProduk = new ArrayList<>(); + List listPersenJasa = new ArrayList<>(); + List listHargaJasa = new ArrayList<>(); + List listHargaJual = new ArrayList<>(); + List listIdKelompokPasien = new ArrayList<>(); + List listTanggal = new ArrayList<>(); + List listJenisRuangan = new ArrayList<>(); + DateFormat df = new SimpleDateFormat("yyyy-MM"); + Date date; + try { + date = df.parse(bulan); + } catch (ParseException e) { + System.out.println(e.getMessage()); + return null; + } + Map remunFfs = this.splitRemunFfs(idPegawai, bulan); + @SuppressWarnings("unchecked") + List> listData = (List>) remunFfs.get("klaim-mpp"); + /* + * Mendapatkan persentase jasa + */ + double persenBPJS = Double.parseDouble(GetSettingDataFixed("persenJasaBPJS")); + double persenOperatorIBS = Double.parseDouble(GetSettingDataFixed("persenJasaOperatorIBS")); + double persenAsistenIBS = Double.parseDouble(GetSettingDataFixed("persenJasaAsistenIBS")); + double persenAnestesi = Double.parseDouble(GetSettingDataFixed("persenJasaAnestesiIBS")); + double persenRadiologi = Double.parseDouble(GetSettingDataFixed("persenJasaRadiologi")); + double persenLaboratorium = Double.parseDouble(GetSettingDataFixed("persenJasaLaboratorium")); + double persenRehabMedik = Double.parseDouble(GetSettingDataFixed("persenJasaRehabMedik")); + double persenKonsultasi = Double.parseDouble(GetSettingDataFixed("persenJasaKonsultasiDokter")); + double persenVisite = Double.parseDouble(GetSettingDataFixed("persenJasaVisiteDokter")); + double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter")); + double persenJasaDokterPA = Double.parseDouble(GetSettingDataFixed("persenJasaDokterPA")); + double persenJasaDokterUmumHD = Double.parseDouble(GetSettingDataFixed("persenJasaDokterUmumHD")); + double persenJasaLabGenetika = Double.parseDouble(GetSettingDataFixed("persenJasaLabGenetika")); + /* + * Persiapan filter logic remunerasi + */ + List drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI); + List drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM); + List drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA); + List drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI); + List idProdukLabGenetikaLuarRuangan = splitDataSettingDatafixed("idProdukLabGenetikaLuarRuangan"); + /* + * Mapping persentase jasa remunerasi + */ + for (Map d : listData) { + if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) + && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { + /* + * Set persen jasa dokter luar yang klaim ffs dengan persen jasa + * dari tarif total + */ + d.put("persenJasa", persenBPJS + "%"); + /* + * Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter + * tertentu + */ + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenJasaDokterUmumHD + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", + persenJasaDokterUmumHD / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenOperatorIBS + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAsistenIBS + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) + && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAnestesi + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (RADIOLOGI.equals(d.get("idDepartemen"))) { + d.put("persenJasa", persenRadiologi + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenRadiologi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { + d.put("persenJasa", persenRehabMedik + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenRehabMedik / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { + d.put("persenJasa", persenKonsultasi + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (VISIT.equals(d.get("idGolonganProduk"))) { + d.put("persenJasa", persenVisite + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenTindakan + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { + d.put("persenJasa", persenAnestesi + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenAnestesi / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkGenetika.contains(idPegawai) + && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) + && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { + d.put("persenJasa", persenJasaLabGenetika + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { + d.put("persenJasa", persenJasaLabGenetika + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenJasaLabGenetika / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (drKkPatologiAnatomiList.contains(idPegawai)) { + d.put("persenJasa", persenJasaDokterPA + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenJasaDokterPA / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else if (LABORATORIUM.equals(d.get("idDepartemen"))) { + d.put("persenJasa", persenLaboratorium + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenLaboratorium / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } else { + d.put("persenJasa", persenTindakan + "%"); + if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) + d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString())); + } + } + /* + * Populate data filter + */ + listData.forEach(d -> { + if (!listIdProduk.contains(Integer.parseInt(d.get("idProduk").toString()))) + listIdProduk.add(Integer.valueOf(d.get("idProduk").toString())); + if (!listPersenJasa.contains(d.get("persenJasa").toString())) + listPersenJasa.add(d.get("persenJasa").toString()); + if (!listHargaJasa.contains(Double.parseDouble(d.get("hargaJasa").toString()))) + listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString())); + if (!listHargaJual.contains(Double.parseDouble(d.get("hargaJual").toString()))) + listHargaJual.add(Double.valueOf(d.get("hargaJual").toString())); + if (!listIdKelompokPasien.contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) + listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString())); + if (!listTanggal.contains(d.get("tanggal").toString())) + listTanggal.add(d.get("tanggal").toString()); + if (!listJenisRuangan.contains(d.get("jenisRuangan").toString())) + listJenisRuangan.add(d.get("jenisRuangan").toString()); + }); + /* + * Pengelompokkan tanggal pelayanan + */ + List> dataTanggal = groupingTanggalFfs(listData); + /* + * Pengelompokkan produk layanan + */ + List> result = groupingKategoriFfs(dataTanggal); + /* + * Final sorting + */ + result = result.stream() + .sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()), + Comparator.nullsLast(Comparator.naturalOrder()))) + .sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())) + .sorted(Comparator.comparing(o5 -> o5.get("jenisRuangan").toString(), Comparator.reverseOrder())) + .collect(Collectors.toList()); + result.forEach(r -> { + /* + * Hapus informasi tidak perlu + */ + r.remove("idDPJP"); + r.remove("tglPelayanan"); + r.remove("tanggal"); + r.remove("idKelas"); + r.remove("namaKelas"); + r.remove("idPelayananPasienPetugas"); + r.remove("idPelayananPasien"); + r.remove("norecs"); + r.remove("idDepartemen"); + r.remove("idPasienDaftar"); + r.remove("idPegawai"); + r.remove("idAntrianPasienDiperiksa"); + }); + return result; + } + @Override public List> detailLogbookTarifDokter(Integer idPegawai, List norecs) { return pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai, norecs); 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 4a5eca62..dd1e1f09 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 @@ -2668,6 +2668,25 @@ public class IkiDanRemunerasiController extends LocaleController>> getLogbookKlaimMpp(HttpServletRequest request, + @PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) { + try { + List> result = pelayananPasienService.logbookKlaimMpp(idPegawai, 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 logbook ffs tarif dokter", 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 logbook ffs tarif dokter", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/dokter/logbook-tarif/detail/{idPegawai}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity>> getDetailLogbookTarifDokter(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, @RequestBody List norecs) {