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 b9299377..e542b9ec 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 @@ -1179,8 +1179,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Pengecualian daftar tindakan penunjang yang * bebas klaim */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) { + /* + * Dokter PA klaim hanya boleh dokter + * pemeriksa + */ + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK).contains( @@ -1239,8 +1245,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Pengecualian daftar tindakan penunjang yang * bebas klaim */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK).contains( @@ -1300,8 +1308,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Pengecualian daftar tindakan penunjang yang * bebas klaim */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK).contains( @@ -1360,8 +1370,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Pengecualian daftar tindakan penunjang yang * bebas klaim */ - listPelayananRemun.add(next); - capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) { + listPelayananRemun.add(next); + capaianRemun += Double.parseDouble(next.get("hargaJasa").toString()); + } } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK).contains( @@ -1417,7 +1429,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Pengecualian daftar tindakan penunjang yang * bebas klaim */ - listPelayananFfs.add(next); + if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) + listPelayananFfs.add(next); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK).contains( @@ -1471,7 +1484,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel * Pengecualian daftar tindakan penunjang yang * bebas klaim */ - listPelayananFfs.add(next); + if (DOKTER_PEMERIKSA.equals(next.get("idJenisPelaksana"))) + listPelayananFfs.add(next); } else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk")) || (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK).contains( @@ -3711,6 +3725,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 @@ -3721,15 +3744,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()); @@ -3762,15 +3776,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; @@ -3799,15 +3804,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; @@ -3836,15 +3832,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; @@ -3872,15 +3859,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) { @@ -3900,15 +3878,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) { @@ -3928,15 +3897,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) { @@ -3949,8 +3909,14 @@ 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); + if (totalDiskon > 0.0) { + builder.keterangan( + " dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) + " terlebih dahulu"); + } else { + builder.keterangan(""); + } + } return builder.build(); }