Update PelayananPasienServiceImpl.java

Perbaikan syntax validasi kode voucher untuk pasien anak atau ibu
This commit is contained in:
Salman Manoe 2023-08-31 16:28:24 +07:00
parent 854b783c5a
commit 89b5dfba11

View File

@ -2272,25 +2272,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
VoucherPaket voucher = getVoucher(kodeVoucher, false);
List<String> norecPelayananChecked = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket)
.map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
List<PelayananPasien> pelayananChecked;
if (CommonUtil.isNotNullOrEmpty(norecPelayananChecked)) {
pelayananChecked = pelayananPasienDao.findAll(norecPelayananChecked);
Optional<PasienDaftar> pendaftaran = pelayananChecked.stream().map(p -> p.getPasien().getPasienDaftar())
.findFirst();
pendaftaran.ifPresent(p -> {
Integer pasienId = p.getPasien().getId();
String ibuNoCm = p.getPasien().getReportDisplay();
Integer ibuId = null;
if (CommonUtil.isNotNullOrEmpty(ibuNoCm))
ibuId = pasienDao.findIdByNoCm(ibuNoCm);
if ((CommonUtil.isNotNullOrEmpty(ibuId) && !voucher.getPasienId().equals(ibuId))
|| (CommonUtil.isNullOrEmpty(ibuId) && !voucher.getPasienId().equals(pasienId)))
throw new ServiceVOException("Kode voucher tidak sesuai dengan pasien yang diperuntukkan");
p.setVoucherPaket(voucher);
pasienDaftarDao.save(p);
});
} else {
if (CommonUtil.isNullOrEmpty(norecPelayananChecked))
norecPelayananChecked = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
List<PelayananPasien> pelayananChecked;
{
pelayananChecked = pelayananPasienDao.findAll(norecPelayananChecked);
Optional<PasienDaftar> pendaftaran = pelayananChecked.stream().map(p -> p.getPasien().getPasienDaftar())
.findFirst();
@ -2558,7 +2543,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
ibuId = pasienDao.findIdByNoCm(ibuNoCm);
if ((CommonUtil.isNotNullOrEmpty(ibuId) && !voucher.getPasienId().equals(ibuId))
|| (CommonUtil.isNullOrEmpty(ibuId) && CommonUtil.isNotNullOrEmpty(pendaftaran)
&& !pendaftaran.getPasien().getId().equals(voucher.getPasienId())))
&& !pendaftaran.getPasien().getId().equals(voucher.getPasienId())))
throw new ServiceVOException("Kode voucher tidak sesuai dengan pasien yang diperuntukkan");
return voucher;
}