Update controller bridging daftar online

Perbaikan struktur mvc services bridging daftar online
This commit is contained in:
Salman Manoe 2023-05-20 19:53:40 +07:00
parent 94c28e926d
commit 12d307816b
17 changed files with 427 additions and 437 deletions

View File

@ -26,14 +26,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.jasamedika.medifirst2000.dao.AntrianPasienRegistrasiDao;
import com.jasamedika.medifirst2000.dao.BridgingDao;
import com.jasamedika.medifirst2000.dao.JadwalPraktikDokterDao;
import com.jasamedika.medifirst2000.dao.KelompokPasienDao;
import com.jasamedika.medifirst2000.dao.PasienDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.PendidikanDao;
import com.jasamedika.medifirst2000.dao.RuanganDao;
import com.jasamedika.medifirst2000.dto.BatalRegistrasiDto;
import com.jasamedika.medifirst2000.dto.RegistrasiPasienDto;
import com.jasamedika.medifirst2000.entities.AntrianPasienRegistrasi;
@ -46,9 +38,12 @@ import com.jasamedika.medifirst2000.entities.Pendidikan;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.enums.TipePasienEnum;
import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService;
import com.jasamedika.medifirst2000.service.AntrianPasienRegistrasiService;
import com.jasamedika.medifirst2000.service.BatalRegistrasiService;
import com.jasamedika.medifirst2000.service.BridgingService;
import com.jasamedika.medifirst2000.service.JadwalDokterService;
import com.jasamedika.medifirst2000.service.JadwalOperasiService;
import com.jasamedika.medifirst2000.service.JadwalPraktikDokterService;
import com.jasamedika.medifirst2000.service.ModelService;
import com.jasamedika.medifirst2000.service.PasienDaftarService;
import com.jasamedika.medifirst2000.service.PasienService;
@ -58,6 +53,7 @@ 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.AntrianPasienRegistrasiVO;
import com.jasamedika.medifirst2000.vo.PasienVO;
import com.jasamedika.medifirst2000.vo.RegistrasiSmsVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
@ -85,41 +81,17 @@ import com.jasamedika.medifirst2000.vo.custom.BridgeDaftarVerifikasiPasienNotFou
@RequestMapping("/daftar-ol")
public class BridgingDaftarOnlineController {
@Autowired
private AntrianPasienRegistrasiDao antrianPasienRegistrasiDao;
private ModelService<RuanganVO> modelServiceRuangan;
@Autowired
private PasienDao pasienDao;
@Autowired
private PendidikanDao pendidikanDao;
@Autowired
private RuanganDao ruanganDao;
@Autowired
private KelompokPasienDao kelompokPasienDao;
@Autowired
private BridgingDao bridgingDao;
@Autowired
private PegawaiDao pegawaiDao;
@Autowired
private JadwalPraktikDokterDao jadwalPraktikDokterDao;
@Autowired
private PasienService<Pasien> pasienService;
@Autowired
private ModelService<Ruangan> modelServiceRuangan;
@Autowired
private JadwalDokterService jadwalDokterService;
private PasienService<PasienVO> pasienService;
@Autowired
private RuanganService<RuanganVO> ruanganService;
@Autowired
private JadwalDokterService jadwalDokterService;
@Autowired
private PegawaiService pegawaiService;
@ -138,10 +110,19 @@ public class BridgingDaftarOnlineController {
@Autowired
private JadwalOperasiService jadwalOperasiService;
@Autowired
private BridgingService bridgingService;
@Autowired
private JadwalPraktikDokterService jadwalPraktikDokterService;
@Autowired
private AntrianPasienRegistrasiService<AntrianPasienRegistrasiVO> antrianPasienRegistrasiService;
@RequestMapping(value = "/klinik_rs", method = RequestMethod.GET, produces = { MediaType.APPLICATION_XML_VALUE })
public BridgeDaftarKlinikListVO daftarKlinikRs() {
BridgeDaftarKlinikListVO y = new BridgeDaftarKlinikListVO();
List<Map<String, Object>> ruanganT = bridgingDao.getJadwalKlinik();
List<Map<String, Object>> ruanganT = bridgingService.getJadwalKlinik();
for (Map<String, Object> ruanganTmp : ruanganT) {
BridgeDaftarKlinikVO x = new BridgeDaftarKlinikVO();
@ -204,7 +185,8 @@ public class BridgingDaftarOnlineController {
BridgeDaftarJadwalDokterVO x = new BridgeDaftarJadwalDokterVO();
x.setIdKlinik(temp.get(i).getRuangan().getId().toString());
String hari = bridgingDao.getDay(DateUtil.dayOfWeek(temp.get(i).getTanggalJadwal()));
String hari = bridgingService
.getTanggalJadwal(DateUtil.dayOfWeek(temp.get(i).getTanggalJadwal()));
x.setHari(hari);
JadwalPraktek jp = temp.get(i).getJadwalPraktek();
if (CommonUtil.isNotNullOrEmpty(jp.getJamPraktek())) {
@ -284,7 +266,8 @@ public class BridgingDaftarOnlineController {
BridgeDaftarJadwalDokterVO x = new BridgeDaftarJadwalDokterVO();
x.setIdKlinik(temp.get(i).getRuangan().getId().toString());
String hari = bridgingDao.getDay(DateUtil.dayOfWeek(temp.get(i).getTanggalJadwal()));
String hari = bridgingService
.getTanggalJadwal(DateUtil.dayOfWeek(temp.get(i).getTanggalJadwal()));
x.setHari(hari);
if (CommonUtil.isNullOrEmpty(hari)) {
x.setHari("");
@ -335,10 +318,9 @@ public class BridgingDaftarOnlineController {
@RequestMapping(value = "/jadwal_dokter", method = RequestMethod.GET, produces = {
MediaType.APPLICATION_XML_VALUE })
// public BridgeDaftarJadwalDokterListVO jadwalDokterRs() {
public BridgeDaftarJadwalDokterListVO jadwalDokterRseRev() {
BridgeDaftarJadwalDokterListVO y = new BridgeDaftarJadwalDokterListVO();
List<Map<String, Object>> data = jadwalPraktikDokterDao.findAllJadwalPraktikDokter();
List<Map<String, Object>> data = jadwalPraktikDokterService.findAllJadwalPraktikDokter();
Calendar cal = Calendar.getInstance();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@ -361,13 +343,11 @@ public class BridgingDaftarOnlineController {
@RequestMapping(value = "/jam_kunjungan", method = RequestMethod.GET, produces = {
MediaType.APPLICATION_XML_VALUE })
// public BridgeDaftarJadwalDokterListVO jadwalDokterRs() {
public BridgeDaftarJadwalJamKunjunganListVO jamKunjungan(
@RequestParam(value = "idklinik", required = true) Integer idKlinik,
@RequestParam(value = "iddokter", required = true) Integer idDokter,
@RequestParam(value = "tanggal", required = false) String tgl) {
BridgeDaftarJadwalJamKunjunganListVO y = new BridgeDaftarJadwalJamKunjunganListVO();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date tanggal = null;
try {
@ -375,14 +355,10 @@ 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<Map<String, Object>> datas = bridgingDao.getJadwalKlinikbyId(idDokter, idKlinik, tanggalId);
// System.out.println(datas.toString());
List<Map<String, Object>> datas = bridgingService.getJadwalKlinikbyId(idDokter, idKlinik, tanggalId);
if (CommonUtil.isNotNullOrEmpty(datas)) {
for (Map<String, Object> data : datas) {
BridgeDaftarJadwalJamKunjunganVO x = new BridgeDaftarJadwalJamKunjunganVO();
@ -476,7 +452,7 @@ public class BridgingDaftarOnlineController {
boolean pasienValid = false;
System.out.println("service re-register registered patient has entered");
try {
p = pasienDao.findPasienByNoCm(vox.getData().getNoCM());
p = pasienService.findPasienByNoCm(vox.getData().getNoCM());
pasienValid = true;
vo.setKodeDokter(Short.parseShort(vox.getData().getIdDokter()));
vo.setKodeRegulerEkslusif(0);
@ -498,9 +474,9 @@ public class BridgingDaftarOnlineController {
AntrianPasienRegistrasi hasil = null;
UUID noReservasi = null;
Pegawai pegawai = new Pegawai();
pegawai = pegawaiDao.getPegawaiById(Integer.parseInt(vox.getData().getIdDokter()));
pegawai = pegawaiService.getById(Integer.parseInt(vox.getData().getIdDokter()));
if (pasienValid) {
Ruangan ruangan = ruanganDao.findRuanganByDepartemenAndKdRuangan(vo.getKodeRuangan());
Ruangan ruangan = ruanganService.findRuanganByDepartemenAndKdRuangan(vo.getKodeRuangan());
//// print in log
System.out.println("CaraBayar " + vox.getData().getCaraBayar());
System.out.println("IdDokter " + vox.getData().getIdDokter());
@ -522,11 +498,11 @@ public class BridgingDaftarOnlineController {
model.setJenisKelamin(p.getJenisKelamin());
noReservasi = UUID.randomUUID();
model.setNoReservasi(noReservasi.toString().substring(1, 8));
List<String> antrianPasienRegistrasi = antrianPasienRegistrasiDao.findAntrianPasienLamaRegistrasi(
List<String> antrianPasienRegistrasi = antrianPasienRegistrasiService.findAntrianPasienLamaRegistrasi(
p.getNoCm(), Integer.parseInt(vo.getKodeRuangan()), Integer.parseInt(vox.getData().getIdDokter()),
vox.getData().getTglKunjungan());
if (CommonUtil.isNullOrEmpty(antrianPasienRegistrasi)) {
hasil = antrianPasienRegistrasiDao.save(model);
hasil = antrianPasienRegistrasiService.simpan(model);
}
}
if (hasil != null) {
@ -568,31 +544,23 @@ public class BridgingDaftarOnlineController {
////
String jamKunjungan = "";
if (CommonUtil.isNotNullOrEmpty(vo.getData())) {
Ruangan ruangan = ruanganDao.findRuanganByDepartemenAndKdRuangan(vo.getData().getIdKlinik());
Pendidikan pendidikan = pendidikanDao.findByIdPendidikan(13);// basically
// pendidikan
// has
// been
// set
// to
// id
// 13
Ruangan ruangan = ruanganService.findRuanganByDepartemenAndKdRuangan(vo.getData().getIdKlinik());
Pendidikan pendidikan = bridgingService.findByIdPendidikan(13);
Integer ids = 1;
if (vo.getData().getCarabayar().toString().toLowerCase().equals("jkn")
|| vo.getData().getCarabayar().toString().toLowerCase().equals("jamkesda")) {
ids = 2;
}
KelompokPasien kelompokPasien = kelompokPasienDao.findById(ids);
KelompokPasien kelompokPasien = bridgingService.findKelompokPasienById(ids);
Pegawai pegawai = new Pegawai();
pegawai = pegawaiDao.getPegawaiById(Integer.parseInt(vo.getData().getIdDokter()));
pegawai = pegawaiService.getById(Integer.parseInt(vo.getData().getIdDokter()));
model.setNamaPasien(vo.getData().getNamaPasien());
model.setTempatLahir(vo.getData().getTempatLahir());
model.setNoTelepon(vo.getData().getNomorKontak());
model.setRuangan(ruangan);
model.setPegawai(pegawai);
model.setJenisPasien(kelompokPasien);
model.setType("REGULER");// type must not null so it has been set to
// be reguler
model.setType("REGULER");
model.setTipePasien(TipePasienEnum.BARU.getVal());
model.setPendidikan(pendidikan);
String tanggal = vo.getData().getTglKunjungan();
@ -623,12 +591,12 @@ public class BridgingDaftarOnlineController {
noReservasi = UUID.randomUUID();
model.setNoReservasi(noReservasi.toString().substring(1, 8));
List<String> antrianPasienRegistrasi = antrianPasienRegistrasiDao.findAntrianPasienRegistrasi(
List<String> antrianPasienRegistrasi = antrianPasienRegistrasiService.findAntrianPasienRegistrasi(
vo.getData().getNamaPasien(), vo.getData().getTglLahir(),
Integer.parseInt(vo.getData().getIdKlinik()), Integer.parseInt(vo.getData().getIdDokter()),
vo.getData().getTglKunjungan());
if (CommonUtil.isNullOrEmpty(antrianPasienRegistrasi)) {
hasil = antrianPasienRegistrasiDao.save(model);
hasil = antrianPasienRegistrasiService.simpan(model);
}
}

View File

@ -21,57 +21,58 @@ import com.jasamedika.medifirst2000.entities.AntrianPasienRegistrasi;
*/
@Repository("AntrianPasienRegistrasiDao")
public interface AntrianPasienRegistrasiDao extends PagingAndSortingRepository<AntrianPasienRegistrasi, String> {
@Query("select p from AntrianPasienDiPeriksa p where p.pasienDaftar.noRegistrasi=:noRegistrasi ")
AntrianPasienDiPeriksa findByNoRegister(@Param("noRegistrasi") String noRegistrasi);
AntrianPasienDiPeriksa findByNoRegister(@Param("noRegistrasi") String noRegistrasi);
public AntrianPasienRegistrasi findByNoReservasi(@Param("noReservasi") String noReservasi);
@Query("select count(p.id) from AntrianPasienRegistrasi p where date(p.tglReservasi)=:dateNow and noReservasi='-'")
Integer getCountByMonthAndYear(@Param("dateNow") Date dateNow);
//Modify
//Syamsu
// Modify
// Syamsu
@Query("select count(p.id) from AntrianPasienRegistrasi p where date(p.tglReservasi)=:dateNow and noReservasi='-' and p.jenis=:jenis")
Integer getCountByMonthAndYear(@Param("dateNow") Date dateNow, @Param("jenis") String jenis);
@Query("select min(p.noAntrian) from AntrianPasienRegistrasi p where p.jenis=:jenis and p.statusPanggil='0'")
Integer getCurrentAntrian(@Param("jenis") String jenis);
@Modifying(clearAutomatically = true)
@Query("Update AntrianPasienRegistrasi p set p.statusPanggil = '1' Where p.noAntrian = :noAntrian and p.jenis=:jenis")
Integer updatePanggilNoAntrian(@Param("noAntrian") Integer noAntrian, @Param("jenis") String jenis);
@Modifying(clearAutomatically = true)
@Query("Update AntrianPasienRegistrasi p set p.statusPanggil = '2' Where p.statusPanggil = '1' and p.jenis=:jenis")
Integer updateSudahNoAntrian(@Param("jenis") String jenis);
//Syamsu
// Syamsu
@Query("select max(p.noAntrian) from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.id=:idRuangan")
Integer getCountByMonthAndYearRuangan(@Param("dateNow") Date dateNow,@Param("idRuangan") Integer idRuangan);
Integer getCountByMonthAndYearRuangan(@Param("dateNow") Date dateNow, @Param("idRuangan") Integer idRuangan);
@Query("select count(antrian.noRec) from AntrianPasienRegistrasi antrian where antrian.statusPanggil='0' and antrian.jenis = :jenis ")
Long getCount(@Param("jenis") String jenis);
@Query("select p from AntrianPasienDiPeriksa p where p.ruanganId=:ruanganId ")
Page<AntrianPasienDiPeriksa> findAllAntrianPaging(@Param("ruanganId") Integer ruanganId,Pageable pageable);
Page<AntrianPasienDiPeriksa> findAllAntrianPaging(@Param("ruanganId") Integer ruanganId, Pageable pageable);
@Query("select p from AntrianPasienRegistrasi p where p.noRec=:noRec ")
AntrianPasienRegistrasi findByNoRec(@Param("noRec")String noRec);
AntrianPasienRegistrasi findByNoRec(@Param("noRec") String noRec);
@Query("select count(p.id) from AntrianPasienRegistrasi p where date(p.tglReservasi)=:date and p.ruangan.id=:ruanganId")
Integer findByRuanganIdAndTglRegistrasi(@Param("ruanganId") Integer ruanganId, @Param("date") Date date);
@Query("select antrian.noRec from AntrianPasienRegistrasi antrian "+
"where antrian.namaPasien =:nama and to_char(antrian.tglLahir, 'yyyy-MM-dd') = :tglLahir "+
"and antrian.ruanganId =:ruanganId and antrian.pegawaiId =:pegawaiId "+
"and to_char(antrian.tglReservasi, 'yyyy-MM-dd') =:tglReservasi")
List<String> findAntrianPasienRegistrasi(@Param("nama") String nama,@Param("tglLahir") String tglLahir,@Param("ruanganId") Integer ruanganId,@Param("pegawaiId") Integer pegawaiId, @Param("tglReservasi") String tglReservasi);
@Query("select antrian.noRec from AntrianPasienRegistrasi antrian left join antrian.pasien pasien "+
"where pasien.noCm = :noCm "+
"and antrian.ruanganId =:ruanganId and antrian.pegawaiId =:pegawaiId "+
"and to_char(antrian.tglReservasi, 'yyyy-MM-dd') =:tglReservasi")
List<String> findAntrianPasienLamaRegistrasi(@Param("noCm") String noCm,@Param("ruanganId") Integer ruanganId,@Param("pegawaiId") Integer pegawaiId, @Param("tglReservasi") String tglReservasi);
@Query("select antrian.noRec from AntrianPasienRegistrasi antrian "
+ "where antrian.namaPasien =:nama and to_char(antrian.tglLahir, 'yyyy-MM-dd') = :tglLahir "
+ "and antrian.ruanganId =:ruanganId and antrian.pegawaiId =:pegawaiId "
+ "and to_char(antrian.tglReservasi, 'yyyy-MM-dd') =:tglReservasi")
List<String> findAntrianPasienRegistrasi(@Param("nama") String nama, @Param("tglLahir") String tglLahir,
@Param("ruanganId") Integer ruanganId, @Param("pegawaiId") Integer pegawaiId,
@Param("tglReservasi") String tglReservasi);
@Query("select antrian.noRec from AntrianPasienRegistrasi antrian left join antrian.pasien pasien "
+ "where pasien.noCm = :noCm " + "and antrian.ruanganId =:ruanganId and antrian.pegawaiId =:pegawaiId "
+ "and to_char(antrian.tglReservasi, 'yyyy-MM-dd') =:tglReservasi")
List<String> findAntrianPasienLamaRegistrasi(@Param("noCm") String noCm, @Param("ruanganId") Integer ruanganId,
@Param("pegawaiId") Integer pegawaiId, @Param("tglReservasi") String tglReservasi);
}

View File

@ -12,281 +12,207 @@ import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.DetailDiagnosaPasien;
import com.jasamedika.medifirst2000.entities.Profile;
//import com.jasamedika.medifirst2000.entities.AbsensiPegawai;
@Repository("BridgingDao")
public interface BridgingDao extends PagingAndSortingRepository<DetailDiagnosaPasien, String> {
//@Query("select c.kdDiagnosa,c.namaDiagnosa,a.tglRegistrasi from DetailDiagnosaPasien a left join Diagnosa c on c.id=a.jenisDiagnosaId where date(a.tglRegistrasi) between :tglAwal and :tglAkhir order by a.tglRegistrasi, c.kdDiagnosa")
//@Query("select c.kdDiagnosa,c.namaDiagnosa,a.tglRegistrasi from DetailDiagnosaPasien a left join Diagnosa c on c.id=a.jenisDiagnosaId order by a.tglRegistrasi, c.kdDiagnosa")
@Query("from Diagnosa ddp")
//@Query("select c.kdDiagnosa,c.namaDiagnosa from Diagnosa c")
//@Query(value="select c.kddiagnosa,c.namadiagnosa,b.tglregistrasi from detaildiagnosapasien_t a left join antrianpasiendiperiksa_t b on a.noregistrasifk=b.norec left join diagnosa_m c on c.id=a.objectdiagnosafk where b.tglregistrasi between :tgl1 and :tgl2 order by b.tglregistrasi, c.kddiagnosa",nativeQuery=true)
//public List<Object[]> findICDbyDate(@Param("tgl1")String tgl1, @Param("tgl2")String tgl2);
public List<Object[]> findICDbyDate();
@Query("from Profile pf")
public List<Profile> biosProfile();
// @Query("select coalesce(max(p.noAntrianTujuan),0) from PasienDiRujukKeIntExt p "
// + "where date(p.tglDirujuk)=:dateNow and p.ruanganTujuan.id=:idRuangan")
public List<Profile> biosProfile();
@Query("select p.ruangan.id, p.qtyBed from Kamar p "
+ "where p.kelasId=1 or p.kelasId=2 or p.kelasId=3 or p.kelasId=4 or p.kelasId=5 or p.kelasId=7 or p.kelasId=8")
public List<Object[]> getQtyBed();
public List<Object[]> getQtyBed();
@Query("select p.tglRegistrasi, p.pasienDaftar.tglPulang from AntrianPasienDiPeriksa p "
+ "where p.ruangan.departemenId=16 and date(p.tglRegistrasi) between :dateNow and :dateThen order by p.tglRegistrasi")
public List<Object[]> getListPasienRanap(@Param("dateNow")Date dateNow, @Param("dateThen")Date dateThen);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=18 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIrj(@Param("dateNow")Date dateNow);
public List<Object[]> getListPasienRanap(@Param("dateNow") Date dateNow, @Param("dateThen") Date dateThen);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=16 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIri(@Param("dateNow")Date dateNow);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=18 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIrj(@Param("dateNow") Date dateNow);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=24 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIgd(@Param("dateNow")Date dateNow);
//@Query("from SuratKeputusan sk")
//public List<SuratKeputusan> biosSK();
//@Query("select New MAP(jk.ruangan.id as id, jk.ruangan.namaRuangan as namaRuangan, jk.jamBuka as jamBuka, jk.jamTutup as jamTutup, jk.dataJadwal.name as hari) from JadwalKlinik jk")
@Query("select new map(jadwalPraktek.jamPraktek as jamPraktek,jadwalPraktek.waktumulai as jamBuka, jadwalPraktek.waktuselesai as jamTutup"
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=16 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIri(@Param("dateNow") Date dateNow);
@Query("select p.pasienDaftarId, p.ruangan.kdRuangan, p.ruangan.namaRuangan, p.pasienDaftar.kelompokPasien.id from AntrianPasienDiPeriksa p where date(p.tglRegistrasi)=:dateNow and p.ruangan.departemenId=24 order by p.ruangan.kdRuangan")
public List<Object[]> kunjunganIgd(@Param("dateNow") Date dateNow);
@Query("select new map(jadwalPraktek.jamPraktek as jamPraktek,jadwalPraktek.waktumulai as jamBuka, jadwalPraktek.waktuselesai as jamTutup"
+ ",hari.namaHari as hari, ruangan.namaRuangan as namaRuangan, ruangan.id as id)"
+ " from JadwalPraktikDokter model "
+ " left join model.hari hari "
+ " left join model.jadwalPraktek jadwalPraktek "
+ " left join model.ruangan ruangan "
+ " left join model.dokter dokter "
+ " where model.statusEnabled = true ")
+ " from JadwalPraktikDokter model " + " left join model.hari hari "
+ " left join model.jadwalPraktek jadwalPraktek " + " left join model.ruangan ruangan "
+ " left join model.dokter dokter " + " where model.statusEnabled = true ")
public List<Map<String, Object>> getJadwalKlinik();
@Query("select p.name from DataJadwal p where p.id =:id")
public String getDay(@Param("id")Integer id);
//@Query("select NEW MAP(p.ruangan.id as idklinik,p.dokter.id as iddokter, p.jadwalPraktek.jamPraktek as jam) from JadwalDokter p where p.ruangan.id = :idKlinik and p.dokter.id = :idDokter and date(p.tanggalJadwal)=date(:tanggal)")
@Query("select new map(jadwalPraktek.jamPraktek as jamPraktek,jadwalPraktek.waktumulai as jamBuka, jadwalPraktek.waktuselesai as jamTutup"
public String getDay(@Param("id") Integer id);
@Query("select new map(jadwalPraktek.jamPraktek as jamPraktek,jadwalPraktek.waktumulai as jamBuka, jadwalPraktek.waktuselesai as jamTutup"
+ ",hari.namaHari as hari, ruangan.namaRuangan as namaRuangan, ruangan.id as id)"
+ " from JadwalPraktikDokter model "
+ " left join model.hari hari "
+ " left join model.jadwalPraktek jadwalPraktek "
+ " left join model.ruangan ruangan "
+ " left join model.dokter dokter "
+ " where model.statusEnabled = true "
+ " from JadwalPraktikDokter model " + " left join model.hari hari "
+ " left join model.jadwalPraktek jadwalPraktek " + " left join model.ruangan ruangan "
+ " left join model.dokter dokter " + " where model.statusEnabled = true "
+ " and ruangan.id = :idKlinik and dokter.id = :idDokter and hari.id=:tanggal")
public List<Map<String, Object>> getJadwalKlinikbyId(@Param("idDokter")Integer idDokter,@Param("idKlinik")Integer idKlinik,@Param("tanggal") Integer tanggal);
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'IdDepartemenRawatInap'")
public String findIdDepartemenRawatInap();
@Query(" select ruangan.id "+
"from Ruangan ruangan "+
"left join ruangan.departemen departemen "+
"where departemen.id in (:id)")
public List<Map<String, Object>> getJadwalKlinikbyId(@Param("idDokter") Integer idDokter,
@Param("idKlinik") Integer idKlinik, @Param("tanggal") Integer tanggal);
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdDepartemenRawatInap'")
public String findIdDepartemenRawatInap();
@Query(" select ruangan.id " + "from Ruangan ruangan " + "left join ruangan.departemen departemen "
+ "where departemen.id in (:id)")
public List<Integer> findIdRuanganDepartemenRawatInap(@Param("id") List<Integer> id);
@Query(" select new map (statusBed.statusBed as statusBed, "+
"kelas.kodeExternal as namaKelas, "+
"ruangPerawatan.kodeExternal as tipePasien, "+
"count (tempatTidur.id) as countBed) "+
"from TempatTidur tempatTidur "+
"left join tempatTidur.statusBed statusBed "+
"left join tempatTidur.kamar kamar "+
"left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "+
"left join kamar.kelas kelas "+
"left join kamar.ruangan ruangan "+
"where ruangPerawatan.id =:idRuangan and kelas.id = :idKelas "+
"group by statusBed.statusBed,kelas.kodeExternal,ruangPerawatan.kodeExternal")
public List<Map<String,Object>> findCountBed(@Param("idRuangan")Integer idRuangan,@Param("idKelas")Integer idKelas);
@Query(" select distinct kelas.id "+
"from TempatTidur tempatTidur "+
"left join tempatTidur.kamar kamar "+
"left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "+
"left join kamar.kelas kelas "+
"where ruangPerawatan.id = :id "+
"order by kelas.id")
public List<Integer> findIdKelasRuangan(@Param("id")Integer id);
@Query(" select asuransi.noAsuransi "+
"from AsuransiPasien asuransi "+
"left join asuransi.noCm pasien "+
"left join asuransi.rekanan rekanan "+
"where rekanan.id = :idRekanan and pasien.noCm = :noCm")
public String findNoAsuransi(@Param("idRekanan")Integer idRekanan,@Param("noCm")String noCm);
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'IdRekananBPJS'")
public String findIdBPJS();
@Query(" select distinct ruangPerawatan.id as idRuangan "+
"from TempatTidur tempatTidur "+
"left join tempatTidur.kamar kamar "+
"left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "+
"left join kamar.ruangan ruangan "+
"where ruangan.id in ( :id) "+
"order by ruangPerawatan.id asc")
public List<Integer> findIdRuanganPerawatan(@Param("id")List<Integer> id);
@Query(" select distinct to_char(kamar.tglUpdate, 'yyyy-MM-dd') "+
"from TempatTidur tempatTidur "+
"left join tempatTidur.kamar kamar "+
"left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "+
"left join kamar.kelas kelas "+
"where ruangPerawatan.id =:idRuangan and kelas.id = :idKelas and kamar.tglUpdate is not null "+
"order by to_char(kamar.tglUpdate, 'yyyy-MM-dd') desc")
public List<String> findTanggalUpdate(@Param("idRuangan")Integer idRuangan,@Param("idKelas")Integer idKelas);
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'KdKelompokPasienUmum'")
@Query(" select new map (statusBed.statusBed as statusBed, " + "kelas.kodeExternal as namaKelas, "
+ "ruangPerawatan.kodeExternal as tipePasien, " + "count (tempatTidur.id) as countBed) "
+ "from TempatTidur tempatTidur " + "left join tempatTidur.statusBed statusBed "
+ "left join tempatTidur.kamar kamar " + "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "
+ "left join kamar.kelas kelas " + "left join kamar.ruangan ruangan "
+ "where ruangPerawatan.id =:idRuangan and kelas.id = :idKelas "
+ "group by statusBed.statusBed,kelas.kodeExternal,ruangPerawatan.kodeExternal")
public List<Map<String, Object>> findCountBed(@Param("idRuangan") Integer idRuangan,
@Param("idKelas") Integer idKelas);
@Query(" select distinct kelas.id " + "from TempatTidur tempatTidur " + "left join tempatTidur.kamar kamar "
+ "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan " + "left join kamar.kelas kelas "
+ "where ruangPerawatan.id = :id " + "order by kelas.id")
public List<Integer> findIdKelasRuangan(@Param("id") Integer id);
@Query(" select asuransi.noAsuransi " + "from AsuransiPasien asuransi " + "left join asuransi.noCm pasien "
+ "left join asuransi.rekanan rekanan " + "where rekanan.id = :idRekanan and pasien.noCm = :noCm")
public String findNoAsuransi(@Param("idRekanan") Integer idRekanan, @Param("noCm") String noCm);
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdRekananBPJS'")
public String findIdBPJS();
@Query(" select distinct ruangPerawatan.id as idRuangan " + "from TempatTidur tempatTidur "
+ "left join tempatTidur.kamar kamar " + "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "
+ "left join kamar.ruangan ruangan " + "where ruangan.id in ( :id) " + "order by ruangPerawatan.id asc")
public List<Integer> findIdRuanganPerawatan(@Param("id") List<Integer> id);
@Query(" select distinct to_char(kamar.tglUpdate, 'yyyy-MM-dd') " + "from TempatTidur tempatTidur "
+ "left join tempatTidur.kamar kamar " + "left join tempatTidur.ruangPerawatanKemenkes ruangPerawatan "
+ "left join kamar.kelas kelas "
+ "where ruangPerawatan.id =:idRuangan and kelas.id = :idKelas and kamar.tglUpdate is not null "
+ "order by to_char(kamar.tglUpdate, 'yyyy-MM-dd') desc")
public List<String> findTanggalUpdate(@Param("idRuangan") Integer idRuangan, @Param("idKelas") Integer idKelas);
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'KdKelompokPasienUmum'")
public String findIdPasienUmum();
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'KdDepartemenInstalasiGawatDarurat'")
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'KdDepartemenInstalasiGawatDarurat'")
public String findIdUGD();
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'IdRawatInap'")
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdRawatInap'")
public String findIdRawatInap();
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'IdRawatJalan'")
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdRawatJalan'")
public String findIdRawatjalan();
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'IdProdukAkomodasi'")
@Query(" select setting.nilaiField as nilaiField " + " from SettingDataFixed setting"
+ " where setting.namaField = 'IdProdukAkomodasi'")
public String findIdProdukAkomodasi();
@Query(" select count(antrian.noRec) "+
"from PasienDaftar antrian "+
"where to_char(antrian.tglRegistrasi,'yyyy')=:tahun "+
"and to_char(antrian.tglRegistrasi,'MM')=:bulan")
public Long findTotalKunjungan(@Param("tahun")String tahun,@Param("bulan")String bulan);
@Query(" select count(pasien.id) "+
"from Pasien pasien "+
"where pasien.id is not null and "+
"to_char(pasien.tglDaftar,'yyyy') = :tahun "+
"and to_char(pasien.tglDaftar,'mm') = :bulan")
public Long findTotalPasien(@Param("tahun")String tahun,@Param("bulan")String bulan);
@Query(" select count(pasienDaftar.noRec) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.kelompokPasien kelompokPasien "+
"where kelompokPasien.id = :idPasienUmum and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienUmum(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idPasienUmum")Integer idPasienUmum);
@Query(" select count(distinct pasien.id) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.kelompokPasien kelompokPasien "+
"left join pasienDaftar.pasien pasien "+
"where kelompokPasien.id = :idPasienUmum and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienUmum(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idPasienUmum")Integer idPasienUmum);
@Query(" select count(distinct pasien.id) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.ruangan ruangan "+
"left join ruangan.departemen departemen "+
"left join pasienDaftar.pasien pasien "+
"where departemen.id = :idDepUGD and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienUGD(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idDepUGD")Integer idDepUGD);
@Query(" select count(pasienDaftar.noRec) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.ruangan ruangan "+
"left join ruangan.departemen departemen "+
"left join pasienDaftar.pasien pasien "+
"where departemen.id = :idDepUGD and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienUGD(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idDepUGD")Integer idDepUGD);
@Query(" select count(distinct pasien.id) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.ruangan ruangan "+
"left join ruangan.departemen departemen "+
"left join pasienDaftar.pasien pasien "+
"where departemen.id in (:idDep) and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienRawatJalan(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idDep")List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.ruangan ruangan "+
"left join ruangan.departemen departemen "+
"left join pasienDaftar.pasien pasien "+
"where departemen.id in (:idDep) and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienRawatJalan(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idDep")List<Integer> idDep);
@Query(" select count(distinct pasien.id) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.ruangan ruangan "+
"left join ruangan.departemen departemen "+
"left join pasienDaftar.pasien pasien "+
"where departemen.id in (:idDep) and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienRawatInap(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idDep")List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.ruangan ruangan "+
"left join ruangan.departemen departemen "+
"left join pasienDaftar.pasien pasien "+
"where departemen.id in (:idDep) and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienRawatInap(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idDep")List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.kelompokPasien kelompokPasien "+
"where kelompokPasien.id != :idPasienUmum and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienJaminan(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idPasienUmum")Integer idPasienUmum);
@Query(" select count(distinct pasien.id) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.kelompokPasien kelompokPasien "+
"left join pasienDaftar.pasien pasien "+
"where kelompokPasien.id != :idPasienUmum and "+
"to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienJaminan(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("idPasienUmum")Integer idPasienUmum);
@Query(" select distinct new map(harga.hargaSatuan as hargaSatuan, "+
"kelas.namaKelas as namaKelas) "+
"from HargaNettoProdukByKelas harga "+
"left join harga.produk produk "+
"left join harga.kelas kelas "+
"where produk.id = :idproduk ")
public List<Map<String,Object>> findTarifAkomodasi(@Param("idproduk")Integer idproduk);
@Query(" select count(pasienDaftar.noRec) "+
"from PasienDaftar pasienDaftar "+
"left join pasienDaftar.kelas kelas "+
"where to_char(pasienDaftar.tglRegistrasi,'yyyy')= :tahun "+
"and to_char(pasienDaftar.tglRegistrasi,'mm')= :bulan and kelas.id in (:kelas)")
public Integer findTotalKunjunganPasienPerKelas(@Param("tahun")String tahun,@Param("bulan")String bulan,@Param("kelas")List<Integer> kelas);
@Query(" select count(antrian.noRec) " + "from PasienDaftar antrian "
+ "where to_char(antrian.tglRegistrasi,'yyyy')=:tahun " + "and to_char(antrian.tglRegistrasi,'MM')=:bulan")
public Long findTotalKunjungan(@Param("tahun") String tahun, @Param("bulan") String bulan);
@Query(" select count(pasien.id) " + "from Pasien pasien " + "where pasien.id is not null and "
+ "to_char(pasien.tglDaftar,'yyyy') = :tahun " + "and to_char(pasien.tglDaftar,'mm') = :bulan")
public Long findTotalPasien(@Param("tahun") String tahun, @Param("bulan") String bulan);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "where kelompokPasien.id = :idPasienUmum and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienUmum(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "left join pasienDaftar.pasien pasien "
+ "where kelompokPasien.id = :idPasienUmum and " + "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienUmum(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id = :idDepUGD and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienUGD(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDepUGD") Integer idDepUGD);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id = :idDepUGD and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienUGD(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDepUGD") Integer idDepUGD);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienRawatJalan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienRawatJalan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienRawatInap(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.ruangan ruangan " + "left join ruangan.departemen departemen "
+ "left join pasienDaftar.pasien pasien " + "where departemen.id in (:idDep) and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienRawatInap(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idDep") List<Integer> idDep);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "where kelompokPasien.id != :idPasienUmum and "
+ "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalKunjunganPasienJaminan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select count(distinct pasien.id) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelompokPasien kelompokPasien " + "left join pasienDaftar.pasien pasien "
+ "where kelompokPasien.id != :idPasienUmum and " + "to_char(pasienDaftar.tglRegistrasi,'yyyy') = :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm') = :bulan")
public Long findTotalPasienJaminan(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("idPasienUmum") Integer idPasienUmum);
@Query(" select distinct new map(harga.hargaSatuan as hargaSatuan, " + "kelas.namaKelas as namaKelas) "
+ "from HargaNettoProdukByKelas harga " + "left join harga.produk produk " + "left join harga.kelas kelas "
+ "where produk.id = :idproduk ")
public List<Map<String, Object>> findTarifAkomodasi(@Param("idproduk") Integer idproduk);
@Query(" select count(pasienDaftar.noRec) " + "from PasienDaftar pasienDaftar "
+ "left join pasienDaftar.kelas kelas " + "where to_char(pasienDaftar.tglRegistrasi,'yyyy')= :tahun "
+ "and to_char(pasienDaftar.tglRegistrasi,'mm')= :bulan and kelas.id in (:kelas)")
public Integer findTotalKunjunganPasienPerKelas(@Param("tahun") String tahun, @Param("bulan") String bulan,
@Param("kelas") List<Integer> kelas);
}

View File

@ -1,8 +1,6 @@
package com.jasamedika.medifirst2000.service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.AntrianPasienRegistrasi;
@ -12,16 +10,25 @@ import com.jasamedika.medifirst2000.entities.StrukRetur;
import com.jasamedika.medifirst2000.vo.AntrianPasienRegistrasiVO;
import com.jasamedika.medifirst2000.vo.PapInstruksiPerjanjianVO;
public interface AntrianPasienRegistrasiService<T>
extends BaseVoService<AntrianPasienRegistrasi, AntrianPasienRegistrasiVO, String> {
public interface AntrianPasienRegistrasiService <T> extends BaseVoService<AntrianPasienRegistrasi, AntrianPasienRegistrasiVO, String> {
Integer getFormatNumberByMonthYear();
Map<String, Object> updateAntrianPasienRegistrasiFromPembatalanPasien(StrukRetur strukRetur, String noRec);
Map<String, Object> saveAntrianPasienRegFromPerjanjian(PasienDaftar pasienDaftar,PapInstruksiPerjanjianVO papInstruksiPerjanjianVO, Ruangan ruangan);
Map<String, Object> saveAntrianPasienRegFromPerjanjian(PasienDaftar pasienDaftar,
PapInstruksiPerjanjianVO papInstruksiPerjanjianVO, Ruangan ruangan);
AntrianPasienRegistrasi findOne(String noRec);
Integer countAntrian(Integer pasienId);
List<String> findAntrianPasienRegistrasi(String nama, String tglLahir, Integer ruanganId, Integer pegawaiId,
String tglReservasi);
List<String> findAntrianPasienLamaRegistrasi(String noCm, Integer ruanganId, Integer pegawaiId,
String tglReservasi);
AntrianPasienRegistrasi simpan(AntrianPasienRegistrasi model);
}

View File

@ -0,0 +1,25 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.KelompokPasien;
import com.jasamedika.medifirst2000.entities.Pendidikan;
/**
* @author Salman
*
*/
public interface BridgingService {
List<Map<String, Object>> getJadwalKlinik();
String getTanggalJadwal(Integer idDataJadwal);
List<Map<String, Object>> getJadwalKlinikbyId(Integer idDokter, Integer idKlinik, Integer tanggal);
Pendidikan findByIdPendidikan(Integer id);
KelompokPasien findKelompokPasienById(Integer id);
}

View File

@ -10,5 +10,7 @@ public interface JadwalPraktikDokterService {
Map<String, Object> saveJadwalPraktikByDay(List<JadwalPraktikDokterVO> dataVO);
Map<String, Object> findAllData(Integer hariId, Integer dokterId, Integer ruanganId);
List<Map<String, Object>> findAllJadwalPraktikDokter();
}

View File

@ -8,6 +8,7 @@ import com.jasamedika.medifirst2000.vo.KelompokPasienVO;
public interface KelompokPasienService <T> extends BaseVoService<KelompokPasien, KelompokPasienVO, Integer> {
public List<KelompokPasienVO> findKelompokPasien();
}

View File

@ -44,5 +44,7 @@ public interface PasienService<T> extends BaseVoService<Pasien, PasienVO, Intege
Pasien findPasienById(Integer key);
List<Map<String, Object>> findIbuAnak(Long tglAwal, Long tglAkhir);
Pasien findPasienByNoCm(String noCm);
}

View File

@ -23,6 +23,8 @@ public interface PegawaiService extends BaseVoService<Pegawai, PegawaiVO, Intege
PegawaiVO update(PegawaiVO vo);
PegawaiVO findById(Integer key);
Pegawai getById(Integer key);
PegawaiVO getPegawaiById(Integer id);

View File

@ -66,5 +66,7 @@ public interface RuanganService<T> extends BaseVoService<Ruangan, RuanganVO, Int
List<Map<String, Object>> findRajalBPJS();
Map<String, Object> getRuanganById(Integer idRuangan);
Ruangan findRuanganByDepartemenAndKdRuangan(String kdRuangan);
}

View File

@ -1,16 +1,10 @@
package com.jasamedika.medifirst2000.service.impl;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.IteratorUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.jpa.JpaSystemException;
@ -21,17 +15,9 @@ import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.converter.AlamatConverter;
import com.jasamedika.medifirst2000.dao.AlamatDao;
import com.jasamedika.medifirst2000.entities.Alamat;
import com.jasamedika.medifirst2000.entities.JenisAlamat;
import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.entities.PurchasedTest;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.AlamatService;
import com.jasamedika.medifirst2000.vo.ModelVO;
import com.jasamedika.medifirst2000.vo.NegaraVO;
import com.jasamedika.medifirst2000.vo.PropinsiVO;
import com.jasamedika.medifirst2000.vo.ModelVO;
import com.jasamedika.medifirst2000.vo.AlamatVO;
import com.jasamedika.medifirst2000.vo.JenisAlamatVO;
/**
* Implement class for AlamatService

View File

@ -14,25 +14,12 @@ import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.converter.AntrianPasienRegistrasiConverter;
import com.jasamedika.medifirst2000.dao.AntrianPasienRegistrasiDao;
import com.jasamedika.medifirst2000.dao.KelompokPasienDao;
import com.jasamedika.medifirst2000.dao.PasienInstruksiDao;
import com.jasamedika.medifirst2000.entities.Agama;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.AntrianPasienRegistrasi;
import com.jasamedika.medifirst2000.entities.AsalRujukan;
import com.jasamedika.medifirst2000.entities.DesaKelurahan;
import com.jasamedika.medifirst2000.entities.GolonganDarah;
import com.jasamedika.medifirst2000.entities.JenisKelamin;
import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.entities.PasienDaftar;
import com.jasamedika.medifirst2000.entities.PasienInstruksiPerjanjianT;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.Pekerjaan;
import com.jasamedika.medifirst2000.entities.Pendidikan;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.StatusPerkawinan;
import com.jasamedika.medifirst2000.entities.StrukRetur;
import com.jasamedika.medifirst2000.entities.TitlePasien;
import com.jasamedika.medifirst2000.enums.TipePasienEnum;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.AntrianPasienRegistrasiService;
@ -40,7 +27,6 @@ import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.AntrianPasienRegistrasiVO;
import com.jasamedika.medifirst2000.vo.PapInstruksiPerjanjianVO;
/**
* Implement class for PasienService
*
@ -48,23 +34,18 @@ import com.jasamedika.medifirst2000.vo.PapInstruksiPerjanjianVO;
* @param <T>
*/
@Service("antrianPasienRegistrasiService")
public class AntrianPasienRegistrasiServiceImpl extends BaseVoServiceImpl implements AntrianPasienRegistrasiService {
@Autowired
private AntrianPasienRegistrasiDao antrianPasienRegistrasiDao;
@Autowired
private AntrianPasienRegistrasiConverter antrianPasienRegistrasiConverter;
@Autowired
private KelompokPasienDao kelompokPasienDao;
@Autowired
private PasienInstruksiDao pasienInstruksiDao;
@Override
public Object add(Object vo) throws JpaSystemException, ServiceVOException {
return null;
@ -87,8 +68,8 @@ public class AntrianPasienRegistrasiServiceImpl extends BaseVoServiceImpl implem
@Override
public List findAll() throws JpaSystemException {
List<AntrianPasienRegistrasiVO> vos=new ArrayList<AntrianPasienRegistrasiVO>();
List<AntrianPasienRegistrasi> models=(List<AntrianPasienRegistrasi>) antrianPasienRegistrasiDao.findAll();
List<AntrianPasienRegistrasiVO> vos = new ArrayList<AntrianPasienRegistrasiVO>();
List<AntrianPasienRegistrasi> models = (List<AntrianPasienRegistrasi>) antrianPasienRegistrasiDao.findAll();
antrianPasienRegistrasiConverter.transferListOfModelToListOfVO(models, vos);
return vos;
}
@ -101,41 +82,42 @@ public class AntrianPasienRegistrasiServiceImpl extends BaseVoServiceImpl implem
@Override
public Integer getFormatNumberByMonthYear() {
Date dateNow=new Date();
Integer countByMonthAndYear=antrianPasienRegistrasiDao.getCountByMonthAndYear(dateNow);
if(countByMonthAndYear==0){
countByMonthAndYear=countByMonthAndYear+1;
}else{
countByMonthAndYear=countByMonthAndYear+1;
Date dateNow = new Date();
Integer countByMonthAndYear = antrianPasienRegistrasiDao.getCountByMonthAndYear(dateNow);
if (countByMonthAndYear == 0) {
countByMonthAndYear = countByMonthAndYear + 1;
} else {
countByMonthAndYear = countByMonthAndYear + 1;
}
return countByMonthAndYear;
}
return countByMonthAndYear;
}
@Override
public Map<String,Object> updateAntrianPasienRegistrasiFromPembatalanPasien(StrukRetur strukRetur, String noRec) {
AntrianPasienRegistrasi antrianPasienRegistrasi=antrianPasienRegistrasiDao.findByNoRec(noRec);
public Map<String, Object> updateAntrianPasienRegistrasiFromPembatalanPasien(StrukRetur strukRetur, String noRec) {
AntrianPasienRegistrasi antrianPasienRegistrasi = antrianPasienRegistrasiDao.findByNoRec(noRec);
antrianPasienRegistrasi.setStrukRetur(strukRetur);
antrianPasienRegistrasiDao.save(antrianPasienRegistrasi);
Map<String,Object> result=new HashMap<String,Object>();
Map<String, Object> result = new HashMap<String, Object>();
result.put("antrianPasienRegistrasi", antrianPasienRegistrasi);
return result;
}
@Override
public Map<String, Object> saveAntrianPasienRegFromPerjanjian(PasienDaftar pasienDaftar,PapInstruksiPerjanjianVO papInstruksiPerjanjianVO,Ruangan ruangan) {
public Map<String, Object> saveAntrianPasienRegFromPerjanjian(PasienDaftar pasienDaftar,
PapInstruksiPerjanjianVO papInstruksiPerjanjianVO, Ruangan ruangan) {
AntrianPasienRegistrasi model = new AntrianPasienRegistrasi();
model.setTglReservasi(papInstruksiPerjanjianVO.getTglInput());
model.setTipePasien(TipePasienEnum.LAMA.getVal());
model.setType("REGULER");
if(CommonUtil.isNotNullOrEmpty(pasienDaftar.getPasien())){
if (CommonUtil.isNotNullOrEmpty(pasienDaftar.getPasien())) {
model.setPendidikan(pasienDaftar.getPasien().getPendidikan());
model.setJenisKelamin(pasienDaftar.getPasien().getJenisKelamin());
model.setPasien(pasienDaftar.getPasien());
}
UUID noReservasi = UUID.randomUUID();
model.setNoReservasi("38"+noReservasi.toString().substring(1, 8));
model.setNoReservasi("38" + noReservasi.toString().substring(1, 8));
AntrianPasienRegistrasi antrianPasienRegistrasi = antrianPasienRegistrasiDao.save(model);
model.setNoAntrian(antrianPasienRegistrasiDao.getCountByMonthAndYear(model.getTglReservasi()));
model.setRuangan(ruangan);
@ -159,15 +141,32 @@ public class AntrianPasienRegistrasiServiceImpl extends BaseVoServiceImpl implem
}
@Override
public Integer countAntrian(Integer pasienId) {
public Integer countAntrian(Integer pasienId) {
Integer jlhKunjungan = 0;
PasienInstruksiPerjanjianT pasienInstruksiPerjanjian = pasienInstruksiDao.findPapInstruksiPerjanjianByNoCm(pasienId);
if(CommonUtil.isNotNullOrEmpty(pasienInstruksiPerjanjian))
{
jlhKunjungan = pasienInstruksiPerjanjian.getJumlahKunjungan();
PasienInstruksiPerjanjianT pasienInstruksiPerjanjian = pasienInstruksiDao
.findPapInstruksiPerjanjianByNoCm(pasienId);
if (CommonUtil.isNotNullOrEmpty(pasienInstruksiPerjanjian)) {
jlhKunjungan = pasienInstruksiPerjanjian.getJumlahKunjungan();
}
return jlhKunjungan;
}
@Override
public List findAntrianPasienRegistrasi(String nama, String tglLahir, Integer ruanganId, Integer pegawaiId,
String tglReservasi) {
return antrianPasienRegistrasiDao.findAntrianPasienRegistrasi(nama, tglLahir, ruanganId, pegawaiId,
tglReservasi);
}
@Override
public List findAntrianPasienLamaRegistrasi(String noCm, Integer ruanganId, Integer pegawaiId,
String tglReservasi) {
return antrianPasienRegistrasiDao.findAntrianPasienLamaRegistrasi(noCm, ruanganId, pegawaiId, tglReservasi);
}
@Override
public AntrianPasienRegistrasi simpan(AntrianPasienRegistrasi model) {
return antrianPasienRegistrasiDao.save(model);
}
}

View File

@ -0,0 +1,57 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.dao.BridgingDao;
import com.jasamedika.medifirst2000.dao.KelompokPasienDao;
import com.jasamedika.medifirst2000.dao.PendidikanDao;
import com.jasamedika.medifirst2000.entities.KelompokPasien;
import com.jasamedika.medifirst2000.entities.Pendidikan;
import com.jasamedika.medifirst2000.service.BridgingService;
/**
* @author Salman
*
*/
@Service("bridgingService")
public class BridgingServiceImpl extends BaseVoServiceImpl implements BridgingService {
@Autowired
private BridgingDao bridgingDao;
@Autowired
private PendidikanDao pendidikanDao;
@Autowired
private KelompokPasienDao kelompokPasienDao;
@Override
public List<Map<String, Object>> getJadwalKlinik() {
return bridgingDao.getJadwalKlinik();
}
@Override
public String getTanggalJadwal(Integer idDataJadwal) {
return bridgingDao.getDay(idDataJadwal);
}
@Override
public List<Map<String, Object>> getJadwalKlinikbyId(Integer idDokter, Integer idKlinik, Integer tanggal) {
return bridgingDao.getJadwalKlinikbyId(idDokter, idKlinik, tanggal);
}
@Override
public Pendidikan findByIdPendidikan(Integer id) {
return pendidikanDao.findByIdPendidikan(13);
}
@Override
public KelompokPasien findKelompokPasienById(Integer id) {
return kelompokPasienDao.findById(id);
}
}

View File

@ -1,6 +1,5 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -17,20 +16,19 @@ public class JadwalPraktikDokterServiceImpl extends BaseVoServiceImpl implements
@Autowired
private JadwalPraktikDokterDao jadwalPraktikDokterDao;
// @Autowired
//private JadwalPraktikDokterDaoCustom jadwalPraktikDokterDaoCustom;
@Override
public Map<String, Object> saveJadwalPraktikByDay(List<JadwalPraktikDokterVO> dataVO) {
return null;
}
@Override
public Map<String, Object> findAllData(Integer hariId, Integer dokterId, Integer ruanganId) {
Map<String, Object> result = new HashMap<>();
//result.put("data", jadwalPraktikDokterDaoCustom.findAllData(hariId, dokterId, ruanganId));
return result;
return null;
}
@Override
public List<Map<String, Object>> findAllJadwalPraktikDokter() {
return jadwalPraktikDokterDao.findAllJadwalPraktikDokter();
}
}

View File

@ -81,10 +81,10 @@ import com.jasamedika.medifirst2000.vo.RegistrasiPasienGawatDaruratVO;
* @param <T>
*/
@Service("pasienService")
public class PasienServiceImpl extends BaseVoServiceImpl implements PasienService<Pasien> {
public class PasienServiceImpl extends BaseVoServiceImpl implements PasienService<PasienVO> {
@Autowired
private BaseConverterImpl<PasienVO, Pasien> converterPasien;
@Autowired
private BaseConverterImpl<KecamatanVO, Kecamatan> kecamatanConverter;
@ -129,7 +129,7 @@ public class PasienServiceImpl extends BaseVoServiceImpl implements PasienServic
@Autowired
private RekananConverter rekananConverter;
@Autowired
private PasienDao pasienDao;
@ -246,8 +246,8 @@ public class PasienServiceImpl extends BaseVoServiceImpl implements PasienServic
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort,
String dir) {
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
@ -650,4 +650,9 @@ public class PasienServiceImpl extends BaseVoServiceImpl implements PasienServic
return null;
}
@Override
public Pasien findPasienByNoCm(String noCm) {
return pasienDao.findPasienByNoCm(noCm);
}
}

View File

@ -213,6 +213,11 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
return pegawaiVO;
}
@Override
public Pegawai getById(Integer key) {
return pegawaiDao.getPegawaiById(key);
}
@Override
public List<PegawaiVO> findAll() {
return null;
@ -2462,4 +2467,5 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
pegawaiDao.save(pegawai);
}
}
}

View File

@ -1,7 +1,6 @@
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;
@ -18,7 +17,6 @@ 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;
@ -428,4 +426,9 @@ public class RuanganServiceImpl extends BaseVoServiceImpl implements RuanganServ
return result;
}
@Override
public Ruangan findRuanganByDepartemenAndKdRuangan(String kdRuangan) {
return ruanganDao.findRuanganByDepartemenAndKdRuangan(kdRuangan);
}
}