package com.jasamedika.medifirst2000.dao; import java.util.List; 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.Generik; @Repository("ObatGenerikDao") public interface ObatGenerikDao extends PagingAndSortingRepository { @Query("select to_char(a.tglResep,'yyyy-MM-dd'), a.noResep, b.jumlah, b.hargaSatuan, b.produkId,c.noRegistrasi, d.noCm,d.namaPasien,d.tglLahir,d.jenisKelamin.jenisKelamin, a.ruanganTujuan.namaRuangan, c.tglRegistrasi, f.name from StrukResep a, PelayananPasien b, PasienDaftar c, Pasien d, MapGenerikToProduk e, Generik f where a.tglResep between date(:startDate) and date(:endDate) and a.strukOrderId = b.strukOrderId and a.pasien.pasienDaftar.noRec = c.noRec and c.pasienId = d.id and b.produkId = e.produkId and e.generikId = f.id") List findListObatGenerik(@Param("startDate") String startDate,@Param("endDate") String endDate); @Query("select to_char(strukResep.tglResep,'yyyy-MM-dd'), strukResep.noResep,ruangan.namaRuangan, "+ "pelayananPasien.jumlah,produk.namaProduk,produk.kdProduk, "+ "pasienDaftar.noRegistrasi, pasienDaftar.tglRegistrasi, "+ "pasien.namaPasien, pasien.noCm, jenisKelamin.jenisKelamin,pasien.tglLahir "+ "from PelayananPasien pelayananPasien "+ "left join pelayananPasien.strukResep strukResep "+ "left join strukResep.ruanganTujuan ruangan "+ "left join pelayananPasien.pasienDaftar antrian "+ "left join antrian.pasienDaftar pasienDaftar "+ "left join pasienDaftar.pasien pasien "+ "left join pelayananPasien.produk produk "+ "left join pelayananPasien.strukOrder strukOrder "+ "left join pasien.jenisKelamin jenisKelamin "+ "where produk.isNarkotika=true and strukResep.tglResep between date(:startDate) and date(:endDate)") List findListObatNarkotika(@Param("startDate") String startDate,@Param("endDate") String endDate); @Query("select to_char(strukResep.tglResep,'yyyy-MM-dd'), strukResep.noResep,ruangan.namaRuangan, "+ "pelayananPasien.jumlah,produk.namaProduk,produk.kdProduk, "+ "pasienDaftar.noRegistrasi, pasienDaftar.tglRegistrasi, "+ "pasien.namaPasien, pasien.noCm, jenisKelamin.jenisKelamin,pasien.tglLahir "+ "from PelayananPasien pelayananPasien "+ "left join pelayananPasien.strukResep strukResep "+ "left join strukResep.ruanganTujuan ruangan "+ "left join pelayananPasien.pasienDaftar antrian "+ "left join antrian.pasienDaftar pasienDaftar "+ "left join pasienDaftar.pasien pasien "+ "left join pelayananPasien.produk produk "+ "left join pelayananPasien.strukOrder strukOrder "+ "left join pasien.jenisKelamin jenisKelamin "+ "where produk.isPsikotropika=true and strukResep.tglResep between date(:startDate) and date(:endDate)") List findListObatPsikotropika(@Param("startDate") String startDate,@Param("endDate") String endDate); }