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 806ceeb4..66c805fe 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 @@ -559,26 +559,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Mendapatkan data mentah pelayanan pasien */ - List> listData = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai, + List> listRatedPay = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai, tglAwal, tglAkhir); - List> listRatedPay = new ArrayList<>(listData); - List> listFixedPay = new ArrayList<>(); - Set listIdVoucher = listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))) + Set listIdVoucher = listRatedPay.stream() + .filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))) .map(d -> d.get("idVoucherDaftar").toString()).collect(Collectors.toSet()); + List> listFixedPay = new ArrayList<>(); if (CommonUtil.isNotNullOrEmpty(listIdVoucher)) { List listVoucher = voucherPaketDao.findAllByNoRecIn(listIdVoucher); Set listIdPaket = listVoucher.stream().map(VoucherPaket::getPaketId).collect(Collectors.toSet()); - /* - * Filtering selain logbook fixed pay - */ - listRatedPay = listData.stream() - .filter(d -> !Boolean.parseBoolean(d.get("isPaket").toString()) - && !listIdPaket.contains(Integer.parseInt(d.get("idProduk").toString()))) - .collect(Collectors.toList()); /* * Set awal logbook fixed pay */ - listFixedPay = listData.stream() + listFixedPay = listRatedPay.stream() .filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar")) && (!Boolean.parseBoolean(d.get("isPaket").toString()) && listIdPaket.contains(Integer.parseInt(d.get("idProduk").toString()))) @@ -586,6 +579,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel && Boolean.parseBoolean(d.get("isPaket").toString()) && !listIdPaket .contains(Integer.parseInt(d.get("idProduk").toString())))) .collect(Collectors.toList()); + /* + * Filtering selain logbook fixed pay + */ + listRatedPay = listRatedPay.stream() + .filter(d -> !Boolean.parseBoolean(d.get("isPaket").toString()) + && !listIdPaket.contains(Integer.parseInt(d.get("idProduk").toString()))) + .collect(Collectors.toList()); } /* * Set persen jasa dan harga jasa pasien bpjs di ibs, icu @@ -1500,8 +1500,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList()); result.put("klaim-mpp", listPelayananKlaimMpp); } - if (CommonUtil.isNotNullOrEmpty(listFixedPay)) { - List> listPelayananFixedPay = setPelayananPaket(listFixedPay); + { + List> listPelayananFixedPay = new ArrayList<>(); + if (CommonUtil.isNotNullOrEmpty(listFixedPay)) + listPelayananFixedPay = setPelayananPaket(listFixedPay); result.put("fixed-pay", listPelayananFixedPay); } return result; @@ -1725,67 +1727,61 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .findByConcateProdukKelas(concatIdProdukKelas); Set setNorecs = layananBadanPaket.stream().map(l -> l.get("idPelayananPasien").toString()) .collect(Collectors.toSet()); - if (CommonUtil.isNotNullOrEmpty(setNorecs)) { - List> mappingBadanPaket = pelayananPasienDao.findByNorecs(setNorecs); - layananBadanPaket.forEach(l -> { - Optional> firstMap = mappingBadanPaket.stream() - .filter(m -> l.get("idPelayananPasien").toString().equals(m.get("norec"))).findFirst(); - if (firstMap.isPresent()) { - if (DOKTER_PEMERIKSA.equals(l.get("idJenisPelaksana"))) { - Optional first = listDetailTarif.stream() - .filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId")) - && t.getKelasId().equals(l.get("idKelas")) - && JASA_DOKTER.equals(t.getKomponenHargaId())) - .findFirst(); - if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) - && first.get().getHargaNetto1() > 0.0) { - l.put("hargaJasa", first.get().getHargaNetto1()); - } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) - && first.get().getHargaSatuan() > 0.0) { - l.put("hargaJasa", first.get().getHargaSatuan()); - } else { - l.put("hargaJasa", 0.0); - } - } else if (ASISTEN_SPESIALIS.equals(l.get("idJenisPelaksana"))) { - Optional first = listDetailTarif.stream() - .filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId")) - && t.getKelasId().equals(l.get("idKelas")) - && JASA_ASISTEN_SPESIALIS.equals(t.getKomponenHargaId())) - .findFirst(); - if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) - && first.get().getHargaNetto1() > 0.0) { - l.put("hargaJasa", first.get().getHargaNetto1()); - } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) - && first.get().getHargaSatuan() > 0.0) { - l.put("hargaJasa", first.get().getHargaSatuan()); - } else { - l.put("hargaJasa", 0.0); - } - } else if (DOKTER_ANASTESI.equals(l.get("idJenisPelaksana"))) { - Optional first = listDetailTarif.stream() - .filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId")) - && t.getKelasId().equals(l.get("idKelas")) - && JASA_DOKTER_ANASTESI.equals(t.getKomponenHargaId())) - .findFirst(); - if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) - && first.get().getHargaNetto1() > 0.0) { - l.put("hargaJasa", first.get().getHargaNetto1()); - } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) - && first.get().getHargaSatuan() > 0.0) { - l.put("hargaJasa", first.get().getHargaSatuan()); - } else { - l.put("hargaJasa", 0.0); - } + List> mappingBadanPaket = pelayananPasienDao.findByNorecs(setNorecs); + layananBadanPaket.forEach(l -> { + Optional> firstMap = mappingBadanPaket.stream() + .filter(m -> l.get("idPelayananPasien").toString().equals(m.get("norec"))).findFirst(); + if (firstMap.isPresent()) { + if (DOKTER_PEMERIKSA.equals(l.get("idJenisPelaksana"))) { + Optional first = listDetailTarif.stream() + .filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId")) + && t.getKelasId().equals(l.get("idKelas")) + && JASA_DOKTER.equals(t.getKomponenHargaId())) + .findFirst(); + if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) + && first.get().getHargaNetto1() > 0.0) { + l.put("hargaJasa", first.get().getHargaNetto1()); + } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) + && first.get().getHargaSatuan() > 0.0) { + l.put("hargaJasa", first.get().getHargaSatuan()); + } else { + l.put("hargaJasa", 0.0); + } + } else if (ASISTEN_SPESIALIS.equals(l.get("idJenisPelaksana"))) { + Optional first = listDetailTarif.stream() + .filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId")) + && t.getKelasId().equals(l.get("idKelas")) + && JASA_ASISTEN_SPESIALIS.equals(t.getKomponenHargaId())) + .findFirst(); + if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) + && first.get().getHargaNetto1() > 0.0) { + l.put("hargaJasa", first.get().getHargaNetto1()); + } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) + && first.get().getHargaSatuan() > 0.0) { + l.put("hargaJasa", first.get().getHargaSatuan()); + } else { + l.put("hargaJasa", 0.0); + } + } else if (DOKTER_ANASTESI.equals(l.get("idJenisPelaksana"))) { + Optional first = listDetailTarif.stream() + .filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId")) + && t.getKelasId().equals(l.get("idKelas")) + && JASA_DOKTER_ANASTESI.equals(t.getKomponenHargaId())) + .findFirst(); + if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) + && first.get().getHargaNetto1() > 0.0) { + l.put("hargaJasa", first.get().getHargaNetto1()); + } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) + && first.get().getHargaSatuan() > 0.0) { + l.put("hargaJasa", first.get().getHargaSatuan()); + } else { + l.put("hargaJasa", 0.0); } - } else { - l.put("hargaJasa", 0.0); } - }); - } else { - layananBadanPaket.forEach(l -> { + } else { l.put("hargaJasa", 0.0); - }); - } + } + }); result.addAll(layananBadanPaket); } return result; @@ -2686,9 +2682,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel @Override public List> logbookFixedPayDokter(Integer idPegawai, String bulan) { - Map remunFfs = this.splitRemunFfs(idPegawai, bulan); + Map remunFixedPay = this.splitRemunFfs(idPegawai, bulan); @SuppressWarnings("unchecked") - List> listData = (List>) remunFfs.get("klaim-mpp"); + List> listData = (List>) remunFixedPay.get("fixed-pay"); return listData; }