Update service pelayanan pasien

Pembuatan logbook fixed pay untuk capaian remunerasi dokter
This commit is contained in:
Salman Manoe 2023-09-20 15:52:20 +07:00
parent eb9d6a03a2
commit ed22e187ce
3 changed files with 31 additions and 17 deletions

View File

@ -41,4 +41,6 @@ public interface HargaNettoProdukByKelasDao extends JpaRepository<HargaNettoProd
+ "and hnk.kelasId in (:listKelasId) " + "order by hnk.hargaNetto1")
List<Map<String, Object>> findTarifTindakan(@Param("produkId") Integer idProduk,
@Param("listKelasId") List<Integer> listIdKelas);
List<HargaNettoProdukByKelas> findAllByProdukIdAndKelasId(Integer produkId, Integer kelasId);
}

View File

@ -198,7 +198,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "ppp.noRec as idPelayananPasienPetugas," + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana,"
+ "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien,"
+ "coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.jumlah,0) as jumlah,"
+ "pp.voucherPaketId as idVoucherLayanan,pp.isPaket as isPaket,"
+ "pp.voucherPaketId as idVoucherLayanan,coalesce(pp.isPaket,false) as isPaket,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan,"

View File

@ -566,9 +566,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Map<String, Object>> listFixedPay = listData.stream()
.filter(d -> (CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
&& !Boolean.parseBoolean(d.get("isPaket").toString())
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan")))
|| (CommonUtil.isNotNullOrEmpty(d.get("idVoucherLayanan"))
&& Boolean.parseBoolean(d.get("isPaket").toString()) && !Integer
&& Boolean.parseBoolean(d.get("isPaket").toString())
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan")) && !Integer
.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
.collect(Collectors.toList());
/*
@ -1499,22 +1501,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> listIdKelompokPasien = new ArrayList<>();
List<String> listTanggal = new ArrayList<>();
List<String> listJenisRuangan = new ArrayList<>();
List<Map<String, Object>> listKepalaPaket = listData.stream()
.filter(d -> (CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
&& !Boolean.parseBoolean(d.get("isPaket").toString())
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
.collect(Collectors.toList());
List<String> listIdVoucherKepalaPaket = listKepalaPaket.stream().map(p -> p.get("idVoucherLayanan").toString())
.collect(Collectors.toList());
List<Map<String, Object>> pelayananKepalaPaket = voucherPaketDao.findPelayananPaket(listIdVoucherKepalaPaket);
List<Integer> listIdEntri = pelayananKepalaPaket.stream()
.filter(kp -> TINDAKAN_UTAMA.name().equals(kp.get("jenisMapping").toString()))
.map(kp -> Integer.valueOf(kp.get("idProduk").toString()))
.collect(Collectors.toList());
List<Map<String, Object>> listDataUtama = listData.stream()
.filter(d -> listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
List<Map<String, Object>> listFixedPay = new ArrayList<>();
{
List<Map<String, Object>> listKepalaPaket = listData.stream()
.filter(d -> (CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
&& !Boolean.parseBoolean(d.get("isPaket").toString())
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
.collect(Collectors.toList());
Set<String> listIdVoucherKepalaPaket = listKepalaPaket.stream().map(p -> p.get("idVoucherLayanan").toString())
.collect(Collectors.toSet());
List<Map<String, Object>> pelayananKepalaPaket = voucherPaketDao
.findPelayananPaket(new ArrayList<>(listIdVoucherKepalaPaket));
List<Integer> listIdEntri = pelayananKepalaPaket.stream()
.filter(kp -> TINDAKAN_UTAMA.name().equals(kp.get("jenisMapping").toString()))
.map(kp -> Integer.valueOf(kp.get("idProduk").toString()))
.collect(Collectors.toList());
List<Map<String, Object>> listDataUtama = listData.stream()
.filter(d -> listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
listIdVoucherKepalaPaket.forEach(idVoucher -> {
List<Map<String, Object>> dataUtama = listDataUtama.stream()
.filter(d -> idVoucher.equals(d.get("idVoucherLayanan")))
.collect(Collectors.toList());
});
}
/*
* Populate data filter
*/