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 71a4987b..a6269c48 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 @@ -98,6 +98,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel @Autowired private MapProdukPaketToProdukDao mapProdukPaketToProdukDao; + @Autowired + private HargaNettoProdukByKelasDao hargaNettoProdukByKelasDao; + @Override public Map savePelayananPasien(PelayananPasienVO vo) { Map result = new HashMap<>(); @@ -2245,6 +2248,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel throw new ServiceVOException("Produk " + byProduk.get().getProduk().getNamaProduk() + " tidak dapat didiskon karena belum dilakukan mapping /" + " tidak termasuk detail paket yang dapat diskon"); + detail.forEach(d -> { + List> maps = hargaNettoProdukByKelasDao.checkExisting(voucher.getKelasId(), + d.getProdukPaketId()); + if (CommonUtil.isNullOrEmpty(maps) && maps.isEmpty()) + throw new ServiceVOException("Harga tarif tidak ditemukan untuk produk " + + d.getProduk().getNamaProduk() + " (" + d.getProdukPaket().getNamaProduk() + + ") dan kelas " + voucher.getKelas().getNamaKelas()); + }); } listPelayanan.forEach(p -> { Optional dto = dtoList.stream().filter(d -> d.getNoRec().equals(p.getNoRec()))