Update JadwalOperasiService

Perbaikan format tanggal periodik get jadwal operasi dan default return empty list
This commit is contained in:
salmanoe 2023-02-22 14:03:43 +07:00
parent d3e1f4e7df
commit 529c604236
3 changed files with 14 additions and 8 deletions

View File

@ -765,8 +765,8 @@ public class BridgingDaftarOnlineController {
@RequestMapping(value = "/bpjs/operasi/jadwal/{start}/{end}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> getJadwalOperasiPeriodik(
@PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd") Date start,
@PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
@PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate start,
@PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
List<Map<String, Object>> entity = jadwalOperasiService.jadwalOperasiByPeriode(start, end);
return new ResponseEntity<>(entity, HttpStatus.OK);
}

View File

@ -1,6 +1,6 @@
package com.jasamedika.medifirst2000.service;
import java.util.Date;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@ -9,7 +9,7 @@ import java.util.Map;
* @since Feb 21, 2023
*/
public interface JadwalOperasiService {
List<Map<String, Object>> jadwalOperasiByPeriode(Date start, Date end);
List<Map<String, Object>> jadwalOperasiByPeriode(LocalDate start, LocalDate end);
List<Map<String, Object>> jadwalOperasiByPasien(String noBpjs);
}

View File

@ -1,5 +1,9 @@
package com.jasamedika.medifirst2000.service.impl;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@ -24,8 +28,12 @@ public class JadwalOperasiServiceImpl implements JadwalOperasiService {
private JadwalOperasiDao jadwalOperasiDao;
@Override
public List<Map<String, Object>> jadwalOperasiByPeriode(Date start, Date end) {
List<JadwalOperasi> listOperasi = jadwalOperasiDao.findAllByPeriod(start, end);
public List<Map<String, Object>> jadwalOperasiByPeriode(LocalDate start, LocalDate end) {
LocalDateTime startDateTime = LocalDateTime.of(start, LocalTime.MIN);
Date tglAwal = Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime endDateTime = LocalDateTime.of(end, LocalTime.MAX);
Date tglAkhir = Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant());
List<JadwalOperasi> listOperasi = jadwalOperasiDao.findAllByPeriod(tglAwal, tglAkhir);
return jadwalOperasi(listOperasi);
}
@ -53,8 +61,6 @@ public class JadwalOperasiServiceImpl implements JadwalOperasiService {
operasi.put("lastUpdate", o.getLastUpdate());
result.add(operasi);
});
if (result.size() == 0)
return null;
return result;
}
}