Merge branch 'master' into prod-deploy

This commit is contained in:
Salman Manoe 2023-12-07 11:19:05 +07:00
commit dacddf98ec
2 changed files with 14 additions and 17 deletions

View File

@ -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<PelayananPasien, Strin
+ "coalesce(pp.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as hargaDiskon,"
+ "coalesce(pp.jasa,0) as hargaJasa,"
+ "((coalesce(pp.hargaJual,0)-coalesce(pp.hargaDiscount,0))*coalesce(pp.jumlah,0)+coalesce(pp.jasa,0)) as totalHargaJual,"
+ "coalesce(pp.isPaket, false) as isPaket,coalesce(pp.isSelisihPaket, false) as isSelisihPaket) " + "from PelayananPasien pp "
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "inner join apd.ruangan ru "
+ "inner join pp.produk pr " + "inner join pp.kelas kls " + "where pd.noRegistrasi = :noRegistrasi")
+ "coalesce(pp.isPaket, false) as isPaket,coalesce(pp.isSelisihPaket, false) as isSelisihPaket) "
+ "from PelayananPasien pp " + "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd "
+ "inner join apd.ruangan ru " + "inner join pp.produk pr " + "inner join pp.kelas kls "
+ "where pd.noRegistrasi = :noRegistrasi")
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi);
List<PelayananPasien> findByPasienDaftarPasienDaftarNoRecIn(List<String> idDaftarList);
@ -292,6 +294,6 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "inner join apd.pasienDaftar pd " + "where apd.ruanganId = ru.id " + "and pd.pasienId = vp.pasienId "
+ "and ppp.ObjectPegawaiId in (:listIdSpog) " + "and pp.produkId in (:listProdukEntriId) "
+ "and ru.departemenId = 16 " + "order by vp.pasienId, " + "vp.paketId, " + "apd.tglKeluar desc")
List<Map<String, Object>> findPasienPaketDiRanapByDokter(@Param("listIdSpog") List<Integer> listIdSpog,
Set<Map<String, Object>> findPasienPaketDiRanapByDokter(@Param("listIdSpog") List<Integer> listIdSpog,
@Param("listProdukEntriId") List<Integer> listProdukEntriId);
}

View File

@ -1572,15 +1572,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
private List<Map<String, Object>> transformPelayananPaket(Integer idPegawai, String bulan,
List<Map<String, Object>> listData) {
List<Integer> drKsmObgyn = pegawaiDao.getDokterByKsm(KSM_OBGYN);
DateFormat df = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat month = new SimpleDateFormat("MMM-yyyy", new Locale("in", "ID"));
Date date;
try {
date = df.parse(bulan);
} catch (ParseException e) {
throw new ServiceVOException(e.getMessage());
}
Date tglAwal = DateUtil.startMonth(date);
listData.forEach(d -> {
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")))
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString()))
@ -1627,12 +1619,16 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList()));
List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao
.findByConcateProdukKelas(allConcatProdukNonkelas);
List<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao
.findPasienPaketDiRanapByDokter(drKsmObgyn, allProdukEntriId);
Set<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn,
allProdukEntriId);
Set<Integer> setIdIbu = ibuPaketDiRanapByDokter.stream()
.map(pasien -> Integer.parseInt(pasien.get("pasienId").toString())).collect(Collectors.toSet());
List<Map<String, Object>> ibuAnak = pasienDao.findIdByIdOfIbu(setIdIbu);
listData.forEach(d -> {
List<Integer> 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<Integer> 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()))
@ -1640,7 +1636,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
Optional<Map<String, Object>> 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();
@ -1652,8 +1649,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("bulanPulangIbu", month.format((Date) first.get().get("tglKeluar")));
first.ifPresent(f -> d.put("isBatalPaket", f.get("isBatal")));
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().get("tglKeluar"))
&& (tglAwal.equals(first.get().get("tglKeluar"))
|| ((Date) first.get().get("tglKeluar")).after(tglAwal))
&& !PERAWAT.name().equals(d.get("paketType"))
&& !Boolean.parseBoolean(d.get("isBatalPaket").toString())) {
d.put("tglPulangIbu", first.get().get("tglKeluar"));