From 90e54b9c666be0348a8ea0278388b4be19d81472 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Tue, 14 Feb 2023 10:35:57 +0700 Subject: [PATCH] Update AntrianPasienDiPeriksaService Pembuatan service hitung sisa antrian berdasarkan pengecekan sisa antrean dari mobile jkn --- .../controller/BridgingDaftarOnlineController.java | 7 +++++++ .../medifirst2000/dao/AntrianPasienDiPeriksaDao.java | 6 ++++++ .../service/AntrianPasienDiPeriksaService.java | 4 +++- .../impl/AntrianPasienDiPeriksaServiceImpl.java | 10 ++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingDaftarOnlineController.java b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingDaftarOnlineController.java index bc32af97..7be7c14e 100644 --- a/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingDaftarOnlineController.java +++ b/jasamedika-bridging/src/main/java/com/jasamedika/medifirst2000/controller/BridgingDaftarOnlineController.java @@ -735,4 +735,11 @@ public class BridgingDaftarOnlineController { String noantrean = antrianService.currentAntrian(idRuangan); return new ResponseEntity<>(noantrean, HttpStatus.OK); } + + @RequestMapping(value = "/bpjs/antrian/sisa/{idRuangan}/{estimasiDilayani}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity getSisaAntrian(@PathVariable Integer idRuangan, + @PathVariable Long estimasiDilayani) { + Integer countantrean = antrianService.countSisaAntrian(idRuangan, estimasiDilayani); + return new ResponseEntity<>(countantrean, HttpStatus.OK); + } } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/AntrianPasienDiPeriksaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/AntrianPasienDiPeriksaDao.java index f342c63e..f4736d1f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/AntrianPasienDiPeriksaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/AntrianPasienDiPeriksaDao.java @@ -201,4 +201,10 @@ public interface AntrianPasienDiPeriksaDao extends PagingAndSortingRepository getAntreanByRuangan(LocalDate tglMasuk, Integer ruanganId); - + String currentAntrian(Integer idRuangan); + + Integer countSisaAntrian(Integer idRuangan, Long estimasiDilayani); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AntrianPasienDiPeriksaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AntrianPasienDiPeriksaServiceImpl.java index 99398a16..5f7ac56f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AntrianPasienDiPeriksaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/AntrianPasienDiPeriksaServiceImpl.java @@ -315,4 +315,14 @@ public class AntrianPasienDiPeriksaServiceImpl extends BaseVoServiceImpl impleme Date tglAkhir = Date.from(end.atZone(ZoneId.systemDefault()).toInstant()); return antrianPasienDiPeriksaDao.currentAntrian(idRuangan, tglAwal, tglAkhir, tgl); } + + @Override + public Integer countSisaAntrian(Integer idRuangan, Long estimasiDilayani) { + LocalDate dateNow = LocalDate.now(); + LocalDateTime start = LocalDateTime.of(dateNow, LocalTime.MIN); + Date tglAwal = Date.from(start.atZone(ZoneId.systemDefault()).toInstant()); + LocalDateTime end = LocalDateTime.of(dateNow, LocalTime.MAX); + Date tglAkhir = Date.from(end.atZone(ZoneId.systemDefault()).toInstant()); + return antrianPasienDiPeriksaDao.countSisaAntrian(idRuangan, tglAwal, tglAkhir, new Date(estimasiDilayani)); + } }