From 343e23c27a6500c1193b70b2d57559fc5a9e6232 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 21 Aug 2023 09:23:59 +0700 Subject: [PATCH] Update PelayananPasienServiceImpl.java Perbaikan validasi tmt, belum mapping paket dan belum mapping kelas saat diskon paket --- .../impl/PelayananPasienServiceImpl.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 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 a6269c48..e5a630df 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 @@ -2219,7 +2219,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel VoucherPaket voucher = voucherPaketDao.findByKode(kodeVoucher); if (CommonUtil.isNullOrEmpty(voucher)) throw new ServiceVOException("Kode voucher tidak ditemukan"); - if (voucher.getTmt().before(new Date())) + if (voucher.getTmt().after(new Date())) throw new ServiceVOException("Kode voucher baru dapat dipakai mulai " + new SimpleDateFormat("dd MMMM yyyy HH:mm:ss", new Locale("in", "ID")) .format(voucher.getTmt())); @@ -2238,17 +2238,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel throw new ServiceVOException("Kode voucher tidak sesuai dengan pasien yang diperuntukkan"); } { - List listId = dtoList.stream().map(TagihanPendaftaranDto::getIdProduk) - .collect(Collectors.toList()); List detail = mapProdukPaketToProdukDao .findAllByPaketId(voucher.getPaket().getId()); - Optional byProduk = detail.stream() - .filter(d -> !listId.contains(d.getProduk().getId())).findFirst(); + List listIdDetail = detail.stream().map(MapProdukPaketToProduk::getProdukId) + .collect(Collectors.toList()); + Optional byProduk = dtoList.stream() + .filter(dto -> !listIdDetail.contains(dto.getIdProduk())) + .filter(dto -> !dto.getIdProduk().equals(voucher.getPaketId())).findFirst(); if (byProduk.isPresent()) - throw new ServiceVOException("Produk " + byProduk.get().getProduk().getNamaProduk() + throw new ServiceVOException("Produk " + byProduk.get().getNamaProduk() + " tidak dapat didiskon karena belum dilakukan mapping /" + " tidak termasuk detail paket yang dapat diskon"); - detail.forEach(d -> { + List listIdDto = dtoList.stream().map(TagihanPendaftaranDto::getIdProduk) + .filter(dto -> !dto.equals(voucher.getPaketId())).collect(Collectors.toList()); + detail.stream().filter(d -> listIdDto.contains(d.getProdukId())).forEach(d -> { List> maps = hargaNettoProdukByKelasDao.checkExisting(voucher.getKelasId(), d.getProdukPaketId()); if (CommonUtil.isNullOrEmpty(maps) && maps.isEmpty()) @@ -2263,7 +2266,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel dto.ifPresent(tagihanPendaftaranDto -> { p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon()); p.setJasa(tagihanPendaftaranDto.getHargaJasa()); - p.setIsPasien(tagihanPendaftaranDto.getIsPaket()); + p.setIsPaket(tagihanPendaftaranDto.getIsPaket()); }); }); pelayananPasienDao.save(listPelayanan);