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 5aa474a7..bc32af97 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 @@ -729,4 +729,10 @@ public class BridgingDaftarOnlineController { Boolean exists = pasienDaftarService.checkStatusPasien(idPasien); return new ResponseEntity<>(exists, HttpStatus.OK); } + + @RequestMapping(value = "/bpjs/antrian/panggil/{idRuangan}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity getAntrianDipanggil(@PathVariable Integer idRuangan) { + String noantrean = antrianService.currentAntrian(idRuangan); + return new ResponseEntity<>(noantrean, 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 e553bb2b..f342c63e 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 @@ -190,6 +190,15 @@ public interface AntrianPasienDiPeriksaDao extends PagingAndSortingRepository> findAntreanByRuangan(@Param("tglAwal") Date tglAwal, - @Param("tglAkhir") Date tglAkhir, @Param("ruanganId") Integer ruanganId); + List> findAntreanByRuangan(@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir, + @Param("ruanganId") Integer ruanganId); + + @Query(value = "SELECT CASE WHEN apd.prefixnoantrian IS NULL THEN CAST(apd.noantrian AS VARCHAR) " + + "WHEN apd.prefixnoantrian IS NOT NULL THEN apd.prefixnoantrian || apd.noantrian ELSE '-' END " + + "FROM antrianpasiendiperiksa_t apd " + "WHERE apd.objectruanganfk = :ruanganId " + + "AND (apd.tglmasuk BETWEEN :start AND :end " + "OR apd.tglkeluar BETWEEN :start AND :end) " + + "AND tgldipanggildokter <= :tanggal " + + "ORDER BY apd.tgldipanggildokter DESC LIMIT 1", nativeQuery = true) + String currentAntrian(@Param("ruanganId") Integer ruanganId, @Param("start") Date start, @Param("end") Date end, + @Param("tanggal") Date tanggal); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/AntrianPasienDiPeriksaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/AntrianPasienDiPeriksaService.java index 349b500d..4b4e1bc1 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/AntrianPasienDiPeriksaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/AntrianPasienDiPeriksaService.java @@ -34,4 +34,6 @@ public interface AntrianPasienDiPeriksaService Integer getFormatNumberByMonthYearBilik(Integer idRuangan); Map getAntreanByRuangan(LocalDate tglMasuk, Integer ruanganId); + + String currentAntrian(Integer idRuangan); } 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 3f68ffec..99398a16 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 @@ -50,7 +50,7 @@ import com.jasamedika.medifirst2000.vo.PegawaiVO; public class AntrianPasienDiPeriksaServiceImpl extends BaseVoServiceImpl implements AntrianPasienDiPeriksaService { @Autowired private AntrianPasienDiPeriksaConverter antrianPasienDiPeriksaConverter; - + @Autowired private AntrianPasienDiPeriksaDao antrianPasienDiPeriksaDao; @@ -302,4 +302,17 @@ public class AntrianPasienDiPeriksaServiceImpl extends BaseVoServiceImpl impleme return result; } } + + @Override + public String currentAntrian(Integer idRuangan) { + LocalTime timeNow = LocalTime.now(); + LocalDate dateNow = LocalDate.now(); + LocalDateTime now = LocalDateTime.of(dateNow, timeNow); + Date tgl = Date.from(now.atZone(ZoneId.systemDefault()).toInstant()); + 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.currentAntrian(idRuangan, tglAwal, tglAkhir, tgl); + } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/AntrianPasienDiPeriksaVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/AntrianPasienDiPeriksaVO.java index aa6235fc..8b1e9558 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/AntrianPasienDiPeriksaVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/AntrianPasienDiPeriksaVO.java @@ -9,68 +9,71 @@ import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.helper.Caption; public class AntrianPasienDiPeriksaVO extends BaseTransactionVO { - @Caption(value="Object Kelas") + @Caption(value = "Object Kelas") private KelasVO kelas; - - @Caption(value="Object Struk OrderFk") + + @Caption(value = "Object Struk OrderFk") private StrukOrderVO strukOrder; - @Caption(value="Object Asal Rujukan") + @Caption(value = "Object Asal Rujukan") private AsalRujukanVO asalRujukan; private String statusKunjungan; - + private String statusPenyakit; - - @Caption(value="Object Pegawai") + + @Caption(value = "Object Pegawai") private PegawaiVO pegawai; - - @Caption(value="Object Struk Retur") + + @Caption(value = "Object Struk Retur") private StrukReturVO strukRetur; - - @Caption(value="Object Kamar") + + @Caption(value = "Object Kamar") private KamarVO kamar; - @Caption(value="Object Kasus Penyakit") + @Caption(value = "Object Kasus Penyakit") private KasusPenyakitVO kasusPenyakit; - - @Caption(value="Object Ruangan") + + @Caption(value = "Object Ruangan") private RuanganVO ruangan; - - @Caption(value="Object Ruangan Asal") + + @Caption(value = "Object Ruangan Asal") private RuanganVO ruanganAsal; - @Caption(value="No Antrian") + @Caption(value = "No Antrian") private Integer noAntrian; - @Caption(value="No Bed") + @Caption(value = "No Bed") private Integer noBed; - - @NotNull(message="No Registrasi Harus Diisi") - @Caption(value="No Registrasi") + + @NotNull(message = "No Registrasi Harus Diisi") + @Caption(value = "No Registrasi") private PasienDaftarVO pasienDaftar; - @Caption(value="Prefix No Antrian") + @Caption(value = "Prefix No Antrian") private String prefixNoAntrian; - @Caption(value="Status Pasien") + @Caption(value = "Status Pasien") private Byte statusPasien; - @Caption(value="Tanggal Registrasi") + @Caption(value = "Tanggal Registrasi") private Date tglRegistrasi; - - @Caption(value="Tanggal Dipanggil Suster") + + @Caption(value = "Tanggal Masuk") + private Date tglMasuk; + + @Caption(value = "Tanggal Dipanggil Suster") private Date tglDipanggilSuster; - - @Caption(value="Tanggal Dipanggil Dokter") + + @Caption(value = "Tanggal Dipanggil Dokter") private Date tglDipanggilDokter; - - @Column(name = "noMasuk", nullable = true , length = 200) + + @Column(name = "noMasuk", nullable = true, length = 200) private String noMasuk; - - @Column(name = "statusAntrian", nullable = true , length = 200) - private String statusAntrian; - + + @Column(name = "statusAntrian", nullable = true, length = 200) + private String statusAntrian; + public KelasVO getKelas() { return kelas; } @@ -199,6 +202,14 @@ public class AntrianPasienDiPeriksaVO extends BaseTransactionVO { this.tglRegistrasi = tglRegistrasi; } + public Date getTglMasuk() { + return tglMasuk; + } + + public void setTglMasuk(Date tglMasuk) { + this.tglMasuk = tglMasuk; + } + public Date getTglDipanggilSuster() { return tglDipanggilSuster; }