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.ResepDokter; /** * @author salmanoe * @since Aug 9, 2022 * */ @Repository("resepDokterDao") public interface ResepDokterDao extends PagingAndSortingRepository { @Query("select distinct new Map(so.noRec as noRec," + "so.tglOrder as tglOrder," + "so.masalah as alergi," + "so.diagnosis as beratBadan," + "ru.namaRuangan as ruangan," + "pg.namaLengkap as dokter," + "pd.noRegistrasi as noRegistrasi," + "ps.namaPasien as namaPasien," + "ps.tglLahir as tglLahir," + "ps.noCm as noCm) " + "from ResepDokter rd " + "left join rd.strukOrder so " + "left join rd.ruangan ru " + "left join so.noRegistrasi pd " + "left join so.noCm ps " + "inner join so.pegawaiOrder pg " + "where rd.strukOrderId = :strukOrderId") Map findResepHeaderByStrukOrderId(@Param("strukOrderId") String strukOrderId); @Query("select new Map(rd.racikanKe as rKe," + "rd.namaObat as obat," + "rd.qtyProduk as jumlah," + "rd.keteranganLainnya as instruksi," + "rd.keteranganPakai as aturanPakai) " + "from ResepDokter rd " + "left join rd.strukOrder so " + "left join rd.ruangan ru " + "left join so.noRegistrasi pd " + "left join so.noCm ps " + "inner join so.pegawaiOrder pg " + "where rd.strukOrderId = :strukOrderId " + "order by rd.racikanKe, rd.namaObat") List> findResepBodyByStrukOrderId(@Param("strukOrderId") String strukOrderId); }