From a24298970c373b7e4c7d2ae5fb0287eb3fd94ef8 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 22 Aug 2023 13:55:08 +0700 Subject: [PATCH] Update PelayananPasienServiceImpl.java Perbaikan simpan voucher ke relasi pelayanan dan pendaftaran --- .../service/impl/PelayananPasienServiceImpl.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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 5c0fd135..dfce809c 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 @@ -2222,13 +2222,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List listNoRec = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket) .map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList()); List listPelayanan = pelayananPasienDao.findAll(listNoRec); - { - Optional byPasien = listPelayanan.stream().filter( - p -> p.getPasien().getPasienDaftar().getPasien().getId().equals(voucher.getPasien().getId())) - .findFirst(); - if (!byPasien.isPresent()) + Optional pendaftaran = listPelayanan.stream().map(p -> p.getPasien().getPasienDaftar()) + .findFirst(); + pendaftaran.ifPresent(p -> { + Integer pasienId = p.getPasien().getId(); + if (!voucher.getPasienId().equals(pasienId)) throw new ServiceVOException("Kode voucher tidak sesuai dengan pasien yang diperuntukkan"); - } + p.setVoucherPaket(voucher); + pasienDaftarDao.save(p); + }); { List detail = mapProdukPaketToProdukDao .findAllByPaketId(voucher.getPaket().getId()); @@ -2259,6 +2261,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon()); p.setJasa(tagihanPendaftaranDto.getHargaJasa()); p.setIsPaket(tagihanPendaftaranDto.getIsPaket()); + p.setVoucherPaket(voucher); }); }); pelayananPasienDao.save(listPelayanan);