Salman Manoe 5694c121d9 Update service migrasi pasien
Pembuatan subrutin ekstrasi data pasien dan foreign key
2023-11-10 21:27:34 +07:00

38 lines
2.3 KiB
Java

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<AsuransiPasien, Integer> {
@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<String, Object> 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<Map<String, Object>> 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<AsuransiPasien> findByPasienIdIn(@Param("listIdPasien") List<Integer> listIdPasien);
}