Update PelayananPasienServiceImpl.java
Perbaikan hitung harga jasa logbook fixed pay dokter
This commit is contained in:
parent
41c2ef5974
commit
e7367e9114
@ -559,26 +559,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Mendapatkan data mentah pelayanan pasien
|
* Mendapatkan data mentah pelayanan pasien
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> listData = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai,
|
List<Map<String, Object>> listRatedPay = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai,
|
||||||
tglAwal, tglAkhir);
|
tglAwal, tglAkhir);
|
||||||
List<Map<String, Object>> listRatedPay = new ArrayList<>(listData);
|
Set<String> listIdVoucher = listRatedPay.stream()
|
||||||
List<Map<String, Object>> listFixedPay = new ArrayList<>();
|
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar")))
|
||||||
Set<String> listIdVoucher = listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar")))
|
|
||||||
.map(d -> d.get("idVoucherDaftar").toString()).collect(Collectors.toSet());
|
.map(d -> d.get("idVoucherDaftar").toString()).collect(Collectors.toSet());
|
||||||
|
List<Map<String, Object>> listFixedPay = new ArrayList<>();
|
||||||
if (CommonUtil.isNotNullOrEmpty(listIdVoucher)) {
|
if (CommonUtil.isNotNullOrEmpty(listIdVoucher)) {
|
||||||
List<VoucherPaket> listVoucher = voucherPaketDao.findAllByNoRecIn(listIdVoucher);
|
List<VoucherPaket> listVoucher = voucherPaketDao.findAllByNoRecIn(listIdVoucher);
|
||||||
Set<Integer> listIdPaket = listVoucher.stream().map(VoucherPaket::getPaketId).collect(Collectors.toSet());
|
Set<Integer> 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
|
* Set awal logbook fixed pay
|
||||||
*/
|
*/
|
||||||
listFixedPay = listData.stream()
|
listFixedPay = listRatedPay.stream()
|
||||||
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
||||||
&& (!Boolean.parseBoolean(d.get("isPaket").toString())
|
&& (!Boolean.parseBoolean(d.get("isPaket").toString())
|
||||||
&& listIdPaket.contains(Integer.parseInt(d.get("idProduk").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
|
&& Boolean.parseBoolean(d.get("isPaket").toString()) && !listIdPaket
|
||||||
.contains(Integer.parseInt(d.get("idProduk").toString()))))
|
.contains(Integer.parseInt(d.get("idProduk").toString()))))
|
||||||
.collect(Collectors.toList());
|
.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
|
* 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());
|
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
result.put("klaim-mpp", listPelayananKlaimMpp);
|
result.put("klaim-mpp", listPelayananKlaimMpp);
|
||||||
}
|
}
|
||||||
if (CommonUtil.isNotNullOrEmpty(listFixedPay)) {
|
{
|
||||||
List<Map<String, Object>> listPelayananFixedPay = setPelayananPaket(listFixedPay);
|
List<Map<String, Object>> listPelayananFixedPay = new ArrayList<>();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(listFixedPay))
|
||||||
|
listPelayananFixedPay = setPelayananPaket(listFixedPay);
|
||||||
result.put("fixed-pay", listPelayananFixedPay);
|
result.put("fixed-pay", listPelayananFixedPay);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -1725,67 +1727,61 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||||
Set<String> setNorecs = layananBadanPaket.stream().map(l -> l.get("idPelayananPasien").toString())
|
Set<String> setNorecs = layananBadanPaket.stream().map(l -> l.get("idPelayananPasien").toString())
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
if (CommonUtil.isNotNullOrEmpty(setNorecs)) {
|
List<Map<String, Object>> mappingBadanPaket = pelayananPasienDao.findByNorecs(setNorecs);
|
||||||
List<Map<String, Object>> mappingBadanPaket = pelayananPasienDao.findByNorecs(setNorecs);
|
layananBadanPaket.forEach(l -> {
|
||||||
layananBadanPaket.forEach(l -> {
|
Optional<Map<String, Object>> firstMap = mappingBadanPaket.stream()
|
||||||
Optional<Map<String, Object>> firstMap = mappingBadanPaket.stream()
|
.filter(m -> l.get("idPelayananPasien").toString().equals(m.get("norec"))).findFirst();
|
||||||
.filter(m -> l.get("idPelayananPasien").toString().equals(m.get("norec"))).findFirst();
|
if (firstMap.isPresent()) {
|
||||||
if (firstMap.isPresent()) {
|
if (DOKTER_PEMERIKSA.equals(l.get("idJenisPelaksana"))) {
|
||||||
if (DOKTER_PEMERIKSA.equals(l.get("idJenisPelaksana"))) {
|
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
&& t.getKelasId().equals(l.get("idKelas"))
|
||||||
&& t.getKelasId().equals(l.get("idKelas"))
|
&& JASA_DOKTER.equals(t.getKomponenHargaId()))
|
||||||
&& JASA_DOKTER.equals(t.getKomponenHargaId()))
|
.findFirst();
|
||||||
.findFirst();
|
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
&& first.get().getHargaNetto1() > 0.0) {
|
||||||
&& first.get().getHargaNetto1() > 0.0) {
|
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
&& first.get().getHargaSatuan() > 0.0) {
|
||||||
&& first.get().getHargaSatuan() > 0.0) {
|
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
} else {
|
||||||
} else {
|
l.put("hargaJasa", 0.0);
|
||||||
l.put("hargaJasa", 0.0);
|
}
|
||||||
}
|
} else if (ASISTEN_SPESIALIS.equals(l.get("idJenisPelaksana"))) {
|
||||||
} else if (ASISTEN_SPESIALIS.equals(l.get("idJenisPelaksana"))) {
|
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
&& t.getKelasId().equals(l.get("idKelas"))
|
||||||
&& t.getKelasId().equals(l.get("idKelas"))
|
&& JASA_ASISTEN_SPESIALIS.equals(t.getKomponenHargaId()))
|
||||||
&& JASA_ASISTEN_SPESIALIS.equals(t.getKomponenHargaId()))
|
.findFirst();
|
||||||
.findFirst();
|
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
&& first.get().getHargaNetto1() > 0.0) {
|
||||||
&& first.get().getHargaNetto1() > 0.0) {
|
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
&& first.get().getHargaSatuan() > 0.0) {
|
||||||
&& first.get().getHargaSatuan() > 0.0) {
|
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
} else {
|
||||||
} else {
|
l.put("hargaJasa", 0.0);
|
||||||
l.put("hargaJasa", 0.0);
|
}
|
||||||
}
|
} else if (DOKTER_ANASTESI.equals(l.get("idJenisPelaksana"))) {
|
||||||
} else if (DOKTER_ANASTESI.equals(l.get("idJenisPelaksana"))) {
|
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
&& t.getKelasId().equals(l.get("idKelas"))
|
||||||
&& t.getKelasId().equals(l.get("idKelas"))
|
&& JASA_DOKTER_ANASTESI.equals(t.getKomponenHargaId()))
|
||||||
&& JASA_DOKTER_ANASTESI.equals(t.getKomponenHargaId()))
|
.findFirst();
|
||||||
.findFirst();
|
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
&& first.get().getHargaNetto1() > 0.0) {
|
||||||
&& first.get().getHargaNetto1() > 0.0) {
|
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
&& first.get().getHargaSatuan() > 0.0) {
|
||||||
&& first.get().getHargaSatuan() > 0.0) {
|
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
} else {
|
||||||
} else {
|
l.put("hargaJasa", 0.0);
|
||||||
l.put("hargaJasa", 0.0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
l.put("hargaJasa", 0.0);
|
|
||||||
}
|
}
|
||||||
});
|
} else {
|
||||||
} else {
|
|
||||||
layananBadanPaket.forEach(l -> {
|
|
||||||
l.put("hargaJasa", 0.0);
|
l.put("hargaJasa", 0.0);
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
result.addAll(layananBadanPaket);
|
result.addAll(layananBadanPaket);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@ -2686,9 +2682,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> logbookFixedPayDokter(Integer idPegawai, String bulan) {
|
public List<Map<String, Object>> logbookFixedPayDokter(Integer idPegawai, String bulan) {
|
||||||
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
Map<String, Object> remunFixedPay = this.splitRemunFfs(idPegawai, bulan);
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("klaim-mpp");
|
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFixedPay.get("fixed-pay");
|
||||||
return listData;
|
return listData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user