48 lines
2.6 KiB
Java
48 lines
2.6 KiB
Java
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.PelayananFarmakologi;
|
|
|
|
/**
|
|
* @author salmanoe
|
|
* @since Jun 20, 2022
|
|
*
|
|
*/
|
|
@Repository("pelayananFarmakologiDao")
|
|
public interface PelayananFarmakologiDao extends PagingAndSortingRepository<PelayananFarmakologi, String> {
|
|
|
|
@Query("select pf from PelayananFarmakologi pf " + "where pf.statusEnabled is true "
|
|
+ "and to_char(pf.tglPelayanan,'yyyy-MM') = :bulan " + "and pf.pegawaiId = :pegawaiId")
|
|
List<PelayananFarmakologi> findAllByKontrak(@Param("bulan") String bulan, @Param("pegawaiId") Integer idPegawai);
|
|
|
|
@Query("select new Map(pfk.noRec as noRec," + "pfk.tglPelayanan as tglPelayanan," + "pfk.skor as skor,"
|
|
+ "pfk.jumlah as jumlah," + "pfk.skor*pfk.jumlah as tSkor," + "pfk.catatan as detail,"
|
|
+ "pf.id as produkId," + "pf.namaProduk as namaProduk," + "pf.kdProduk as kdProduk,"
|
|
+ "(case when pf.kdProduk = 1 then 'Pelayanan Pasien (Tarif)' "
|
|
+ "when pf.kdProduk = 2 then 'pelayanan Pasien (Nontarif)' "
|
|
+ "when pf.kdProduk = 3 then 'Pelayanan Nonpasien' end) as kodeProduk," + "pg.id as pegawaiId,"
|
|
+ "pg.namaLengkap as namaLengkap) " + "from PelayananFarmakologi pfk " + "inner join pfk.produk pf "
|
|
+ "inner join pfk.pegawai pg " + "where pfk.statusEnabled is true " + "and pf.statusEnabled is true "
|
|
+ "and pg.statusEnabled is true " + "and to_char(pfk.tglPelayanan,'yyyy-MM') = :bulan "
|
|
+ "and pfk.pegawaiId = :pegawaiId " + "order by pf.namaProduk, pfk.tglPelayanan")
|
|
List<Map<String, Object>> findPelayananFarmakologi(@Param("bulan") String bulan,
|
|
@Param("pegawaiId") Integer idPegawai);
|
|
|
|
@Query("select new Map(pfk.tglPelayanan as tglPelayanan,"
|
|
+ "to_char(pfk.tglPelayanan,'yyyy-MM-dd HH24:MI:ss') as tglPelayananFormatted," + "pfk.jumlah as jumlah,"
|
|
+ "pfk.catatan as catatan) " + "from PelayananFarmakologi pfk " + "inner join pfk.pegawai pg "
|
|
+ "inner join pfk.produk pf " + "where pfk.statusEnabled is true " + "and pf.statusEnabled is true "
|
|
+ "and pg.statusEnabled is true " + "and pg.id = :pegawaiId " + "and pf.id = :produkId "
|
|
+ "and to_char(pfk.tglPelayanan,'yyyy-MM-dd') = :tglPelayanan")
|
|
List<Map<String, Object>> findPelayananFarmakologiDetail(@Param("pegawaiId") Integer idPegawai,
|
|
@Param("produkId") Integer idProduk, @Param("tglPelayanan") String tglPelayanan);
|
|
|
|
}
|