Update PelayananPasienServiceImpl.java

Perbaikan split jumlah pelayanan dan simpan ke database
This commit is contained in:
Salman Manoe 2023-08-25 16:20:33 +07:00
parent 20b38c760f
commit 691ce8418f

View File

@ -2221,6 +2221,23 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
throw new ServiceVOException("Tidak memiliki akses diskon total"); throw new ServiceVOException("Tidak memiliki akses diskon total");
} }
if (CommonUtil.isNotNullOrEmpty(kodeVoucher)) { if (CommonUtil.isNotNullOrEmpty(kodeVoucher)) {
diskonPaket(kodeVoucher, dtoList);
} else {
List<String> listNoRec = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
List<PelayananPasien> listPelayanan = pelayananPasienDao.findAll(listNoRec);
listPelayanan.forEach(p -> {
Optional<TagihanPendaftaranDto> dto = dtoList.stream().filter(d -> d.getNoRec().equals(p.getNoRec()))
.findFirst();
dto.ifPresent(tagihanPendaftaranDto -> {
p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon());
p.setJasa(tagihanPendaftaranDto.getHargaJasa());
});
});
pelayananPasienDao.save(listPelayanan);
}
}
private void diskonPaket(String kodeVoucher, List<TagihanPendaftaranDto> dtoList) {
VoucherPaket voucher = getVoucher(kodeVoucher, false); VoucherPaket voucher = getVoucher(kodeVoucher, false);
List<String> norecPelayananChecked = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket) List<String> norecPelayananChecked = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket)
.map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList()); .map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
@ -2322,7 +2339,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
splitDetailPelayanan = copyPelayananDetailSplitQty(detailOrigin); splitDetailPelayanan = copyPelayananDetailSplitQty(detailOrigin);
List<PelayananPasienDetail> originDetail = splitDetailPelayanan.stream() List<PelayananPasienDetail> originDetail = splitDetailPelayanan.stream()
.filter(d -> d.getNoRec() != null).collect(Collectors.toList()); .filter(d -> d.getNoRec() != null).collect(Collectors.toList());
detailOrigin.addAll(originDetail); detailPelayanan.addAll(originDetail);
} }
pelayanan.add(origin.get()); pelayanan.add(origin.get());
} }
@ -2347,19 +2364,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
pelayananPasienDetailDao.save(detailPelayanan); pelayananPasienDetailDao.save(detailPelayanan);
} }
} }
} else {
List<String> listNoRec = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
List<PelayananPasien> listPelayanan = pelayananPasienDao.findAll(listNoRec);
listPelayanan.forEach(p -> {
Optional<TagihanPendaftaranDto> dto = dtoList.stream().filter(d -> d.getNoRec().equals(p.getNoRec()))
.findFirst();
dto.ifPresent(tagihanPendaftaranDto -> {
p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon());
p.setJasa(tagihanPendaftaranDto.getHargaJasa());
});
});
pelayananPasienDao.save(listPelayanan);
}
} }
@Override @Override