From 9bc7d6a4a6550addd07a70f10377a1f66589cc0b Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 15 Mar 2024 22:42:58 +0700 Subject: [PATCH 1/2] Update PelayananPasienServiceImpl.java Penyesuaian non-diskon jasa medis tetap dipengaruhi diskon jasa medis komponen lain karena tarif setelah diskon berubah --- .../impl/PelayananPasienServiceImpl.java | 77 +++---------------- 1 file changed, 12 insertions(+), 65 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 582d7928..bbbcdd52 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 @@ -3635,6 +3635,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel double totalDiskonAn = Double.parseDouble(d.get("totalDiskonAn").toString()); double totalPersenDiskonSayatanAn = Double.parseDouble(d.get("totalPersenDiskonSayatanAn").toString()); double totalHargaAn = Double.parseDouble(d.get("totalHargaAn").toString()); + double totalDiskon = 0.0; + if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) + totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); + if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) + totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); + if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) + totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); + double hargaJualSetelahDiskon = hargaJual - totalDiskon; + double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; if (Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0 && Double.parseDouble(d.get("diskonD").toString()) >= 0.0 && Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0 @@ -3645,15 +3654,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0 && Double .parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0 && Double.parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString()); double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString()); double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString()); @@ -3686,15 +3686,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0 && Double .parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString()); double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString()); double hargaJasaOperator = persenRemunOperator * hargaJasa / 100; @@ -3723,15 +3714,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0 && Double .parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString()); double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString()); double hargaJasaOperator = persenRemunOperator * hargaJasa / 100; @@ -3760,15 +3742,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && Double.parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0 && Double .parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString()); double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString()); double hargaJasaAsisten = persenRemunAsisten * hargaJasa / 100; @@ -3796,15 +3769,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Double.parseDouble(d.get("diskonAn").toString()) <= 0.0 && (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString()); builder.nilai(persenRemunOperator * hargaJasa / 100); if (isFrontNote) { @@ -3824,15 +3788,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Double.parseDouble(d.get("diskonAn").toString()) <= 0.0 && (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && Double.parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString()); builder.nilai(persenRemunAsisten * hargaJasa / 100); if (isFrontNote) { @@ -3852,15 +3807,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Double.parseDouble(d.get("diskonAs").toString()) <= 0.0 && (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && Double.parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) { - double totalDiskon = 0.0; - if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0) - totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0) - totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100); - if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0) - totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); - double hargaJualSetelahDiskon = hargaJual - totalDiskon; - double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString()); builder.nilai(persenRemunAnestesi * hargaJasa / 100); if (isFrontNote) { @@ -3873,8 +3819,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel + "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%"); } } else { - builder.nilai(persenRemunerasi * hargaJual); - builder.keterangan(""); + builder.nilai(persenRemunerasi * hargaJualSetelahDiskon); + builder.keterangan( + " dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) + " terlebih dahulu"); } return builder.build(); } From 0c61d7a8f210acf9ef5d4d76eb7f8339c19c9405 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 18 Mar 2024 10:30:01 +0700 Subject: [PATCH 2/2] Update PelayananPasienServiceImpl.java Perbaikan keterangan selisih tarif setelah diskon pada logbook dokter karna diskon komponen dokter lain --- .../service/impl/PelayananPasienServiceImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 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 bbbcdd52..65c81570 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 @@ -675,6 +675,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } else if (drKkGenetika.contains(idPegawai) && idProdukLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { + /* + * A rule for claimed <= Jul 31th 2023 + */ RemunHargaJasa hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, false); d.put("hargaJasa", hargaJasa.getNilai()); } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { @@ -3820,8 +3823,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } } else { builder.nilai(persenRemunerasi * hargaJualSetelahDiskon); - builder.keterangan( - " dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) + " terlebih dahulu"); + if (totalDiskon > 0.0) { + builder.keterangan( + " dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) + " terlebih dahulu"); + } else { + builder.keterangan(""); + } + } return builder.build(); }