package com.jasamedika.medifirst2000.dao; 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.Rekanan; import com.jasamedika.medifirst2000.entities.RekananMouPKS; @Repository("RekananDao") public interface RekananDao extends PagingAndSortingRepository { @Query("SELECT p FROM Rekanan p WHERE p.jenisRekananId in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdPerusahaanRekanan') ") public List findAllPerusahaan(); @Query("SELECT p FROM Rekanan p WHERE p.jenisRekananId in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdAsuransiRekanan') ") public List findAllAsuransi(); @Query("SELECT new map (" + "p.alamatLengkap as alamatLengkap," + "p.bankRekeningAtasNama as bankRekeningAtasNama," + "p.bankRekeningNama as bankRekeningNama," + "p.bankRekeningNomor as bankRekeningNomor," + "p.contactPerson as contactPerson," + "p.namaDesaKelurahan as namaDesaKelurahan," + "p.email as email," + "p.faksimile as faksimile," + "p.accountId as accountId," + "p.desaKelurahanId as desaKelurahanId," + "p.jenisRekananId as jenisRekananId," + "p.kecamatanId as kecamatanId," + "p.kotaKabupatenId as kotaKabupatenId," + "p.pegawaiId as pegawaiId," + "p.propinsiId as propinsiId," + "p.kdRekanan as kdRekanan," + "p.rekananHeadId as rekananHeadId," + "p.namaKecamatan as namaKecamatan," + "p.kodePos as kodePos," + "p.namaKotaKabupaten as namaKotaKabupaten," + "p.namaRekanan as namaRekanan," + "p.noPKP as noPKP," + "p.nPWP as nPWP," + "p.qRekanan as qRekanan," + "p.rTRW as rTRW," + "p.telepon as telepon," + "p.website as website," + "p.id as id) " + "FROM Rekanan p " + "WHERE p.jenisRekananId = 7") public List findAllRumahSakit(); @Query("SELECT new map(" + "p.alamatLengkap as alamatLengkap," + "p.bankRekeningAtasNama as bankRekeningAtasNama," + "p.bankRekeningNama as bankRekeningNama," + "p.bankRekeningNomor as bankRekeningNomor," + "p.contactPerson as contactPerson," + "p.namaDesaKelurahan as namaDesaKelurahan," + "p.email as email," + "p.faksimile as faksimile," + "p.accountId as accountId," + "p.desaKelurahanId as desaKelurahanId," + "p.jenisRekananId as jenisRekananId," + "p.kecamatanId as kecamatanId," + "p.kotaKabupatenId as kotaKabupatenId," + "p.pegawaiId as pegawaiId," + "p.propinsiId as propinsiId," + "p.kdRekanan as kdRekanan," + "p.rekananHeadId as rekananHeadId," + "p.namaKecamatan as namaKecamatan," + "p.kodePos as kodePos," + "p.namaKotaKabupaten as namaKotaKabupaten," + "p.namaRekanan as namaRekanan," + "p.noPKP as noPKP," + "p.nPWP as nPWP," + "p.qRekanan as qRekanan," + "p.rTRW as rTRW," + "p.telepon as telepon," + "p.website as website," + "p.id as id) " + "FROM Rekanan p " + "WHERE p.jenisRekananId = 6") public List findAllYayasan(); @Query("SELECT new map(p.namaRekanan as namaRekanan,p.id as id,p.jenisRekanan as jenisRekanan) FROM Rekanan p WHERE p.jenisRekananId in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='kdjenisruangan') ") public List> getRakananKesling(); @Query("SELECT new map(p.namaRekanan as namaRekanan,p.id as id,p.jenisRekanan as jenisRekanan,p.alamatLengkap as alamatLengkap) FROM Rekanan p WHERE p.id=:id") public Map findById(@Param("id") Integer id); @Query("SELECT p FROM RekananMouPKS p ") public List findAllRekananMouPKS(); @Query("select NEW Map(r.id as id,r.namaRekanan as namaRekanan) from Rekanan r ") public List> findAllRekanan(); @Query("SELECT new map(p.namaRekanan as namaRekanan,p.id as id) " + "FROM Rekanan p " + "left join p.jenisRekanan jenisrekanan " + "WHERE jenisrekanan.id=:idJenisRekanan") public List> findByJenisRekanan(@Param("idJenisRekanan") Integer idJenisRekanan); @Query("select new Map(model.id as id, model.namaRekanan as namaRekanan) from Rekanan model where model.id = :rekananId and model.statusEnabled is true") public Map getRekananById(@Param("rekananId") Integer rekananId); }