235 lines
15 KiB
Java
235 lines
15 KiB
Java
package com.jasamedika.medifirst2000.dao;
|
|
|
|
import com.jasamedika.medifirst2000.entities.Ruangan;
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.data.repository.query.Param;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Repository class for Ruangan
|
|
*
|
|
* @author Askur
|
|
*/
|
|
public interface RuanganDao extends JpaRepository<Ruangan, Integer>, JpaSpecificationExecutor<Ruangan> {
|
|
@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 " + "and r.statusEnabled=true")
|
|
Ruangan findById(@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 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")
|
|
List<Ruangan> 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")
|
|
List<Ruangan> 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")
|
|
List<Ruangan> findRuanganByDepartemen(@Param("nama") String name);
|
|
|
|
@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='KdDepartemenInstalasiGawatDarurat' "
|
|
+ "or s.namaField='KdDepartemenInstalasiGawatDarurat') " + "and r.statusEnabled=true")
|
|
Ruangan findRuanganGawatDarurat();
|
|
|
|
@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.kdRuangan=:kdRuangan "
|
|
+ "and r.statusEnabled=true " + "order by r.namaRuangan")
|
|
Ruangan findRuanganByDepartemenAndKdRuangan(@Param("kdRuangan") String kdRuangan);
|
|
|
|
@Query("select r from Ruangan r where r.namaRuangan like %:namaRuangan%")
|
|
List<Ruangan> findRuangRapat(@Param("namaRuangan") String namaRuangan);
|
|
|
|
@Query("select r from Ruangan r " + "where r.id in (Select cast(s.nilaiField as int) " + "from SettingDataFixed s "
|
|
+ "where s.namaField='KdRuanganLoundry')")
|
|
List<Ruangan> findRuangLoundry();
|
|
|
|
@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 lower(r.namaRuangan) like %:namaRuangan% "
|
|
+ "and 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")
|
|
List<Ruangan> findRuanganByDepartemenByName(@Param("namaRuangan") String namaRuangan);
|
|
|
|
@Query("select r from Ruangan r " + "where r.id in (Select cast(s.nilaiField as int) " + "from SettingDataFixed s "
|
|
+ "where s.namaField='KdRuanganCssd')")
|
|
List<Ruangan> findRuangCssd();
|
|
|
|
@Query("select distinct NEW com.jasamedika.medifirst2000.entities.Ruangan (b.kdRuangan,b.namaRuangan,b.id) "
|
|
+ "from RegistrasiAset a " + "left join a.ruangan b " + "where b.id is not null " + "order by b.id")
|
|
List<Ruangan> getRuanganOnAset();
|
|
|
|
@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='KdDepartemenInstalasiLaboratorium') "
|
|
+ "and r.statusEnabled=true " + "order by r.namaRuangan")
|
|
List<Ruangan> findRuanganLaboratorium();
|
|
|
|
@Query("select NEW Map(r.id as idRuangan,r.namaRuangan as namaRuangan,so.tglPelayananAwal as tglPelayananAwal,"
|
|
+ "so.tglPelayananAkhir as tglPelayananAkhir,so.status as status) from Ruangan r, "
|
|
+ "StrukOrder so where so.tglPelayananAwal between :periodeAwal and :periodeAkhir "
|
|
+ "and so.status='ORDER' and r.id=:idRuangan and so.noOrderIntern like '%ORR%'")
|
|
List<Ruangan> findStatusRuangRapat(@Param("periodeAwal") Date periodeAwal, @Param("periodeAkhir") Date periodeAkhir,
|
|
@Param("idRuangan") Integer idRuangan);
|
|
|
|
@Query("select map.ruanganId from MapLoginUserToRuangan map where map.loginUserId=:loginUserId")
|
|
List<Integer> getRuanganByUserLogin(@Param("loginUserId") Integer loginUserId);
|
|
|
|
@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.headRuangan.id=:idRuangan " + "and r.statusEnabled=true "
|
|
+ "order by r.namaRuangan")
|
|
List<Ruangan> findRuanganByParent(@Param("idRuangan") Integer idRuangan);
|
|
|
|
@Query("select count(*) from Ruangan r where r.headRuangan.id=:idRuangan")
|
|
Integer countRuanganBilik(@Param("idRuangan") Integer idRuangan);
|
|
|
|
@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 in (Select cast(s.nilaiField as int) " + "from SettingDataFixed s "
|
|
+ "where s.namaField='KdRuanganRehabilitasiMedik') " + "and r.statusEnabled=true")
|
|
Ruangan findRuanganRehabilitasiMedik();
|
|
|
|
@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='KdDepartemenInstalasiRehabMedik') "
|
|
+ "and r.statusEnabled=true")
|
|
List<Ruangan> findAllRuanganRehabilitasiMedik();
|
|
|
|
@Query("select NEW Map(r.id as ruanganId,r.namaRuangan as namaRuangan) from Ruangan r ")
|
|
List<Map<String, Object>> findAllRuangan();
|
|
|
|
@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))")
|
|
List<Map<String, Object>> 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 ")
|
|
List<Map<String, Object>> findAllRuanganForTagihanByInstalasiId(@Param("instalasiId") Integer instalasiId);
|
|
|
|
@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")
|
|
Ruangan findAllById(@Param("id") Integer id);
|
|
|
|
@Query("select new map(r.id as id, r.namaRuangan as nmRuangan) from Ruangan r where r.departemenId in (16)")
|
|
List<Ruangan> 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 ")
|
|
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")
|
|
List<Map<String, Object>> 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")
|
|
Map<String, Object> getRuanganByRegistrasi(@Param("noRec") String noRec);
|
|
|
|
@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 "
|
|
+ "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 ")
|
|
List<Ruangan> 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 " + "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 "
|
|
+ "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') or "
|
|
+ "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='KdInstalasiICU') "
|
|
+ "and r.statusEnabled=true and r.headRuangan is not null order by r.namaRuangan ")
|
|
List<Ruangan> 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 " + "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 ")
|
|
List<Ruangan> 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 " + "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 ")
|
|
List<Ruangan> findRuanganRanap();
|
|
|
|
@Query("select new map (unitKerja.id as id,unitKerja.namaRuangan as namaRuangan) " + "from Pegawai pegawai "
|
|
+ "join pegawai.ruangan unitKerja")
|
|
List<Map<String, Object>> 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")
|
|
Map<String, Object> 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")
|
|
List<Map<String, Object>> 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")
|
|
List<Map<String, Object>> findRajalBPJS(@Param("listIdDept") List<Integer> listIdDept);
|
|
|
|
}
|