From 83560eed535f51f4d0b34dc1727a1847b0d53ac5 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 1 Sep 2023 13:10:37 +0700 Subject: [PATCH] Update PelayananPasienServiceImpl.java Pemasangan validasi pemisahan layanan harus karena diskon paket --- .../impl/PelayananPasienServiceImpl.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 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 f9034c63..f702c838 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 @@ -2270,14 +2270,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel private void diskonPaket(String kodeVoucher, List dtoList) { VoucherPaket voucher = getVoucher(kodeVoucher, false); - List norecPelayananChecked = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket) - .map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList()); - if (CommonUtil.isNullOrEmpty(norecPelayananChecked)) - norecPelayananChecked = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList()); - List pelayananChecked; + List norecPelayanan = dtoList.stream().map(TagihanPendaftaranDto::getNoRec) + .collect(Collectors.toList()); + List byNorecPelayanan = pelayananPasienDao.findAll(norecPelayanan); { - pelayananChecked = pelayananPasienDao.findAll(norecPelayananChecked); - Optional pendaftaran = pelayananChecked.stream().map(p -> p.getPasien().getPasienDaftar()) + Optional pendaftaran = byNorecPelayanan.stream().map(p -> p.getPasien().getPasienDaftar()) .findFirst(); pendaftaran.ifPresent(p -> { Integer pasienId = p.getPasien().getId(); @@ -2346,7 +2343,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel { List pelayanan = new ArrayList<>(); dtoList.forEach(dto -> { - Optional pelayananFixedQty = pelayananChecked.stream() + Optional pelayananFixedQty = byNorecPelayanan.stream() .filter(p -> p.getNoRec().equals(dto.getNoRec())) .filter(p -> p.getJumlah().equals(dto.getJumlah())).findFirst(); pelayananFixedQty.ifPresent(p -> { @@ -2368,10 +2365,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List racikanDetail = new ArrayList<>(); List mapPetugasPegawai = new ArrayList<>(); dtoList.forEach(dto -> { - Optional pelayananReducedQty = pelayananChecked.stream() + Optional pelayananReducedQty = byNorecPelayanan.stream() .filter(p -> p.getNoRec().equals(dto.getNoRec())) .filter(p -> !p.getJumlah().equals(dto.getJumlah())).findFirst(); pelayananReducedQty.ifPresent(p -> { + if (!dto.getIsPaket()) + throw new ServiceVOException("Pemisahan layanan " + dto.getNamaProduk() + + " tanpa tanda diskon tidak dapat dilakukan!"); List splitDetailPelayanan = new ArrayList<>(); List splitPetugasPelayanan = new ArrayList<>(); List splitPelayananTidakTerklaim = new ArrayList<>();