From ecda871806baa589c9ef7d87021f359ba5a690fb Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 22 Nov 2023 18:54:26 +0700 Subject: [PATCH] Update PelayananPasienServiceImpl.java Penyesuaian kolom keterangan logbook untuk tindakan selisih paket --- .../impl/PelayananPasienServiceImpl.java | 50 +++++++++++++------ 1 file changed, 34 insertions(+), 16 deletions(-) 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 fec87f1b..fd89d027 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 @@ -1772,6 +1772,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel System.out.println(e.getMessage()); return null; } + Locale indonesia = new Locale("in", "ID"); + NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia); Map remunFfs = this.splitRemunFfs(idPegawai, bulan); @SuppressWarnings("unchecked") List> listData = (List>) remunFfs.get("remun"); @@ -1812,8 +1814,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Map d : listData) { double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); - if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) + String keteranganTambahan = ""; + if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); + keteranganTambahan = " dan selisih paket karena diskon " + + nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); + } if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { d.put("persenJasa", persenRemunDokterUmumHD + "%"); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) @@ -1824,7 +1830,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenOperator / 100; d.put("persenJasa", persenOperator + "%"); - d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif"); + d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual); } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) @@ -1833,7 +1839,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAsistenIBS / 100; d.put("persenJasa", persenAsistenIBS + "%"); - d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif"); + d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual); } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) @@ -1842,14 +1848,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { double persenJasa = persenAnestesi / 100; d.put("persenJasa", persenAnestesi + "%"); - d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif"); + d.put("keterangan", "Dari " + persenTarifJasaBedah + "% tarif" + keteranganTambahan); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifIBS * hargaJual); } else if (BEDAH_SENTRAL.equals(d.get("idDepartemen")) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenOperator + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenOperator / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -1858,7 +1864,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -1866,7 +1872,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -1931,7 +1937,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { double persenJasa = persenTindakan / 100; d.put("persenJasa", persenTindakan + "%"); - d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif"); + d.put("keterangan", "Dari " + persenTarifJasaICU + "% tarif" + keteranganTambahan); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenJasa * persenTarifICU * hargaJual); } else { @@ -2111,6 +2117,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel System.out.println(e.getMessage()); return null; } + Locale indonesia = new Locale("in", "ID"); + NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia); Map remunFfs = this.splitRemunFfs(idPegawai, bulan); @SuppressWarnings("unchecked") List> listData = (List>) remunFfs.get("ffs"); @@ -2143,8 +2151,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Map d : listData) { double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); - if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) + String keteranganTambahan = ""; + if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); + keteranganTambahan = " dan selisih paket karena diskon " + + nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); + } if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { /* @@ -2166,7 +2178,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenOperator + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenOperator / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -2175,7 +2187,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -2183,7 +2195,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -2426,6 +2438,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel System.out.println(e.getMessage()); return null; } + Locale indonesia = new Locale("in", "ID"); + NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia); Map remunFfs = this.splitRemunFfs(idPegawai, bulan); @SuppressWarnings("unchecked") List> listData = (List>) remunFfs.get("klaim-mpp"); @@ -2458,8 +2472,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Map d : listData) { double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); - if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) + String keteranganTambahan = ""; + if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); + keteranganTambahan = " dan selisih paket karena diskon " + + nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); + } if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { /* @@ -2481,7 +2499,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenOperatorIBS + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenOperatorIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -2490,7 +2508,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenAsistenIBS + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAsistenIBS / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual))); @@ -2498,7 +2516,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) { d.put("persenJasa", persenAnestesi + "%"); d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) - + "% tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + + "% tarif" + keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()); if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0) d.put("hargaJasa", persenAnestesi / 100 * (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)));