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 57d34d36..06b7636d 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 @@ -2269,16 +2269,31 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel VoucherPaket voucher = getVoucher(kodeVoucher, false); List norecPelayananChecked = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket) .map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList()); - List pelayananChecked = pelayananPasienDao.findAll(norecPelayananChecked); - Optional pendaftaran = pelayananChecked.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 pelayananChecked; + if (CommonUtil.isNotNullOrEmpty(norecPelayananChecked)) { + pelayananChecked = pelayananPasienDao.findAll(norecPelayananChecked); + Optional pendaftaran = pelayananChecked.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); + }); + } else { + norecPelayananChecked = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList()); + pelayananChecked = pelayananPasienDao.findAll(norecPelayananChecked); + Optional pendaftaran = pelayananChecked.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 mappingProdukPaket = mapProdukPaketToProdukDao .findAllByPaketId(voucher.getPaket().getId());