39 lines
2.3 KiB
Java
39 lines
2.3 KiB
Java
package com.jasamedika.medifirst2000.dao;
|
|
|
|
import com.jasamedika.medifirst2000.entities.ResepDokter;
|
|
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 java.util.List;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @author salmanoe
|
|
* @since Aug 9, 2022
|
|
*
|
|
*/
|
|
@Repository("resepDokterDao")
|
|
public interface ResepDokterDao extends PagingAndSortingRepository<ResepDokter, String> {
|
|
@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,"
|
|
+ "pg.noSip as noSip," + "pd.noRegistrasi as noRegistrasi," + "pd.tglRegistrasi as tglRegistrasi,"
|
|
+ "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<String, Object> 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.aturanPakaiId as aturanId,rd.aturanPakaiSignaId as aturanSignaId,"
|
|
+ "rd.keteranganPakai as aturanPakai, ap.keteranganPakai as keteranganPakai,"
|
|
+ "jd.namaJumlah as jumlahSigna," + "sd.namaSatuan as satuanSigna," + "fp.namaFrekuensi as frekuensiSigna,"
|
|
+ "kp.namaKeterangan as keteranganSigna) " + "from ResepDokter rd " + "left join rd.strukOrder so "
|
|
+ "left join rd.aturanPakai ap " + "left join rd.aturanPakaiSigna aps " + "left join aps.jumlahDosis jd "
|
|
+ "left join aps.satuanDosis sd " + "left join aps.frekuensiPakaiObat fp "
|
|
+ "left join aps.keteranganPakaiObat kp " + "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<Map<String, Object>> findResepBodyByStrukOrderId(@Param("strukOrderId") String strukOrderId);
|
|
}
|