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 5fbdf7cc..d8a848ef 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 @@ -678,11 +678,19 @@ public class BridgingDaftarOnlineController { return new ResponseEntity<>(null, HttpStatus.NOT_ACCEPTABLE); } - @RequestMapping(value = "/bpjs/patient/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/bpjs/medical-record-id/patient/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity getPatientMedicalRecordId(@PathVariable Integer id) { PasienVO result = pasienService.findById(id); if (result != null) return new ResponseEntity<>(result.getNoCm(), HttpStatus.OK); return new ResponseEntity<>(null, HttpStatus.OK); } + + @RequestMapping(value = "/bpjs/card-number/{noBpjs}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity checkNoBPJSPasien(@PathVariable String noBpjs) { + PasienVO result = pasienService.findByNoBpjs(noBpjs); + if (result != null) + return new ResponseEntity<>(true, HttpStatus.OK); + return new ResponseEntity<>(null, HttpStatus.OK); + } } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PasienDao.java index 3afc5bf3..010fb0e1 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PasienDao.java @@ -24,25 +24,18 @@ import com.jasamedika.medifirst2000.entities.Pasien; */ @Repository("PasienDao") public interface PasienDao extends PagingAndSortingRepository { - // custom query @Query("select model from Pasien model where model.namaPasien=:nama") public List findPasienByNama(@Param("nama") String nama); - // @Query("select model from Pasien model join fetch model.agama join fetch - // model.jenisKelamin join fetch model.pekerjaan join fetch model.pendidikan - // join fetch model.statusPerkawinan where model.noCm = :noCm") @Query("select model from Pasien model where model.noCm = :noCm") public List findPasienBynoCm(@Param("noCm") String noCm); - // custom query WITH pagination @Query("select model from Pasien model where model.namaPasien=:nama") public Page findPagePasienByNama(@Param("nama") String nama, Pageable Page); - // custom query return map example @Query("select new map(model.id as id, model.namaPasien as nama) from Pasien model") public List> getMapPasien(); - // native query example @Query(value = "SELECT " + "namaPasien AS NAMA " + "FROM Pasien", nativeQuery = true) List getNativePasien(); @@ -51,9 +44,13 @@ public interface PasienDao extends PagingAndSortingRepository { @Query("select model from Pasien model,DataAsuransi ap where ap.pasien.noCm = model.noCm and ap.noKepesertaan = :noBpjs") public List findPasienBynoBpjs(@Param("noBpjs") String noBpjs); + + /** + * Data asuransi di laravel sepertinya sudah tidak dipakai + */ + @Query("select model from Pasien model where model.noBpjs = :noBpjs") + public List findPasienByNoBpjs(@Param("noBpjs") String noBpjs); - // @Query("select model from Pasien model where model.noCm =:noCm") - // public List findByNoCm(String noCm); @Query("select model from Pasien model where model.id =:id") public Pasien findById(@Param("id") Integer id); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PasienService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PasienService.java index fed445fd..65f14eef 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PasienService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PasienService.java @@ -25,6 +25,8 @@ public interface PasienService extends BaseVoService extends BaseVoService> findIbuAnak(Long tglAwal, Long tglAkhir); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PasienServiceImpl.java index 95194296..1ad085c0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PasienServiceImpl.java @@ -229,6 +229,17 @@ public class PasienServiceImpl extends BaseVoServiceImpl implements PasienServic pasienVO = converterPasien.transferModelToVO(pasien, pasienVO); return pasienVO; } + + @Override + public PasienVO findByNoBpjs(String noBpjs) { + List data = pasienDao.findPasienByNoBpjs(noBpjs); + Pasien pasien = null; + if (data.size() != 0) + pasien = data.get(0); + PasienVO pasienVO = new PasienVO(); + pasienVO = converterPasien.transferModelToVO(pasien, pasienVO); + return pasienVO; + } @Override @Transactional(readOnly = true, propagation = Propagation.SUPPORTS) @@ -543,22 +554,6 @@ public class PasienServiceImpl extends BaseVoServiceImpl implements PasienServic return entity; } - @Override - public PasienVO findByNoBpjs(String noBpjs) { - List data = pasienDao.findPasienBynoBpjs(noBpjs); - Pasien pasien = null; - if (data.size() != 0) - pasien = data.get(0); - if (pasien == null) { - return null; - } - PasienVO pasienVO = new PasienVO(); - - pasienVO = pasienConverter.transferModelToVO(pasien, pasienVO); - - return pasienVO; - } - @Override public void updateTanggalMeninggal(Pasien p) { pasienDao.save(p);