Update AntrianPasienDiPeriksaService
Pembuatan service hitung sisa antrian berdasarkan pengecekan sisa antrean dari mobile jkn
This commit is contained in:
parent
9589d39b44
commit
90e54b9c66
@ -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<Integer> getSisaAntrian(@PathVariable Integer idRuangan,
|
||||
@PathVariable Long estimasiDilayani) {
|
||||
Integer countantrean = antrianService.countSisaAntrian(idRuangan, estimasiDilayani);
|
||||
return new ResponseEntity<>(countantrean, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@ -201,4 +201,10 @@ public interface AntrianPasienDiPeriksaDao extends PagingAndSortingRepository<An
|
||||
+ "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);
|
||||
|
||||
@Query(value = "SELECT COUNT(apd) FROM antrianpasiendiperiksa_t apd " + "WHERE apd.objectruanganfk = :ruanganId "
|
||||
+ "AND (apd.tglmasuk BETWEEN :start AND :end " + "OR apd.tglkeluar BETWEEN :start AND :end) "
|
||||
+ "AND tgldipanggildokter IS NULL AND apd.tglregistrasi < :estimasiDilayani", nativeQuery = true)
|
||||
Integer countSisaAntrian(@Param("ruanganId") Integer ruanganId, @Param("start") Date start, @Param("end") Date end,
|
||||
@Param("estimasiDilayani") Date estimasiDilayani);
|
||||
}
|
||||
|
||||
@ -34,6 +34,8 @@ public interface AntrianPasienDiPeriksaService
|
||||
Integer getFormatNumberByMonthYearBilik(Integer idRuangan);
|
||||
|
||||
Map<String, Object> getAntreanByRuangan(LocalDate tglMasuk, Integer ruanganId);
|
||||
|
||||
|
||||
String currentAntrian(Integer idRuangan);
|
||||
|
||||
Integer countSisaAntrian(Integer idRuangan, Long estimasiDilayani);
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user