diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PendapatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PendapatanDao.java index afab9b78..d06d22be 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PendapatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PendapatanDao.java @@ -163,13 +163,14 @@ public interface PendapatanDao extends PagingAndSortingRepository public List> getLastTargetLayanan(@Param("tglAwal") String tglAwal, @Param("tglAkhir") String tglAkhir); + @Query("select distinct new Map(tl.subUnitKerjaPegawaiId as kelompokKerjaId," + "tl.indikatorId as indikatorId," + + "pg.id as pegawaiId," + "tl.target as target," + "tl.capaian as capaian," + "tl.tglHitung as tglHitung) " + + "from TargetLayanan tl, MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg " + + "where tl.subUnitKerjaPegawaiId = mj.subUnitKerjaPegawaiId " + "and tl.statusEnabled is true " + + "and mj.statusEnabled is true " + "and pg.statusEnabled is true " + + "and pg.kategoryPegawaiId in (:listKategoryId) " + "and pg.jenisPegawaiId = :jenisPegawaiId " + + "and to_char(tl.periode,'yyyy-MM') = :bulan " + + "order by tl.subUnitKerjaPegawaiId, tl.indikatorId, tl.tglHitung desc, pg.namaLengkap") + public List> findDataPembagianTarget(@Param("listKategoryId") List listIdKategori, + @Param("jenisPegawaiId") Integer idJenisPegawai, @Param("bulan") String bulan); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndekKinerjaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndekKinerjaService.java index 3e87c73a..fb58a023 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndekKinerjaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndekKinerjaService.java @@ -90,7 +90,7 @@ public interface IndekKinerjaService { String tgl, Boolean ffs); List> findPatientDetailForEveryTindakanReview(Integer idProduk, Integer idKelas, - Integer idPegawai, String tgl, Boolean ffs); + Integer idPegawai, String tgl, Boolean ffs, Double diskon, Boolean statusDiskon); List> findPatientDetailForEveryTindakanReview(Integer idPegawai, String tgl, Boolean ffs); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PendapatanService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PendapatanService.java index cd76724b..974b4a15 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PendapatanService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PendapatanService.java @@ -11,17 +11,18 @@ public interface PendapatanService { Double getPoin(Double jasaDokter, Double tarif, Double total); - Map getJasaMedisRemun(List listDrAnastesi, Integer idJenisPetugasPelaksana, Integer idPegawai, - Integer idProduk, Integer idKomponenHarga, Double hargaJual, Double hargaDiskon, Double count); + Map getJasaMedisRemun(List listDrAnastesi, Integer idJenisPetugasPelaksana, + Integer idPegawai, Integer idProduk, Integer idKomponenHarga, Double hargaJual, Double hargaDiskon, + Double count); - Map getJasaMedisFfs(List listDrAnastesi, Integer idJenisPetugasPelaksana, Integer idPegawai, - Integer idProduk, String namaProduk, Integer idKelompokPasien, Integer idDepartemen, + Map getJasaMedisFfs(List listDrAnastesi, Integer idJenisPetugasPelaksana, + Integer idPegawai, Integer idProduk, String namaProduk, Integer idKelompokPasien, Integer idDepartemen, Integer idKomponenHarga, Double hargaJual, Double hargaDiskon, Double count); List> getFeeForServiceDokter(String periode, Integer idPegawai); List> getDetailFeeForServiceDokter(Integer idProduk, Integer idKelas, Integer idKomponenHarga, - Integer idPegawai, String tgl); + Integer idPegawai, String tgl, Double diskon, Boolean statusDiskon); List> getCetakLaporanFeeForServiceDokter(String periode, Integer idDepartemen); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java index 6badd496..3ce9def6 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndekKinerjaServiceImpl.java @@ -2971,24 +2971,43 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK for (Integer idKelas : listKelasId) { for (Integer idPelaksana : listPelaksanaId) { for (String tanggal : listTanggalPelayanan) { - Map mapResult = new HashMap<>(); - double count = 0.0; - int dataCount = 0; + Map mapResult1 = new HashMap<>(); + Map mapResult2 = new HashMap<>(); + double count1 = 0.0; + double count2 = 0.0; + int dataCount1 = 0; + int dataCount2 = 0; for (Map map : rawResult) { if (Integer.parseInt(map.get("idProduk").toString()) == idProduk + && Integer.parseInt(map.get("idKelas").toString()) == idKelas + && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana + && map.get("tanggal").toString().equals(tanggal) + && (Double.parseDouble(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString())))) { + count1 = count1 + Double.parseDouble(map.get("count").toString()); + dataCount1 = dataCount1 + 1; + if (dataCount1 == 1) { + mapResult1.putAll(map); + } + } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk && Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && map.get("tanggal").toString().equals(tanggal)) { - count = count + Double.parseDouble(map.get("count").toString()); - dataCount = dataCount + 1; - if (dataCount == 1) { - mapResult.putAll(map); + count2 = count2 + Double.parseDouble(map.get("count").toString()); + dataCount2 = dataCount2 + 1; + if (dataCount2 == 1) { + mapResult2.putAll(map); } } } - if (CommonUtil.isNotNullOrEmpty(mapResult.get("count"))) { - mapResult.put("count", count); - countResult.add(mapResult); + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("count"))) { + mapResult1.put("count", count1); + countResult.add(mapResult1); + } + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("count"))) { + mapResult2.put("count", count2); + countResult.add(mapResult2); } } } @@ -2998,17 +3017,51 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK for (Integer idProduk : listProdukId) { for (Integer idKelas : listKelasId) { for (Integer idPelaksana : listPelaksanaId) { - Map mapResult = new HashMap<>(); - List> datas = new ArrayList<>(); - Double totalKonsul = 0.0; - Double totalVisit = 0.0; - Double totalTindakan = 0.0; - Double totalProduk = 0.0; - int counter = 0; - boolean isDiskonJasamedis = false; + Map mapResult1 = new HashMap<>(); + Map mapResult2 = new HashMap<>(); + List> datas1 = new ArrayList<>(); + List> datas2 = new ArrayList<>(); + Double totalKonsul1 = 0.0; + Double totalKonsul2 = 0.0; + Double totalVisit1 = 0.0; + Double totalVisit2 = 0.0; + Double totalTindakan1 = 0.0; + Double totalTindakan2 = 0.0; + Double totalProduk1 = 0.0; + Double totalProduk2 = 0.0; + int counter1 = 0; + int counter2 = 0; + boolean isDiskonJasamedis1 = false; + boolean isDiskonJasamedis2 = false; for (Map map : countResult) { Map countMap = new HashMap<>(); if (Integer.parseInt(map.get("idProduk").toString()) == idProduk + && Integer.parseInt(map.get("idKelas").toString()) == idKelas + && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana + && (Double.parseDouble(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString())))) { + countMap.put("count", map.get("count")); + if (CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) { + countMap.put("harga", map.get("hargaKelas1")); + } else { + countMap.put("harga", map.get("harga")); + } + countMap.put("tanggal", map.get("tanggal")); + datas1.add(countMap); + if (map.get("namaProduk").toString().toLowerCase().contains("konsul")) { + totalKonsul1 = totalKonsul1 + Double.parseDouble(map.get("count").toString()); + } else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) { + totalVisit1 = totalVisit1 + Double.parseDouble(map.get("count").toString()); + } else { + totalTindakan1 = totalTindakan1 + Double.parseDouble(map.get("count").toString()); + } + totalProduk1 = totalProduk1 + Double.parseDouble(map.get("count").toString()); + counter1 = counter1 + 1; + if (counter1 == 1) { + mapResult1.putAll(map); + } + } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk && Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) { countMap.put("count", map.get("count")); @@ -3018,76 +3071,132 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK countMap.put("harga", map.get("harga")); } countMap.put("tanggal", map.get("tanggal")); - datas.add(countMap); + datas2.add(countMap); if (map.get("namaProduk").toString().toLowerCase().contains("konsul")) { - totalKonsul = totalKonsul + Double.parseDouble(map.get("count").toString()); + totalKonsul2 = totalKonsul2 + Double.parseDouble(map.get("count").toString()); } else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) { - totalVisit = totalVisit + Double.parseDouble(map.get("count").toString()); + totalVisit2 = totalVisit2 + Double.parseDouble(map.get("count").toString()); } else { - totalTindakan = totalTindakan + Double.parseDouble(map.get("count").toString()); + totalTindakan2 = totalTindakan2 + Double.parseDouble(map.get("count").toString()); } - totalProduk = totalProduk + Double.parseDouble(map.get("count").toString()); - counter = counter + 1; - if (counter == 1) { - mapResult.putAll(map); + totalProduk2 = totalProduk2 + Double.parseDouble(map.get("count").toString()); + counter2 = counter2 + 1; + if (counter2 == 1) { + mapResult2.putAll(map); } } } - if (CommonUtil.isNotNullOrEmpty(mapResult.get("count"))) { + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("count"))) { if (Master.LogbookDokter.IS_TARIF_SATU_HARGA) { - if (CommonUtil.isNotNullOrEmpty(mapResult.get("hargaKelas1"))) { - harga = Double.parseDouble(mapResult.get("hargaKelas1").toString()); + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("hargaKelas1"))) { + harga = Double.parseDouble(mapResult1.get("hargaKelas1").toString()); } else { - harga = Double.parseDouble(mapResult.get("harga").toString()); + harga = Double.parseDouble(mapResult1.get("harga").toString()); } } else { - harga = Double.parseDouble(mapResult.get("harga").toString()); + harga = Double.parseDouble(mapResult1.get("harga").toString()); } if (drAnastesiList.contains(idPegawai)) { if (Arrays.asList(Master.Produk.PENUNJANG_BUKAN_ANASTESI) - .contains(mapResult.get("idProduk"))) { + .contains(mapResult1.get("idProduk"))) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI; - } else if ((Integer) mapResult + } else if ((Integer) mapResult1 .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; - if (Double.parseDouble(mapResult.get("diskon").toString()) > 0 - && (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon")) - || !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) { - isDiskonJasamedis = true; + if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) + || !Boolean.valueOf(mapResult1.get("statusDiskon").toString()))) { + isDiskonJasamedis1 = true; } } else { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI; } } else { - if ((Integer) mapResult + if ((Integer) mapResult1 .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS; } else { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; - if (Double.parseDouble(mapResult.get("diskon").toString()) > 0 - && (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon")) - || !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) { - isDiskonJasamedis = true; + if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) + || !Boolean.valueOf(mapResult1.get("statusDiskon").toString()))) { + isDiskonJasamedis1 = true; } } } percentage = percentage / 100; point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI, - isDiskonJasamedis); - pointQty = point * totalProduk.doubleValue(); + isDiskonJasamedis1); + pointQty = point * totalProduk1.doubleValue(); formatPointQty = Double.parseDouble(df.format(pointQty)); - mapResult.put("totalKonsul", totalKonsul.longValue()); - mapResult.put("totalVisit", totalVisit.longValue()); - mapResult.put("totalTindakan", totalTindakan.longValue()); - mapResult.put("totalProduk", totalProduk.longValue()); - mapResult.put("datas", datas); - mapResult.put("poin", point); - mapResult.put("pointQty", formatPointQty); + mapResult1.put("totalKonsul", totalKonsul1.longValue()); + mapResult1.put("totalVisit", totalVisit1.longValue()); + mapResult1.put("totalTindakan", totalTindakan1.longValue()); + mapResult1.put("totalProduk", totalProduk1.longValue()); + mapResult1.put("datas", datas1); + mapResult1.put("poin", point); + mapResult1.put("pointQty", formatPointQty); - result.add(mapResult); + result.add(mapResult1); + } + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("count"))) { + if (Master.LogbookDokter.IS_TARIF_SATU_HARGA) { + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("hargaKelas1"))) { + harga = Double.parseDouble(mapResult2.get("hargaKelas1").toString()); + } else { + harga = Double.parseDouble(mapResult2.get("harga").toString()); + } + } else { + harga = Double.parseDouble(mapResult2.get("harga").toString()); + } + + if (drAnastesiList.contains(idPegawai)) { + if (Arrays.asList(Master.Produk.PENUNJANG_BUKAN_ANASTESI) + .contains(mapResult2.get("idProduk"))) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI; + } else if ((Integer) mapResult2 + .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; + if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) + || !Boolean.valueOf(mapResult2.get("statusDiskon").toString()))) { + isDiskonJasamedis2 = true; + } + } else { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI; + } + } else { + if ((Integer) mapResult2 + .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS; + } else { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; + if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) + || !Boolean.valueOf(mapResult2.get("statusDiskon").toString()))) { + isDiskonJasamedis2 = true; + } + } + } + + percentage = percentage / 100; + point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI, + isDiskonJasamedis2); + pointQty = point * totalProduk2.doubleValue(); + formatPointQty = Double.parseDouble(df.format(pointQty)); + + mapResult2.put("totalKonsul", totalKonsul2.longValue()); + mapResult2.put("totalVisit", totalVisit2.longValue()); + mapResult2.put("totalTindakan", totalTindakan2.longValue()); + mapResult2.put("totalProduk", totalProduk2.longValue()); + mapResult2.put("datas", datas2); + mapResult2.put("poin", point); + mapResult2.put("pointQty", formatPointQty); + + result.add(mapResult2); } } } @@ -3905,24 +4014,43 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK for (Integer idKelas : listKelasId) { for (Integer idPelaksana : listPelaksanaId) { for (String tanggal : listTanggalPelayanan) { - Map mapResult = new HashMap<>(); - double count = 0.0; - int dataCount = 0; + Map mapResult1 = new HashMap<>(); + Map mapResult2 = new HashMap<>(); + double count1 = 0.0; + double count2 = 0.0; + int dataCount1 = 0; + int dataCount2 = 0; for (Map map : rawResult) { if (Integer.parseInt(map.get("idProduk").toString()) == idProduk + && Integer.parseInt(map.get("idKelas").toString()) == idKelas + && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana + && map.get("tanggal").toString().equals(tanggal) + && (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString())))) { + count1 = count1 + Double.parseDouble(map.get("count").toString()); + dataCount1 = dataCount1 + 1; + if (dataCount1 == 1) { + mapResult1.putAll(map); + } + } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk && Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && map.get("tanggal").toString().equals(tanggal)) { - count = count + Double.parseDouble(map.get("count").toString()); - dataCount = dataCount + 1; - if (dataCount == 1) { - mapResult.putAll(map); + count2 = count2 + Double.parseDouble(map.get("count").toString()); + dataCount2 = dataCount2 + 1; + if (dataCount2 == 1) { + mapResult2.putAll(map); } } } - if (CommonUtil.isNotNullOrEmpty(mapResult.get("count"))) { - mapResult.put("count", count); - countResult.add(mapResult); + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("count"))) { + mapResult1.put("count", count1); + countResult.add(mapResult1); + } + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("count"))) { + mapResult2.put("count", count2); + countResult.add(mapResult2); } } } @@ -3932,14 +4060,43 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK for (Integer idProduk : listProdukId) { for (Integer idKelas : listKelasId) { for (Integer idPelaksana : listPelaksanaId) { - Map mapResult = new HashMap<>(); - List> datas = new ArrayList<>(); - Double totalTindakan = 0.0; - int counter = 0; - boolean isDiskonJasamedis = false; + Map mapResult1 = new HashMap<>(); + Map mapResult2 = new HashMap<>(); + List> datas1 = new ArrayList<>(); + List> datas2 = new ArrayList<>(); + Double totalTindakan1 = 0.0; + Double totalTindakan2 = 0.0; + int counter1 = 0; + int counter2 = 0; + boolean isDiskonJasamedis1 = false; + boolean isDiskonJasamedis2 = false; for (Map map : countResult) { Map countMap = new HashMap<>(); if (Integer.parseInt(map.get("idProduk").toString()) == idProduk + && Integer.parseInt(map.get("idKelas").toString()) == idKelas + && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana + && (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString())))) { + countMap.put("count", map.get("count")); + if (CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) { + countMap.put("harga", map.get("hargaKelas1")); + } else { + countMap.put("harga", map.get("harga")); + } + countMap.put("tanggal", map.get("tanggal")); + datas1.add(countMap); + totalTindakan1 = totalTindakan1 + Double.parseDouble(map.get("count").toString()); + + String tgl = map.get("tanggal").toString().substring(8, 10); + Long count = (new Double(Double.parseDouble(map.get("count").toString()))).longValue(); + mapResult1.put(tgl, count.toString()); + + counter1 = counter1 + 1; + if (counter1 == 1) { + mapResult1.putAll(map); + } + } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk && Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) { countMap.put("count", map.get("count")); @@ -3949,80 +4106,142 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK countMap.put("harga", map.get("harga")); } countMap.put("tanggal", map.get("tanggal")); - datas.add(countMap); - totalTindakan = totalTindakan + Double.parseDouble(map.get("count").toString()); + datas2.add(countMap); + totalTindakan2 = totalTindakan2 + Double.parseDouble(map.get("count").toString()); String tgl = map.get("tanggal").toString().substring(8, 10); Long count = (new Double(Double.parseDouble(map.get("count").toString()))).longValue(); - mapResult.put(tgl, count.toString()); + mapResult2.put(tgl, count.toString()); - counter = counter + 1; - if (counter == 1) { - mapResult.putAll(map); + counter2 = counter2 + 1; + if (counter2 == 1) { + mapResult2.putAll(map); } } } - if (CommonUtil.isNotNullOrEmpty(mapResult.get("count"))) { + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("count"))) { if (Master.LogbookDokter.IS_TARIF_SATU_HARGA) { - if (CommonUtil.isNotNullOrEmpty(mapResult.get("hargaKelas1"))) { - harga = Double.parseDouble(mapResult.get("hargaKelas1").toString()); + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("hargaKelas1"))) { + harga = Double.parseDouble(mapResult1.get("hargaKelas1").toString()); } else { - harga = Double.parseDouble(mapResult.get("harga").toString()); + harga = Double.parseDouble(mapResult1.get("harga").toString()); } } else { - harga = Double.parseDouble(mapResult.get("harga").toString()); + harga = Double.parseDouble(mapResult1.get("harga").toString()); } if (drAnastesiList.contains(idPegawai)) { if (Arrays.asList(Master.Produk.PENUNJANG_BUKAN_ANASTESI) - .contains(mapResult.get("idProduk"))) { + .contains(mapResult1.get("idProduk"))) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI; - } else if ((Integer) mapResult + } else if ((Integer) mapResult1 .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; - if (Double.parseDouble(mapResult.get("diskon").toString()) > 0 - && (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon")) - || !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) { - isDiskonJasamedis = true; + if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) + || !Boolean.valueOf(mapResult1.get("statusDiskon").toString()))) { + isDiskonJasamedis1 = true; } } else { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI; } } else { - if ((Integer) mapResult + if ((Integer) mapResult1 .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS; } else { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; - if (Double.parseDouble(mapResult.get("diskon").toString()) > 0 - && (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon")) - || !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) { - isDiskonJasamedis = true; + if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) + || !Boolean.valueOf(mapResult1.get("statusDiskon").toString()))) { + isDiskonJasamedis1 = true; } } } percentage = percentage / 100; point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI, - isDiskonJasamedis); - pointQty = point * totalTindakan.doubleValue(); + isDiskonJasamedis1); + pointQty = point * totalTindakan1.doubleValue(); - tindakanTotal += totalTindakan.longValue(); + tindakanTotal += totalTindakan1.longValue(); totalPoint += pointQty; - mapResult.put("totalTindakan", totalTindakan.longValue()); - mapResult.put("tindakanTotal", tindakanTotal); - mapResult.put("datas", datas); - mapResult.put("poin", point); - mapResult.put("poins", df.format(point)); - mapResult.put("pointQty", pointQty); - mapResult.put("pointQtys", df.format(pointQty)); - mapResult.put("totalPoin", totalPoint); - mapResult.put("totalPoint", df.format(totalPoint)); - mapResult.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", "")); - mapResult.put("maxDay", maxday); + mapResult1.put("totalTindakan", totalTindakan1.longValue()); + mapResult1.put("tindakanTotal", tindakanTotal); + mapResult1.put("datas", datas1); + mapResult1.put("poin", point); + mapResult1.put("poins", df.format(point)); + mapResult1.put("pointQty", pointQty); + mapResult1.put("pointQtys", df.format(pointQty)); + mapResult1.put("totalPoin", totalPoint); + mapResult1.put("totalPoint", df.format(totalPoint)); + mapResult1.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", "")); + mapResult1.put("maxDay", maxday); - result.add(mapResult); + result.add(mapResult1); + } + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("count"))) { + if (Master.LogbookDokter.IS_TARIF_SATU_HARGA) { + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("hargaKelas1"))) { + harga = Double.parseDouble(mapResult2.get("hargaKelas1").toString()); + } else { + harga = Double.parseDouble(mapResult2.get("harga").toString()); + } + } else { + harga = Double.parseDouble(mapResult2.get("harga").toString()); + } + + if (drAnastesiList.contains(idPegawai)) { + if (Arrays.asList(Master.Produk.PENUNJANG_BUKAN_ANASTESI) + .contains(mapResult2.get("idProduk"))) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI; + } else if ((Integer) mapResult2 + .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; + if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) + || !Boolean.valueOf(mapResult2.get("statusDiskon").toString()))) { + isDiskonJasamedis2 = true; + } + } else { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI; + } + } else { + if ((Integer) mapResult2 + .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS; + } else { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; + if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) + || !Boolean.valueOf(mapResult2.get("statusDiskon").toString()))) { + isDiskonJasamedis2 = true; + } + } + } + + percentage = percentage / 100; + point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI, + isDiskonJasamedis2); + pointQty = point * totalTindakan2.doubleValue(); + + tindakanTotal += totalTindakan2.longValue(); + totalPoint += pointQty; + + mapResult2.put("totalTindakan", totalTindakan2.longValue()); + mapResult2.put("tindakanTotal", tindakanTotal); + mapResult2.put("datas", datas2); + mapResult2.put("poin", point); + mapResult2.put("poins", df.format(point)); + mapResult2.put("pointQty", pointQty); + mapResult2.put("pointQtys", df.format(pointQty)); + mapResult2.put("totalPoin", totalPoint); + mapResult2.put("totalPoint", df.format(totalPoint)); + mapResult2.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", "")); + mapResult2.put("maxDay", maxday); + + result.add(mapResult2); } } } @@ -4490,7 +4709,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK @Override public List> findPatientDetailForEveryTindakanReview(Integer idProduk, Integer idKelas, - Integer idPegawai, String tgl, Boolean ffs) { + Integer idPegawai, String tgl, Boolean ffs, Double diskon, Boolean statusDiskon) { List> result = new ArrayList<>(); List> listData = new ArrayList<>(); @@ -4542,10 +4761,36 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK .contains(Integer.parseInt(map.get("detailId").toString())) || Arrays.asList(Master.DetailJenisProduk.PENUNJANG_PATOLOGI_KLINIK) .contains(Integer.parseInt(map.get("detailId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Master.KelompokPasien.BPJS .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) { Date tanggalPelayanan = (Date) map.get("tanggalPelayanan"); String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan); @@ -4590,21 +4835,60 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK .contains(Integer.parseInt(map.get("departemenId").toString())) && ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP) && !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId")) && Arrays.stream(Master.KONSUL_VISIT) .anyMatch(map.get("namaProduk").toString().toLowerCase()::contains) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang)) && Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN) && map.get("namaShift").toString().equals("Non Shift") && CommonUtil.isNotNullOrEmpty(jamPulangPSBB) @@ -4612,20 +4896,59 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK && (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) { if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulangPSBB))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString())) && ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk")) && Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) && map.get("departemenId").equals(Master.Departemen.IGD) @@ -4633,7 +4956,20 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK .contains(Integer.parseInt(map.get("idProduk").toString()))) { if (Master.KelompokPasien.BPJS .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) { Date tanggalPelayanan = (Date) map.get("tanggalPelayanan"); String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan); @@ -4678,21 +5014,60 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK .contains(Integer.parseInt(map.get("departemenId").toString())) && ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP) && !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId")) && Arrays.stream(Master.KONSUL_VISIT) .anyMatch(map.get("namaProduk").toString().toLowerCase()::contains) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang)) && Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN) && map.get("namaShift").toString().equals("Non Shift") && CommonUtil.isNotNullOrEmpty(jamPulangPSBB) @@ -4700,20 +5075,59 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK && (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) { if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulangPSBB))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString())) && ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk")) && Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) && listDetailJenisProdukException @@ -4722,10 +5136,36 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK .contains(Integer.parseInt(map.get("detailId").toString())) || Arrays.asList(Master.DetailJenisProduk.PENUNJANG_PATOLOGI_KLINIK) .contains(Integer.parseInt(map.get("detailId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Master.KelompokPasien.BPJS .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) { Date tanggalPelayanan = (Date) map.get("tanggalPelayanan"); String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan); @@ -4770,21 +5210,60 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK .contains(Integer.parseInt(map.get("departemenId").toString())) && ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP) && !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId")) && Arrays.stream(Master.KONSUL_VISIT) .anyMatch(map.get("namaProduk").toString().toLowerCase()::contains) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang)) && Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN) && map.get("namaShift").toString().equals("Non Shift") && CommonUtil.isNotNullOrEmpty(jamPulangPSBB) @@ -4792,20 +5271,59 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK && (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) { if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulangPSBB))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString())) && ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk)) && dateTimePelayanan.isBefore(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk")) && Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PendapatanServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PendapatanServiceImpl.java index 648aa82d..e0fa0582 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PendapatanServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PendapatanServiceImpl.java @@ -1089,24 +1089,44 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat for (Integer idKelas : listKelasId) { for (Integer idPelaksana : listPelaksanaId) { for (String tanggal : listTanggalPelayanan) { - Map mapResult = new HashMap<>(); - double count = 0.0; - int dataCount = 0; + Map mapResult1 = new HashMap<>(); + Map mapResult2 = new HashMap<>(); + double count1 = 0.0; + double count2 = 0.0; + int dataCount1 = 0; + int dataCount2 = 0; for (Map map : rawResult) { if (Integer.parseInt(map.get("idProduk").toString()) == idProduk + && Integer.parseInt(map.get("idKelas").toString()) == idKelas + && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana + && map.get("tanggal").toString().equals(tanggal) + && (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString())))) { + count1 = count1 + Double.parseDouble(map.get("count").toString()); + dataCount1 = dataCount1 + 1; + if (dataCount1 == 1) { + map.put("tarifJasa", 0.0); + mapResult1.putAll(map); + } + } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk && Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && map.get("tanggal").toString().equals(tanggal)) { - count = count + Double.parseDouble(map.get("count").toString()); - dataCount = dataCount + 1; - if (dataCount == 1) { - mapResult.putAll(map); + count2 = count2 + Double.parseDouble(map.get("count").toString()); + dataCount2 = dataCount2 + 1; + if (dataCount2 == 1) { + mapResult2.putAll(map); } } } - if (CommonUtil.isNotNullOrEmpty(mapResult.get("count"))) { - mapResult.put("count", count); - countResult.add(mapResult); + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("count"))) { + mapResult1.put("count", count1); + countResult.add(mapResult1); + } + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("count"))) { + mapResult2.put("count", count2); + countResult.add(mapResult2); } } } @@ -1116,41 +1136,60 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat for (Integer idProduk : listProdukId) { for (Integer idKelas : listKelasId) { for (Integer idPelaksana : listPelaksanaId) { - Map mapResult = new HashMap<>(); - List> datas = new ArrayList<>(); - Double totalTindakan = 0.0; - int counter = 0; + Map mapResult1 = new HashMap<>(); + Map mapResult2 = new HashMap<>(); + List> datas1 = new ArrayList<>(); + List> datas2 = new ArrayList<>(); + Double totalTindakan1 = 0.0; + Double totalTindakan2 = 0.0; + int counter1 = 0; + int counter2 = 0; for (Map map : countResult) { Map countMap = new HashMap<>(); if (Integer.parseInt(map.get("idProduk").toString()) == idProduk + && Integer.parseInt(map.get("idKelas").toString()) == idKelas + && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana + && (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString())))) { + countMap.put("count", map.get("count")); + countMap.put("harga", map.get("harga")); + countMap.put("tanggal", map.get("tanggal")); + datas1.add(countMap); + totalTindakan1 = totalTindakan1 + Double.parseDouble(map.get("count").toString()); + counter1 = counter1 + 1; + if (counter1 == 1) { + mapResult1.putAll(map); + } + } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk && Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) { countMap.put("count", map.get("count")); countMap.put("harga", map.get("harga")); countMap.put("tanggal", map.get("tanggal")); - datas.add(countMap); - totalTindakan = totalTindakan + Double.parseDouble(map.get("count").toString()); - counter = counter + 1; - if (counter == 1) { - mapResult.putAll(map); + datas2.add(countMap); + totalTindakan2 = totalTindakan2 + Double.parseDouble(map.get("count").toString()); + counter2 = counter2 + 1; + if (counter2 == 1) { + mapResult2.putAll(map); } } } - if (CommonUtil.isNotNullOrEmpty(mapResult.get("count"))) { - harga = Double.parseDouble(mapResult.get("harga").toString()); + if (CommonUtil.isNotNullOrEmpty(mapResult1.get("count"))) { + harga = Double.parseDouble(mapResult1.get("harga").toString()); if (drAnastesiList.contains(idPegawai)) { if (Arrays.asList(Master.Produk.PENUNJANG_BUKAN_ANASTESI) - .contains(mapResult.get("idProduk"))) { + .contains(mapResult1.get("idProduk"))) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI; - } else if (mapResult.get("idJenisPelaksana") + } else if (mapResult1.get("idJenisPelaksana") .equals(Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA)) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; } else { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI; } } else { - if (mapResult.get("idJenisPelaksana") + if (mapResult1.get("idJenisPelaksana") .equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS; } else { @@ -1160,15 +1199,49 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat percentage = percentage / 100; point = getPoin(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI); - pointQty = point * totalTindakan.doubleValue(); + pointQty = point * totalTindakan1.doubleValue(); formatPointQty = Double.parseDouble(df.format(pointQty)); - mapResult.put("totalTindakan", totalTindakan.longValue()); - mapResult.put("datas", datas); - mapResult.put("poin", point); - mapResult.put("pointQty", formatPointQty); + mapResult1.put("totalTindakan", totalTindakan1.longValue()); + mapResult1.put("datas", datas1); + mapResult1.put("poin", point); + mapResult1.put("pointQty", formatPointQty); - result.add(mapResult); + result.add(mapResult1); + } + if (CommonUtil.isNotNullOrEmpty(mapResult2.get("count"))) { + harga = Double.parseDouble(mapResult2.get("harga").toString()); + + if (drAnastesiList.contains(idPegawai)) { + if (Arrays.asList(Master.Produk.PENUNJANG_BUKAN_ANASTESI) + .contains(mapResult2.get("idProduk"))) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_PENUNJANG_BUKAN_ANASTESI; + } else if (mapResult2.get("idJenisPelaksana") + .equals(Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA)) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; + } else { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI; + } + } else { + if (mapResult2.get("idJenisPelaksana") + .equals(Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS)) { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS; + } else { + percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA; + } + } + + percentage = percentage / 100; + point = getPoin(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI); + pointQty = point * totalTindakan2.doubleValue(); + formatPointQty = Double.parseDouble(df.format(pointQty)); + + mapResult2.put("totalTindakan", totalTindakan2.longValue()); + mapResult2.put("datas", datas2); + mapResult2.put("poin", point); + mapResult2.put("pointQty", formatPointQty); + + result.add(mapResult2); } } } @@ -1180,7 +1253,7 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat @Override public List> getDetailFeeForServiceDokter(Integer idProduk, Integer idKelas, - Integer idKomponenHarga, Integer idPegawai, String tgl) { + Integer idKomponenHarga, Integer idPegawai, String tgl, Double diskon, Boolean statusDiskon) { List> result = new ArrayList<>(); List> rawData = new ArrayList<>(); List> listData = new ArrayList<>(); @@ -1426,19 +1499,71 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .contains(idPegawai)) { for (Map map : listData) { if (listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) && map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai) && Arrays.asList(Master.Produk.DOKTER_UMUM_IGD) .contains(Integer.parseInt(map.get("idProduk").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) && listDetailJenisProdukException .contains(Integer.parseInt(map.get("detailId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProduk) && listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } else { @@ -1549,12 +1674,42 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } else { @@ -1565,14 +1720,44 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat || dateTimePelayanan.isAfter(datePulang))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString())) && !Arrays.stream(Master.KONSUL_VISIT).anyMatch( map.get("namaProduk").toString().toLowerCase()::contains)) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1589,14 +1774,42 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat if (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulangPSBB) || dateTimePelayanan.isAfter(datePulangPSBB)) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString())) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) @@ -1606,7 +1819,20 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1615,12 +1841,38 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1733,12 +1985,42 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } else { @@ -1749,14 +2031,44 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat || dateTimePelayanan.isAfter(datePulang))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString())) && !Arrays.stream(Master.KONSUL_VISIT).anyMatch( map.get("namaProduk").toString().toLowerCase()::contains)) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1773,14 +2085,42 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat if (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulangPSBB) || dateTimePelayanan.isAfter(datePulangPSBB)) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString())) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) @@ -1790,7 +2130,20 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1799,12 +2152,38 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1916,12 +2295,42 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } else { @@ -1932,14 +2341,44 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat || dateTimePelayanan.isAfter(datePulang))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString())) && !Arrays.stream(Master.KONSUL_VISIT).anyMatch( map.get("namaProduk").toString().toLowerCase()::contains)) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1956,14 +2395,42 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat if (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulangPSBB) || dateTimePelayanan.isAfter(datePulangPSBB)) { - result.add(map); + if (diskon > 0 + && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 && (CommonUtil + .isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean + .valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString())) && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) @@ -1973,7 +2440,20 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat && (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang) || dateTimePelayanan.isAfter(datePulang))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } @@ -1982,12 +2462,38 @@ public class PendapatanServiceImpl extends BaseVoServiceImpl implements Pendapat .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) { if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN) .contains(Integer.parseInt(map.get("departemenId").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP) .contains(Integer.parseInt(map.get("departemenId").toString())) && Arrays.asList(Master.Kelas.KELAS_SATU_VIP) .contains(Integer.parseInt(map.get("idKelas").toString()))) { - result.add(map); + if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || !statusDiskon)) { + if (Double.valueOf(map.get("diskon").toString()) > 0 + && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) + || !Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } else { + if (Double.valueOf(map.get("diskon").toString()) == 0 + || (Double.valueOf(map.get("diskon").toString()) > 0 + && CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) + && Boolean.valueOf(map.get("statusDiskon").toString()))) { + result.add(map); + } + } } } } diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java index 5bd6ff63..6a526559 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java @@ -4856,13 +4856,16 @@ public class SdmController extends LocaleController { } @RequestMapping(value = "/get-detail-pasien/{idProduk}/{idKelas}/{idPegawai}/{tgl}/{ffs}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity>> getDetailPasien(@PathVariable("idProduk") Integer idProduk, - @PathVariable("idKelas") Integer idKelas, @PathVariable("tgl") String tgl, @PathVariable("ffs") Boolean ffs, - @PathVariable("idPegawai") Integer idPegawai, HttpServletRequest request) { + public ResponseEntity>> getDetailPasien(HttpServletRequest request, + @PathVariable("idProduk") Integer idProduk, @PathVariable("idKelas") Integer idKelas, + @PathVariable("tgl") String tgl, @PathVariable("ffs") Boolean ffs, + @PathVariable("idPegawai") Integer idPegawai, + @RequestParam(value = "diskon", required = true) Double diskon, + @RequestParam(value = "statusDiskon", required = true) Boolean statusDiskon) { List> result = null; try { - result = indekKinerjaService.findPatientDetailForEveryTindakanReview(idProduk, idKelas, idPegawai, tgl, - ffs); + result = indekKinerjaService.findPatientDetailForEveryTindakanReview(idProduk, idKelas, idPegawai, tgl, ffs, + diskon, statusDiskon); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { @@ -4872,12 +4875,16 @@ public class SdmController extends LocaleController { } @RequestMapping(value = "/get-detail-pasien-ffs/{idProduk}/{idKelas}/{idKomponenHarga}/{idPegawai}/{tgl}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity>> getDetailPasienFfs(@PathVariable("idProduk") Integer idProduk, - @PathVariable("idKelas") Integer idKelas, @PathVariable("idKomponenHarga") Integer idKomponenHarga, - @PathVariable("tgl") String tgl, @PathVariable("idPegawai") Integer idPegawai, HttpServletRequest request) { + public ResponseEntity>> getDetailPasienFfs(HttpServletRequest request, + @PathVariable("idProduk") Integer idProduk, @PathVariable("idKelas") Integer idKelas, + @PathVariable("idKomponenHarga") Integer idKomponenHarga, @PathVariable("tgl") String tgl, + @PathVariable("idPegawai") Integer idPegawai, + @RequestParam(value = "diskon", required = true) Double diskon, + @RequestParam(value = "statusDiskon", required = true) Boolean statusDiskon) { List> result = null; try { - result = pendapatanService.getDetailFeeForServiceDokter(idProduk, idKelas, idKomponenHarga, idPegawai, tgl); + result = pendapatanService.getDetailFeeForServiceDokter(idProduk, idKelas, idKomponenHarga, idPegawai, tgl, + diskon, statusDiskon); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) {