From 8182f613e59fb0bc2bda274c64082a32f0dd01ca Mon Sep 17 00:00:00 2001 From: salmanoe Date: Mon, 17 Oct 2022 20:44:36 +0700 Subject: [PATCH] Update ruangan service Pembuatan api bridging master ruangan --- .../BridgingDaftarOnlineController.java | 60 ++++--- .../medifirst2000/constants/Master.java | 1 + .../medifirst2000/dao/RuanganDao.java | 162 ++++++------------ .../medifirst2000/service/RuanganService.java | 8 +- .../service/impl/RuanganServiceImpl.java | 122 +++++++------ 5 files changed, 160 insertions(+), 193 deletions(-) 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 795e7cc6..f0694cbb 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 @@ -8,12 +8,13 @@ import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.UUID; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -22,7 +23,6 @@ import org.springframework.web.bind.annotation.RestController; import com.jasamedika.medifirst2000.dao.AntrianPasienRegistrasiDao; import com.jasamedika.medifirst2000.dao.BridgingDao; -import com.jasamedika.medifirst2000.dao.JadwalDokterDao; import com.jasamedika.medifirst2000.dao.JadwalPraktikDokterDao; import com.jasamedika.medifirst2000.dao.KelompokPasienDao; import com.jasamedika.medifirst2000.dao.PasienDao; @@ -41,10 +41,13 @@ import com.jasamedika.medifirst2000.enums.TipePasienEnum; import com.jasamedika.medifirst2000.service.JadwalDokterService; import com.jasamedika.medifirst2000.service.ModelService; import com.jasamedika.medifirst2000.service.PasienService; +import com.jasamedika.medifirst2000.service.RuanganService; import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.util.DateUtil; import com.jasamedika.medifirst2000.vo.AlamatVO; import com.jasamedika.medifirst2000.vo.PasienVO; import com.jasamedika.medifirst2000.vo.RegistrasiSmsVO; +import com.jasamedika.medifirst2000.vo.RuanganVO; import com.jasamedika.medifirst2000.vo.custom.BridgeDaftarCaraBayarListVO; import com.jasamedika.medifirst2000.vo.custom.BridgeDaftarCaraBayarVO; import com.jasamedika.medifirst2000.vo.custom.BridgeDaftarJadwalDokterListVO; @@ -67,24 +70,22 @@ import com.jasamedika.medifirst2000.vo.custom.BridgeDaftarVerifikasiPasienNotFou @RestController @RequestMapping("/daftar-ol") - public class BridgingDaftarOnlineController { + @Autowired + private PasienService pasienService; @Autowired - private PasienService pasienService; - - @Autowired - private AntrianPasienRegistrasiDao antrianPasienRegistrasiDao; - - @Autowired - private ModelService modelServiceKelas; - - @Autowired - private ModelService modelServiceRuangan; + private ModelService modelServiceRuangan; @Autowired private JadwalDokterService jadwalDokterService; + @Autowired + private RuanganService ruanganService; + + @Autowired + private AntrianPasienRegistrasiDao antrianPasienRegistrasiDao; + @Autowired private PasienDao pasienDao; @@ -97,9 +98,6 @@ public class BridgingDaftarOnlineController { @Autowired private KelompokPasienDao kelompokPasienDao; - @Autowired - private JadwalDokterDao jadwalDokterDao; - @Autowired private BridgingDao bridgingDao; @@ -112,7 +110,6 @@ public class BridgingDaftarOnlineController { @RequestMapping(value = "/klinik_rs", method = RequestMethod.GET, produces = { MediaType.APPLICATION_XML_VALUE }) public BridgeDaftarKlinikListVO daftarKlinikRs() { BridgeDaftarKlinikListVO y = new BridgeDaftarKlinikListVO(); - @SuppressWarnings("unchecked") List> ruanganT = bridgingDao.getJadwalKlinik(); for (Map ruanganTmp : ruanganT) { @@ -140,6 +137,7 @@ public class BridgingDaftarOnlineController { return y; } + @SuppressWarnings("unchecked") @RequestMapping(value = "/jadwal_dokters", method = RequestMethod.GET, produces = { MediaType.APPLICATION_XML_VALUE }) // public BridgeDaftarJadwalDokterListVO jadwalDokterRs() { @@ -175,7 +173,7 @@ public class BridgingDaftarOnlineController { BridgeDaftarJadwalDokterVO x = new BridgeDaftarJadwalDokterVO(); x.setIdKlinik(temp.get(i).getRuangan().getId().toString()); - String hari = bridgingDao.getDay(temp.get(i).getTanggalJadwal().getDay()); + String hari = bridgingDao.getDay(DateUtil.dayOfWeek(temp.get(i).getTanggalJadwal())); x.setHari(hari); JadwalPraktek jp = temp.get(i).getJadwalPraktek(); if (CommonUtil.isNotNullOrEmpty(jp.getJamPraktek())) { @@ -184,7 +182,8 @@ public class BridgingDaftarOnlineController { x.setJamTutupPraktek(pp[1]); x.setJamMulaiPraktek(pp[0]); } else { - // System.out.println("Invalid len:" + jp.getJamPraktek()); + // System.out.println("Invalid len:" + + // jp.getJamPraktek()); } } else { x.setJamTutupPraktek(""); @@ -215,6 +214,7 @@ public class BridgingDaftarOnlineController { return y; } + @SuppressWarnings("unchecked") @RequestMapping(value = "/jadwal_dokter_rev", method = RequestMethod.GET, produces = { MediaType.APPLICATION_XML_VALUE }) // public BridgeDaftarJadwalDokterListVO jadwalDokterRs() { @@ -253,7 +253,7 @@ public class BridgingDaftarOnlineController { BridgeDaftarJadwalDokterVO x = new BridgeDaftarJadwalDokterVO(); x.setIdKlinik(temp.get(i).getRuangan().getId().toString()); - String hari = bridgingDao.getDay(temp.get(i).getTanggalJadwal().getDay()); + String hari = bridgingDao.getDay(DateUtil.dayOfWeek(temp.get(i).getTanggalJadwal())); x.setHari(hari); if (CommonUtil.isNullOrEmpty(hari)) { x.setHari(""); @@ -265,7 +265,8 @@ public class BridgingDaftarOnlineController { x.setJamTutupPraktek(pp[1]); x.setJamMulaiPraktek(pp[0]); } else { - // System.out.println("Invalid len:" + jp.getJamPraktek()); + // System.out.println("Invalid len:" + + // jp.getJamPraktek()); } } else { x.setJamTutupPraktek(""); @@ -310,20 +311,20 @@ public class BridgingDaftarOnlineController { Calendar cal = Calendar.getInstance(); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - + for (Map map : data) { BridgeDaftarJadwalDokterVO bridge = new BridgeDaftarJadwalDokterVO(); bridge.setHari(map.get("namaHari").toString()); - bridge.setIddokter(map.get("idPegawai").toString()); + bridge.setIddokter(map.get("idPegawai").toString()); bridge.setIdKlinik(map.get("idRuangan").toString()); bridge.setJamMulaiPraktek(map.get("waktumulai").toString()); bridge.setJamTutupPraktek(map.get("waktuselesai").toString()); bridge.setKuota(map.get("quota").toString()); bridge.setNamadokter(map.get("namaLengkap").toString()); bridge.setUpdate(dateFormat.format(cal.getTime())); - y.addBridgePendaftaranJadwalDokterVO(bridge); + y.addBridgePendaftaranJadwalDokterVO(bridge); } - + return y; } @@ -343,11 +344,11 @@ public class BridgingDaftarOnlineController { } catch (ParseException e) { e.printStackTrace(); } - + Calendar calendar = Calendar.getInstance(); calendar.setTime(tanggal); Integer tanggalId = calendar.get(Calendar.DAY_OF_WEEK) - 1; - + // System.out.println(tanggal); List> datas = bridgingDao.getJadwalKlinikbyId(idDokter, idKlinik, tanggalId); // System.out.println(datas.toString()); @@ -636,4 +637,9 @@ public class BridgingDaftarOnlineController { return aDateTime.getTime(); } + @RequestMapping(value = "/bpjs/poli/list", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity getListPoliklinik() { + List> entity = ruanganService.findRajalBPJS(); + return new ResponseEntity<>(entity, HttpStatus.OK); + } } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index de3f4257..204664b8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -35,6 +35,7 @@ public class Master { public static final Integer[] ALL_DEPARTEMEN_MEDIS = { 3, 16, 18, 24, 25, 26, 27, 28, 35 }; public static final Integer[] GRUP_RAWAT_INAP = { 16, 25, 26, 35 }; public static final Integer[] GRUP_RAWAT_JALAN = { 3, 18, 24, 27, 28 }; + public static final Integer[] GRUP_RAJAL_BPJS = { 18, 28 }; public static final Integer[] KARCIS = { 18, 24, 28 }; public static final Integer IGD = 24; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RuanganDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RuanganDao.java index 4ff9ee5d..b0c1292e 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RuanganDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/RuanganDao.java @@ -32,11 +32,9 @@ public interface RuanganDao extends PagingAndSortingRepository @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(r.jamBuka, r.jamTutup ,r.kdRuangan, r.namaRuangan, r.noRuangan, r.statusViewData,r.id, r.departemen.id ) from Ruangan r where r.departemen.id in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRawatJalan' or s.namaField='KdDepartemenInstalasiRadiologi' or s.namaField='KdDepartemenInstalasiLaboratorium' or s.namaField='KdDepartemenInstalasiRehabilitasiMedik' ) and r.statusEnabled=true and r.headRuangan is null order by r.namaRuangan ") public List findRuanganByDepartemen(); - @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(r.jamBuka, r.jamTutup ,r.kdRuangan, r.namaRuangan, r.noRuangan, r.statusViewData,r.id, r.departemen.id ) from Ruangan r where r.departemen.id in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRawatJalan' or s.namaField='KdDepartemenInstalasiRadiologi' or s.namaField='KdDepartemenInstalasiLaboratorium' or s.namaField='KdDepartemenInstalasiRehabilitasiMedik' ) and r.statusEnabled=true order by r.namaRuangan ") public List findRuanganByDepartemenAll(); - - + @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(r.jamBuka, r.jamTutup ,r.kdRuangan, r.namaRuangan, r.noRuangan, r.statusViewData,r.id, r.departemen.id ) from Ruangan r where r.departemen.id in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField=:nama ) and r.statusEnabled=true order by r.namaRuangan ") public List findRuanganByDepartemen(@Param("nama") String name); @@ -107,74 +105,49 @@ public interface RuanganDao extends PagingAndSortingRepository // get ruangan pelayanan (cssd) - sarpras Rumah Tangga @Query("select NEW Map(r.id as ruanganId,r.namaRuangan as namaRuangan) from Ruangan r where r.departemenId in (25,24)") public List findRuanganPelayanan(); - + @Query("select NEW Map(r.id as ruanganId,r.namaRuangan as namaRuangan) from Ruangan r ") - public List> findAllRuangan(); - - //Get Ruangan Tagihan pasien + public List> findAllRuangan(); + + // Get Ruangan Tagihan pasien @Query("select NEW Map(r.id as id,r.namaRuangan as namaRuangan) from Ruangan r left join r.departemen d where d.id in (select departemen.id from Departemen departemen left join departemen.jenisPerawatan jp where jp.id in (5,6))") - public List> findAllRuanganForTagihan(); - + public List> findAllRuanganForTagihan(); + @Query("select NEW Map(r.id as id,r.namaRuangan as namaRuangan) from Ruangan r left join r.departemen d where d.id in (select departemen.id from Departemen departemen left join departemen.jenisPerawatan jp where jp.id in (5,6)) and r.departemenId=:instalasiId ") - public List> findAllRuanganForTagihanByInstalasiId(@Param("instalasiId") Integer instalasiId); - + public List> findAllRuanganForTagihanByInstalasiId(@Param("instalasiId") Integer instalasiId); + @Query("select new Map(b.kdRuangan as kdRuangan, b.namaRuangan as namaRuangan, b.id as id) from RegistrasiAset a left join a.ruangan b where b.id is not null order by b.id") public List> getRuanganOnAsetMap(); @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(r.jamBuka, r.jamTutup ,r.kdRuangan, r.namaRuangan, r.noRuangan, r.statusViewData,r.id, r.departemen.id) from Ruangan r where r.id=:id") public Ruangan findAllById(@Param("id") Integer id); - + /* - * Author by iwankasan - * Show Data Ruangan all Id Dep + * Author by iwankasan Show Data Ruangan all Id Dep */ @Query("select new map(r.id as id, r.namaRuangan as nmRuangan) from Ruangan r where r.departemenId in (16)") public List getRuanganByIdDep(); @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(r.jamBuka, r.jamTutup ,r.kdRuangan, r.namaRuangan, r.noRuangan, r.statusViewData,r.id, r.departemen.id) from Ruangan r where r.id=:id ") public Ruangan findByIdSAllStatus(@Param("id") Integer id); - - @Query("select NEW Map (" - +" ruangan.id as idRuangan, " - +" ruangan.namaRuangan as namaRuangan, " - + "departemen.id as departemenId) " - +" from Ruangan ruangan " - +" left join ruangan.departemen departemen " - +" where departemen.id=:id") - public List>getRuanganIGD( - @Param("id") Integer id); - - @Query("select NEW Map(" - + "b.id as ruanganId," - + "c.id as kelasId) " - + "from AntrianPasienDiPeriksa a " - + "left join a.ruangan b " - + "left join a.kelas c " - + "where a.noRec=:noRec") - public Map getRuanganByRegistrasi( - @Param("noRec") String noRec); - - @Query("select NEW Map (" - + "a.id as ruanganId," - + "a.namaRuangan as namaRuangan," - + "c.jenisPerawatan as jenisPerawatan) " - + "from Ruangan a " - + "left join a.departemen b " - + "left join b.jenisPerawatan c " - + "where c.id=:id") - public List>getRuanganPelayanan( - @Param("id") Integer id); - - @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" - + "r.jamBuka, " - + "r.jamTutup ," - + "r.kdRuangan, " - + "r.namaRuangan, " - + "r.noRuangan, " - + "r.statusViewData," - + "r.id, " - + "r.departemen.id ) " - + "from Ruangan r where " + + @Query("select NEW Map (" + " ruangan.id as idRuangan, " + " ruangan.namaRuangan as namaRuangan, " + + "departemen.id as departemenId) " + " from Ruangan ruangan " + " left join ruangan.departemen departemen " + + " where departemen.id=:id") + public List> getRuanganIGD(@Param("id") Integer id); + + @Query("select NEW Map(" + "b.id as ruanganId," + "c.id as kelasId) " + "from AntrianPasienDiPeriksa a " + + "left join a.ruangan b " + "left join a.kelas c " + "where a.noRec=:noRec") + public Map getRuanganByRegistrasi(@Param("noRec") String noRec); + + @Query("select NEW Map (" + "a.id as ruanganId," + "a.namaRuangan as namaRuangan," + + "c.jenisPerawatan as jenisPerawatan) " + "from Ruangan a " + "left join a.departemen b " + + "left join b.jenisPerawatan c " + "where c.id=:id") + public List> getRuanganPelayanan(@Param("id") Integer id); + + @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" + "r.jamBuka, " + "r.jamTutup ," + + "r.kdRuangan, " + "r.namaRuangan, " + "r.noRuangan, " + "r.statusViewData," + "r.id, " + + "r.departemen.id ) " + "from Ruangan r where " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRawatJalan') or " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiGawatDarurat') or " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRehabilitasiMedik') or " @@ -182,17 +155,10 @@ public interface RuanganDao extends PagingAndSortingRepository + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRadiologi')" + "and r.statusEnabled=true and r.headRuangan is not null order by r.namaRuangan ") public List findRuanganJalan(); - - @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" - + "r.jamBuka, " - + "r.jamTutup ," - + "r.kdRuangan, " - + "r.namaRuangan, " - + "r.noRuangan, " - + "r.statusViewData," - + "r.id, " - + "r.departemen.id ) " - + "from Ruangan r where " + + @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" + "r.jamBuka, " + "r.jamTutup ," + + "r.kdRuangan, " + "r.namaRuangan, " + "r.noRuangan, " + "r.statusViewData," + "r.id, " + + "r.departemen.id ) " + "from Ruangan r where " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRawatJalan') or " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiGawatDarurat') or " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRehabilitasiMedik') or " @@ -202,59 +168,43 @@ public interface RuanganDao extends PagingAndSortingRepository + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdInstalasiICU') " + "and r.statusEnabled=true and r.headRuangan is not null order by r.namaRuangan ") public List findRuanganOperator(); - - @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" - + "r.jamBuka, " - + "r.jamTutup ," - + "r.kdRuangan, " - + "r.namaRuangan, " - + "r.noRuangan, " - + "r.statusViewData," - + "r.id, " - + "r.departemen.id ) " - + "from Ruangan r where " + + @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" + "r.jamBuka, " + "r.jamTutup ," + + "r.kdRuangan, " + "r.namaRuangan, " + "r.noRuangan, " + "r.statusViewData," + "r.id, " + + "r.departemen.id ) " + "from Ruangan r where " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiLaboratorium') or " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRadiologi') " + "and r.statusEnabled=true and r.headRuangan is not null order by r.namaRuangan ") public List findRuanganPenunjang(); - - @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" - + "r.jamBuka, " - + "r.jamTutup ," - + "r.kdRuangan, " - + "r.namaRuangan, " - + "r.noRuangan, " - + "r.statusViewData," - + "r.id, " - + "r.departemen.id ) " - + "from Ruangan r where " + + @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" + "r.jamBuka, " + "r.jamTutup ," + + "r.kdRuangan, " + "r.namaRuangan, " + "r.noRuangan, " + "r.statusViewData," + "r.id, " + + "r.departemen.id ) " + "from Ruangan r where " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRawatInap') or " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='IdInstalasiPerinatalResikoTinggi' ) " + "order by r.namaRuangan ") public List findRuanganRanap(); - - @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" - + "r.jamBuka, " - + "r.jamTutup ," - + "r.kdRuangan, " - + "r.namaRuangan, " - + "r.noRuangan, " - + "r.statusViewData," - + "r.id, " - + "r.departemen.id ) " - + "from Ruangan r where " + + @Query("select NEW com.jasamedika.medifirst2000.entities.Ruangan(" + "r.jamBuka, " + "r.jamTutup ," + + "r.kdRuangan, " + "r.namaRuangan, " + "r.noRuangan, " + "r.statusViewData," + "r.id, " + + "r.departemen.id ) " + "from Ruangan r where " + "r.departemen.id=(Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdDepartemenInstalasiRehabilitasiMedik') " + "order by r.namaRuangan ") public List findRuanganRehabMedik(); - + @Query("select new map (unitKerja.id as id,unitKerja.namaRuangan as namaRuangan) from Pegawai pegawai join pegawai.ruangan unitKerja") - public List> findRuanganUnitKerja(); - + public List> findRuanganUnitKerja(); + @Query("select new Map(model.id as id, model.namaRuangan as namaRuangan) from Ruangan model where model.id = :ruanganId and model.statusEnabled is true") - public Map getRuanganById(@Param("ruanganId") Integer ruanganId); - + public Map getRuanganById(@Param("ruanganId") Integer ruanganId); + @Query("select new Map(model.id as id, model.namaRuangan as namaRuangan) " + "from Ruangan model where model.departemenId = :departemenId and model.statusEnabled is true order by model.namaRuangan") - public List> getRuanganByIdDepartemen(@Param("departemenId") Integer departemenId); + public List> getRuanganByIdDepartemen(@Param("departemenId") Integer departemenId); + + @Query("select new Map(model.id as id, model.namaRuangan as namaRuangan) " + + "from Ruangan model where model.departemenId in (:listIdDept) " + "and model.statusEnabled is true " + + "order by model.namaRuangan") + public List> findRajalBPJS(@Param("listIdDept") List listIdDept); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RuanganService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RuanganService.java index 1097113b..d9a63909 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RuanganService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/RuanganService.java @@ -47,7 +47,7 @@ public interface RuanganService extends BaseVoService findAllRuanganForTagihan(Integer instalasiId); List> findRuanganUnitKerja(); - + List> findKamarByRuangan(Integer idRuangan); /* @@ -60,9 +60,11 @@ public interface RuanganService extends BaseVoService getJmlTempatTidurByIdRuangan(Integer idRuangan); List findRuanganPenunjang(); - + List> findListRuanganDepartemen(Integer departemenId); - + + List> findRajalBPJS(); + Map getRuanganById(Integer idRuangan); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RuanganServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RuanganServiceImpl.java index f6fd5148..3c1ce009 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RuanganServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/RuanganServiceImpl.java @@ -1,6 +1,7 @@ package com.jasamedika.medifirst2000.service.impl; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -17,6 +18,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import com.jasamedika.medifirst2000.constants.Master; import com.jasamedika.medifirst2000.converter.RuanganConverter; import com.jasamedika.medifirst2000.dao.KamarDao; import com.jasamedika.medifirst2000.dao.RuanganDao; @@ -44,13 +46,13 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ @Autowired private RuanganDao ruanganDao; - + @Autowired private KamarDao kamarDao; @Autowired private RuanganConverter ruanganConverter; - + @Autowired private TempatTidurDao tempatTidurDao; @@ -147,7 +149,7 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ List vos = new ArrayList(); for (Ruangan ruangan : models) { RuanganVO ruanganVO = new RuanganVO(); - String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id","departemenId" }; + String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id", "departemenId" }; ruanganVO = ruanganConverter.transferModelToVOCustom(ruangan, ruanganVO, fieldsToInclude); vos.add(ruanganVO); } @@ -178,7 +180,7 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ return vos; } - + @Override public List findRuanganPenunjang() { List vos = new ArrayList(); @@ -211,7 +213,7 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ return vos; } - + @Override public List findRuanganOperator() { List vos = new ArrayList(); @@ -222,55 +224,57 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ return vos; } - + @Override - public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Specification spec,Pageable pageable) { + public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Specification spec, + Pageable pageable) { Page resultPage = ruanganDao.findAll(spec, pageable); List ruanganList = resultPage.getContent(); return constructMapReturn(ruanganList, resultPage.getTotalElements(), resultPage.getTotalPages()); } @Override - public Map ruanganPaging(Integer page, Integer limit, String sort, String dir,Specification spec) { - - Direction direction=null; - - if(sort.equalsIgnoreCase("asc")){ - direction=Sort.Direction.ASC; - }else{ - direction=Sort.Direction.DESC; + public Map ruanganPaging(Integer page, Integer limit, String sort, String dir, + Specification spec) { + + Direction direction = null; + + if (sort.equalsIgnoreCase("asc")) { + direction = Sort.Direction.ASC; + } else { + direction = Sort.Direction.DESC; } - + Pageable pageable = new PageRequest(page, limit, direction, sort); Page resultPage = ruanganDao.findAll(spec, pageable); List ruanganList = resultPage.getContent(); - + return constructMapReturn(ruanganList, resultPage.getTotalElements(), resultPage.getTotalPages()); - + } @Override public List findRuanganByDepartemenByName(String nama) { - List models = ruanganDao.findRuanganByDepartemenByName(nama); - List vos = new ArrayList(); - for (Ruangan ruangan : models) { - RuanganVO ruanganVO = new RuanganVO(); - String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id","departemenId" }; - ruanganVO = ruanganConverter.transferModelToVOCustom(ruangan, ruanganVO, fieldsToInclude); - vos.add(ruanganVO); - } - return vos; + List models = ruanganDao.findRuanganByDepartemenByName(nama); + List vos = new ArrayList(); + for (Ruangan ruangan : models) { + RuanganVO ruanganVO = new RuanganVO(); + String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id", "departemenId" }; + ruanganVO = ruanganConverter.transferModelToVOCustom(ruangan, ruanganVO, fieldsToInclude); + vos.add(ruanganVO); + } + return vos; } @Override public List findRuanganByParent(Integer idRuangan) { - List list=ruanganDao.findRuanganByParent(idRuangan); + List list = ruanganDao.findRuanganByParent(idRuangan); return list; } @Override public Integer countRuanganBilik(Integer idRuangan) { - Integer count=ruanganDao.countRuanganBilik(idRuangan); + Integer count = ruanganDao.countRuanganBilik(idRuangan); return count; } @@ -280,7 +284,8 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ List vos = new ArrayList(); for (Ruangan ruangan : models) { RuanganVO ruanganVO = new RuanganVO(); - String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id","departemenId","headRuangan" }; + String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id", "departemenId", + "headRuangan" }; ruanganVO = ruanganConverter.transferModelToVOCustom(ruangan, ruanganVO, fieldsToInclude); vos.add(ruanganVO); } @@ -293,7 +298,7 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ List vos = new ArrayList(); for (Ruangan ruangan : models) { RuanganVO ruanganVO = new RuanganVO(); - String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id","departemenId" }; + String[] fieldsToInclude = { "namaRuangan", "kdRuangan", "lokasiRuangan", "id", "departemenId" }; ruanganVO = ruanganConverter.transferModelToVOCustom(ruangan, ruanganVO, fieldsToInclude); vos.add(ruanganVO); } @@ -302,29 +307,29 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ @Override public List> findRuangan() { - List> result = ruanganDao.findAllRuangan(); + List> result = ruanganDao.findAllRuangan(); return result; } @Override public Map findAllRuanganForTagihan(Integer instalasiId) { - Map result=new HashMap(); - List>resultModel = null; - if(CommonUtil.isNotNullOrEmpty(instalasiId)){ + Map result = new HashMap(); + List> resultModel = null; + if (CommonUtil.isNotNullOrEmpty(instalasiId)) { resultModel = ruanganDao.findAllRuanganForTagihanByInstalasiId(instalasiId); - }else{ + } else { resultModel = ruanganDao.findAllRuanganForTagihan(); } - - if(CommonUtil.isNotNullOrEmpty(resultModel)){ + + if (CommonUtil.isNotNullOrEmpty(resultModel)) { result.put("ruangan", resultModel); - result.put("dataFound", true); - }else{ + result.put("dataFound", true); + } else { result.put("dataFound", false); - } + } return result; } - + /* * Author Iwan Kasan */ @@ -332,7 +337,7 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ public Map getRuanganByIdDep() { Map result = new HashMap(); List resultModel = this.ruanganDao.getRuanganByIdDep(); - + if (CommonUtil.isNotNullOrEmpty(resultModel)) { try { result.put("data", JsonUtil.ToMaps(resultModel)); @@ -340,13 +345,12 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ e.printStackTrace(); } result.put("dataFound", true); - } - else { + } else { result.put("dataFound", false); } return result; } - + /* * Author Iwan Kasan */ @@ -354,22 +358,21 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ public Map getJmlTempatTidur() { Map result = new HashMap(); List resultModel = this.tempatTidurDao.getJmlTempatTidur(); - + if (CommonUtil.isNotNullOrEmpty(resultModel)) { try { result.put("data", JsonUtil.ToMaps(resultModel)); - + } catch (Exception e) { e.printStackTrace(); } result.put("dataFound", true); - } - else { + } else { result.put("dataFound", false); } return result; } - + /* * Author Iwan Kasan */ @@ -377,17 +380,16 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ public Map getJmlTempatTidurByIdRuangan(Integer idRuangan) { Map result = new HashMap(); List resultModel = this.tempatTidurDao.getJmlTempatTidurByIdRuangan(idRuangan); - + if (CommonUtil.isNotNullOrEmpty(resultModel)) { try { result.put("data", JsonUtil.ToMaps(resultModel)); - + } catch (Exception e) { e.printStackTrace(); } result.put("dataFound", true); - } - else { + } else { result.put("dataFound", false); } return result; @@ -396,14 +398,14 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ @Override public List> findRuanganUnitKerja() { List> result = ruanganDao.findRuanganUnitKerja(); - + return result; } @Override public List> findListRuanganDepartemen(Integer departemenId) { List> result = ruanganDao.getRuanganByIdDepartemen(departemenId); - + return result; } @@ -419,4 +421,10 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ return ruanganDao.getRuanganById(idRuangan); } + @Override + public List> findRajalBPJS() { + List> result = ruanganDao.findRajalBPJS(Arrays.asList(Master.Departemen.GRUP_RAJAL_BPJS)); + return result; + } + }