2021-01-07 11:34:56 +07:00

85 lines
3.7 KiB
Java

package com.jasamedika.medifirst2000.dao;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.RegistrasiPelayananPasien;
/**
* Repository class for Ruangan
*
* @author Askur
*/
@Repository("RegistrasiPelayananPasienDao")
public interface RegistrasiPelayananPasienDao extends PagingAndSortingRepository<RegistrasiPelayananPasien, String> {
// custom query
@Query("select p from RegistrasiPelayananPasien p where p.pasienDaftar.pasien.noCm=:noCm and p.kdProfile=:kdProfile and date(p.tglMasuk)=:tglRegistrasi ")
RegistrasiPelayananPasien finByNoCm(@Param("noCm") String noCm,@Param("kdProfile") short kdProfile,@Param("tglRegistrasi") Date tglRegistrasi);
@Query("select count(p.id) from RegistrasiPelayananPasien p where month(p.tglMasuk)=:monthNow and year(p.tglMasuk)=:yearNow ")
Integer getCountByMonthAndYear(@Param("monthNow") Integer monthNow, @Param("yearNow") Integer yearNow);
@Query("select p from RegistrasiPelayananPasien p where p.pasienDaftarId=:noRec")
RegistrasiPelayananPasien finByNoRec(@Param("noRec") String noRec);
@Query("select p from RegistrasiPelayananPasien p where p.pasienDaftarId=:noRec")
List<RegistrasiPelayananPasien> finByNoRecs(@Param("noRec") String noRec);
// @Query("select p from RegistrasiPelayananPasien p where p.pasien.noCm=:noCm")
// RegistrasiPelayananPasien findPasienByNoCM(@Param("noCm") String noCm);
//
@Query("select p from RegistrasiPelayananPasien p where p.noRec=:noRec")
RegistrasiPelayananPasien findPasien(@Param("noRec") String noRec);
@Query("select p from RegistrasiPelayananPasien p where p.pasienDaftar.pasien.noCm=:noCm ")
RegistrasiPelayananPasien findPasienByNoCM(@Param("noCm")String noCm);
// @Query("select p from RegistrasiPelayananPasien p where p.pasienDaftar.noRec=:noRec")
// RegistrasiPelayananPasien findPasien(@Param("noRec") String noRec);
@Query("select distinct NEW Map ("
+ "a.noRec as noRec, "
+ "c.id as kelasId, "
+ "c.namaKelas as namaKelas, "
+ "d.id as ruanganId, "
+ "a.kamarId as kamarId, "
+ "a.noBed as noBed) "
+ "from RegistrasiPelayananPasien a "
+ "left join a.pasienDaftar b "
+ "left join b.kelas c "
+ "left join b.ruangan d "
+ "where b.noRec=:noRec")
Map<String, Object> loadRencanaPindah(
@Param("noRec")String noRec);
@Query(" select setting.nilaiField as nilaiField "+
" from SettingDataFixed setting"+
" where setting.namaField = 'JenisProdukRadiologi'")
public String findIdJenisProduk();
@Query(" select new map(jenisProduk.id as id, jenisProduk.jenisProduk as namaJenisProduk) "+
"from JenisProduk jenisProduk "+
"left join jenisProduk.kelompokProduk kelompokProduk "+
"where kelompokProduk.id = :idJenisProduk")
public List<Map<String,Object>> findJenisProduk(@Param("idJenisProduk")Integer idJenisProduk);
@Query("select p from RegistrasiPelayananPasien p where p.pasienDaftar.noRec=:noRec and p.statusKeluar is null ")
public List<RegistrasiPelayananPasien> finByNoRecPasiendaftar(@Param("noRec") String noRec);
@Query(" select produk.id "+
" from MapRuanganToProduk mapping "+
" left join mapping.ruangan ruangan "+
" left join mapping.produk produk "+
" left join produk.detailJenisProduk detailjenis "+
" left join detailjenis.jenisProduk jenisProduk "+
" where jenisProduk.id = :jenisProdukId and ruangan.id = :ruanganId")
public List<Integer> findIdProduk(@Param("ruanganId")Integer ruanganId,@Param("jenisProdukId")Integer jenisProdukId);
}