package com.jasamedika.medifirst2000.dao; import com.jasamedika.medifirst2000.entities.AsuransiPasien; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import java.util.List; import java.util.Map; public interface AsuransiPasienDao extends JpaRepository { @Query("select new Map(model.id as asuransiPasienId," + "pegawai.id as pegawaiId," + "pegawai.namaLengkap as namaPegawai," + "pegawai.nipPns as nipPegawai," + "pegawai.tglLahir as tglLahir," + "rekanan.id as rekananAsuransiId," + "rekanan.namaRekanan as rekananNamaAsuransi," + "model.namaPeserta as namaPesertaAsuransi," + "hubunganpeserta.id as hubunganPesertaId," + "hubunganpeserta.hubunganPeserta as namaHubunganPeserta," + "model.noAsuransi as noKartuPolis" + ") " + "from AsuransiPasien model " + "left join model.pegawai pegawai " + "left join model.rekanan rekanan " + "left join model.hubunganPeserta hubunganpeserta " + "where pegawai.id is not null and model.id=:idAsuransiPasien") Map get(@Param("idAsuransiPasien") Integer idAsuransiPasien); @Query("select new Map(model.id as asuransiPasienId," + "pegawai.id as pegawaiId," + "pegawai.namaLengkap as namaPegawai," + "pegawai.nipPns as nipPegawai," + "pegawai.tglLahir as tglLahir," + "rekanan.id as rekananAsuransiId," + "rekanan.namaRekanan as rekananNamaAsuransi," + "model.namaPeserta as namaPesertaAsuransi," + "hubunganpeserta.id as hubunganPesertaId," + "hubunganpeserta.hubunganPeserta as namaHubunganPeserta," + "model.noAsuransi as noKartuPolis" + ") " + "from AsuransiPasien model " + "left join model.pegawai pegawai " + "left join model.rekanan rekanan " + "left join model.hubunganPeserta hubunganpeserta " + "where pegawai.id is not null") List> getAll(); @Query("select model from AsuransiPasien model left join model.noCm pasien where model.noAsuransi=:noAsuransi and pasien.id = :idPasien") AsuransiPasien getAsuransiByPasien(@Param("noAsuransi") String noAsuransi, @Param("idPasien") Integer idPasien); @Query("select ap from AsuransiPasien ap where ap.noCmId in (:listIdPasien)") List findByPasienIdIn(@Param("listIdPasien") List listIdPasien); }