Salman Manoe 3c023474c9 Update service resep dokter
Penyesuaian aturan pakai signa di cetakan resep elektronik
2024-01-10 15:05:43 +07:00

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);
}