From 148b88812630d775fb994c9cf34cb06c5ca28199 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 7 Dec 2023 11:18:17 +0700 Subject: [PATCH] Update service pelayanan pasien Perbaikan pengecekan pasien ibu terdaftar sebagai paket yang sudah pulang ranap untuk anaknya --- .../medifirst2000/dao/PelayananPasienDao.java | 10 ++++++---- .../service/impl/PelayananPasienServiceImpl.java | 11 ++++++++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java index cdb2daaa..826bec47 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Repository; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Set; /** * Repository class for PelayananPasien @@ -279,9 +280,10 @@ public interface PelayananPasienDao extends JpaRepository> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi); List findByPasienDaftarPasienDaftarNoRecIn(List idDaftarList); @@ -292,6 +294,6 @@ public interface PelayananPasienDao extends JpaRepository> findPasienPaketDiRanapByDokter(@Param("listIdSpog") List listIdSpog, + Set> findPasienPaketDiRanapByDokter(@Param("listIdSpog") List listIdSpog, @Param("listProdukEntriId") List listProdukEntriId); } 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 8724ccfd..b7ee6022 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 @@ -1619,12 +1619,16 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList())); List tarifDetailNonKelas = hargaNettoProdukByKelasDDao .findByConcateProdukKelas(allConcatProdukNonkelas); - List> ibuPaketDiRanapByDokter = pelayananPasienDao - .findPasienPaketDiRanapByDokter(drKsmObgyn, allProdukEntriId); + Set> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn, + allProdukEntriId); Set setIdIbu = ibuPaketDiRanapByDokter.stream() .map(pasien -> Integer.parseInt(pasien.get("pasienId").toString())).collect(Collectors.toSet()); List> ibuAnak = pasienDao.findIdByIdOfIbu(setIdIbu); listData.forEach(d -> { + List listIdIbu = ibuAnak.stream().filter(bn -> Integer + .parseInt(d.get("pasienId").toString()) == Integer.parseInt(bn.get("idIbu").toString()) + || Integer.parseInt(d.get("pasienId").toString()) == Integer.parseInt(bn.get("idAnak").toString())) + .map(bn -> Integer.parseInt(bn.get("idIbu").toString())).collect(Collectors.toList()); List listIdAnak = ibuAnak.stream().filter(bn -> Integer .parseInt(d.get("pasienId").toString()) == Integer.parseInt(bn.get("idIbu").toString()) || Integer.parseInt(d.get("pasienId").toString()) == Integer.parseInt(bn.get("idAnak").toString())) @@ -1632,7 +1636,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Optional> first = ibuPaketDiRanapByDokter.stream() .filter(paket -> Integer.parseInt(d.get("pasienId").toString()) == Integer .parseInt(paket.get("pasienId").toString()) - || listIdAnak.contains(Integer.parseInt(d.get("pasienId").toString()))) + || (listIdAnak.contains(Integer.parseInt(d.get("pasienId").toString())) + && listIdIbu.contains(Integer.parseInt(paket.get("pasienId").toString())))) .filter(paket -> CommonUtil.isNotNullOrEmpty(d.get("paketId")) && Integer .parseInt(d.get("paketId").toString()) == Integer.parseInt(paket.get("paketId").toString())) .findFirst();