From 7c575c96e26b5b3ef01307519da336aa25b9441b Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 26 Sep 2023 10:51:27 +0700 Subject: [PATCH] Update service pelayanan pasien Penerapan log pegawai dan tanggal modifikasi saat batal paket di verifikasi pasien pulang --- .../service/PelayananPasienService.java | 3 +- .../impl/PelayananPasienServiceImpl.java | 19 +++++++---- .../controller/PelayananController.java | 34 +++++++++---------- .../controller/PelayananController.java | 2 +- 4 files changed, 33 insertions(+), 25 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java index 734ece11..3650e1a5 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PelayananPasienService.java @@ -4,6 +4,7 @@ import com.jasamedika.medifirst2000.dto.BatalPaketProdukDto; import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto; import com.jasamedika.medifirst2000.vo.PelayananPasienVO; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -39,5 +40,5 @@ public interface PelayananPasienService { boolean isValidVoucher(String kodeVoucher, String noRegistrasi); - void batalPaketProduk(BatalPaketProdukDto dto); + void batalPaketProduk(HttpServletRequest request, BatalPaketProdukDto dto); } 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 cb5e3b63..593996b8 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 @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletRequest; import java.text.*; import java.time.LocalDate; import java.time.LocalDateTime; @@ -3020,10 +3021,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } @Override - public void batalPaketProduk(BatalPaketProdukDto dto) { + public void batalPaketProduk(HttpServletRequest request, BatalPaketProdukDto dto) { VoucherPaket voucher = getVoucher(dto.getKodeVoucher(), dto.getNoRegistrasi(), true); { voucher.setIsBatal(true); + LoginUser loginUser = loginUserService.getLoginUser(); + Pegawai pegawai = new Pegawai(); + pegawai.setId(loginUser.getPegawai().getId()); + voucher.setPegawai(pegawai); + voucher.setModifiedDate(new Date()); voucherPaketDao.save(voucher); } List listPendaftaran = pasienDaftarDao.findByPasienIdAndVoucherPaketId(voucher.getPasienId(), @@ -3033,11 +3039,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel pasienDaftarDao.save(listPendaftaran); } List idDaftarList = listPendaftaran.stream().map(PasienDaftar::getNoRec).collect(Collectors.toList()); - List listPelayanan = pelayananPasienDao.findByPasienDaftarPasienDaftarNoRecIn(idDaftarList); - List produkMapping = mapProdukPaketToProdukDao.findByPaketId(voucher.getPaketId()); - List idProdukMapping = produkMapping.stream().map(MapProdukPaketToProduk::getProdukId) - .collect(Collectors.toList()); - { + if (CommonUtil.isNotNullOrEmpty(idDaftarList)) { + List listPelayanan = pelayananPasienDao + .findByPasienDaftarPasienDaftarNoRecIn(idDaftarList); + List produkMapping = mapProdukPaketToProdukDao.findByPaketId(voucher.getPaketId()); + List idProdukMapping = produkMapping.stream().map(MapProdukPaketToProduk::getProdukId) + .collect(Collectors.toList()); listPelayanan.forEach(p -> p.setIsPaket(false)); listPelayanan.stream().filter(p -> idProdukMapping.contains(p.getProdukId())) .forEach(p -> p.setHargaDiscount(0.0)); diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java index 9f8a1405..fbf152db 100644 --- a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java +++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java @@ -52,7 +52,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET) public ResponseEntity>> calculateIndikatorPelayanan(HttpServletRequest request, - @RequestParam("tahun") String tahun) { + @RequestParam("tahun") String tahun) { try { List> result = pasienDaftarService.findIndikatorPelayanan(tahun); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -71,8 +71,8 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/validate-nama-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> validateNamaProduk(HttpServletRequest request, - @RequestParam(value = "idProduk", required = false) Integer idProduk, - @RequestParam(value = "namaProduk") String namaProduk) { + @RequestParam(value = "idProduk", required = false) Integer idProduk, + @RequestParam(value = "namaProduk") String namaProduk) { try { Map result = produkService.validateNamaProduk(idProduk, namaProduk); @@ -90,7 +90,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/paket-to-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> getMappingPaketToProduk(HttpServletRequest request, - @RequestParam(value = "idMapping") Integer idMapping) { + @RequestParam(value = "idMapping") Integer idMapping) { try { Map result = produkService.getMappingPaketToProduk(idMapping); return RestUtil.getJsonResponse(result, HttpStatus.OK); @@ -143,9 +143,9 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/klaim-diskon", method = RequestMethod.GET) public ResponseEntity> KlaimDiskon(HttpServletRequest request, - @RequestParam(value = "noRegistrasi") String noRegistrasi, - @RequestParam(value = "totalKlaim") Double totalKlaim, - @RequestParam(value = "jenisDiskon") Integer jenisDiskon) { + @RequestParam(value = "noRegistrasi") String noRegistrasi, + @RequestParam(value = "totalKlaim") Double totalKlaim, + @RequestParam(value = "jenisDiskon") Integer jenisDiskon) { try { List result = pelayananPasienService.updateKlaimDiskon(noRegistrasi, totalKlaim, jenisDiskon); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -164,7 +164,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/reset-klaim-diskon", method = RequestMethod.GET) public ResponseEntity ResetKlaimDiskon(HttpServletRequest request, - @RequestParam(value = "noRegistrasi") String noRegistrasi) { + @RequestParam(value = "noRegistrasi") String noRegistrasi) { try { String result = pelayananPasienService.resetKlaimDiskon(noRegistrasi); @@ -184,8 +184,8 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/check-existing-harga-produk-kelas", method = RequestMethod.GET) public ResponseEntity>> checkExistingHargaProdukKelas(HttpServletRequest request, - @RequestParam(value = "kelasId") Integer idKelas, @RequestParam(value = "produkId") Integer idProduk, - @RequestParam(value = "mappingId", required = false) Integer idMapping) { + @RequestParam(value = "kelasId") Integer idKelas, @RequestParam(value = "produkId") Integer idProduk, + @RequestParam(value = "mappingId", required = false) Integer idMapping) { try { List> result = produkService.findExistingMapHargaKelas(idKelas, idProduk, idMapping); @@ -205,7 +205,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/tagihan/daftar/{noRegistrasi}", method = RequestMethod.GET) public ResponseEntity> daftarTagihan(HttpServletRequest request, - @PathVariable String noRegistrasi) { + @PathVariable String noRegistrasi) { try { List result = pelayananPasienService.tagihan(noRegistrasi); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -224,8 +224,8 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/tagihan/diskon/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity simpanDiskonTagihan(HttpServletRequest request, - @RequestParam(value = "kode-voucher", required = false) String kodeVoucher, - @RequestBody List dtoList) { + @RequestParam(value = "kode-voucher", required = false) String kodeVoucher, + @RequestBody List dtoList) { try { pelayananPasienService.diskonTagihan(kodeVoucher, dtoList); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -246,7 +246,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/tagihan/diskon/batal-paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity batalPaket(HttpServletRequest request, @RequestBody BatalPaketProdukDto dto) { try { - pelayananPasienService.batalPaketProduk(dto); + pelayananPasienService.batalPaketProduk(request, dto); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(dto, HttpStatus.OK, mapHeaderMessage); @@ -264,7 +264,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/vouchers/validity", method = RequestMethod.GET) public ResponseEntity isValidVoucher(HttpServletRequest request, - @RequestParam("kode-voucher") String kodeVoucher, @RequestParam("no-registrasi") String noRegistrasi) { + @RequestParam("kode-voucher") String kodeVoucher, @RequestParam("no-registrasi") String noRegistrasi) { try { boolean validVoucher = pelayananPasienService.isValidVoucher(kodeVoucher, noRegistrasi); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -284,7 +284,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/produk-paket/paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity simpanMappingListProdukPaket(HttpServletRequest request, - @RequestBody List vos) { + @RequestBody List vos) { try { mapProdukPaketService.saveAll(vos); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, @@ -304,7 +304,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/produk-paket/produk", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity simpanMappingEntriProdukPaket(HttpServletRequest request, - @RequestBody List vos) { + @RequestBody List vos) { try { mapProdukPaketToProdukService.saveAll(vos); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java index 03832a1a..fbf152db 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PelayananController.java @@ -246,7 +246,7 @@ public class PelayananController extends LocaleController { @RequestMapping(value = "/tagihan/diskon/batal-paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity batalPaket(HttpServletRequest request, @RequestBody BatalPaketProdukDto dto) { try { - pelayananPasienService.batalPaketProduk(dto); + pelayananPasienService.batalPaketProduk(request, dto); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(dto, HttpStatus.OK, mapHeaderMessage);