2022-08-31 14:14:00 +07:00

52 lines
2.8 KiB
Java

package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.domain.Pageable;
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.PelayananPasienPetugas;
/**
* Repository class for PelayananPasien
*
* @author Generator
*/
@Repository("PelayananPasienPetugasDao")
public interface PelayananPasienPetugasDao extends PagingAndSortingRepository<PelayananPasienPetugas, String> {
@Query("select new Map(ppp.pelayananPasienId as pelayananId, count(ppp.pelayananPasienId) as sumPelayananId) "
+ "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
+ "where ppp.statusEnabled is true " + "and pp.statusEnabled is true "
+ "and ppp.ObjectJenisPetugasPeId in (4,6) " + "and ppp.pelayananPasienId in (:listPelayananId) "
+ "group by ppp.pelayananPasienId " + "having count(ppp.pelayananPasienId) > 1")
List<Map<String, Object>> countReferensiSkorPelayananAnestesi(
@Param("listPelayananId") List<String> listPelayananId);
@Query("select new Map(ppp.pelayananPasienId as pelayananId,ppp.ObjectJenisPetugasPeId as jenisPetugasId,"
+ "ppp.ObjectPegawaiId as petugasId,coalesce(ppp.asaId,2) as asaId,"
+ "mj.subUnitKerjaPegawaiId as kkId,pp.produkId as produkId) "
+ "from PelayananPasienPetugas ppp, MapPegawaiJabatanToUnitKerja mj " + "inner join ppp.pelayananPasien pp "
+ "inner join mj.subUnitKerjaPegawai sk " + "where ppp.ObjectPegawaiId = mj.pegawaiId "
+ "and ppp.statusEnabled is true " + "and pp.statusEnabled is true " + "and mj.statusEnabled is true "
+ "and sk.statusEnabled is true " + "and ppp.ObjectJenisPetugasPeId in (4,6) "
+ "and ppp.pelayananPasienId in (:listPelayananId) " + "and mj.unitKerjaPegawaiId in (:listKsmId) "
+ "and sk.name like 'KK%' " + "order by ppp.pelayananPasienId")
List<Map<String, Object>> findReferensiSkorPelayananAnestesi(@Param("listPelayananId") List<String> listPelayananId,
@Param("listKsmId") List<Integer> listKsmId);
@Query("select new Map(pgw.id as id,pgw.namaLengkap as namaLengkap) "
+ "from PelayananPasienPetugas ppp, MapPegawaiJabatanToUnitKerja mpj "
+ "inner join ppp.pelayananPasien plp " + "inner join ppp.kdpegawai pgw "
+ "where ppp.ObjectPegawaiId = mpj.pegawaiId " + "and mpj.pegawaiId = pgw.id "
+ "and ppp.statusEnabled is true " + "and plp.statusEnabled is true " + "and plp.produkId = :produkId "
+ "and mpj.subUnitKerjaPegawaiId = :kelompokKerjaId " + "order by plp.tglPelayanan desc")
List<Map<String, Object>> findDokterByTindakan(@Param("produkId") Integer idProduk,
@Param("kelompokKerjaId") Integer idKelompokKerja, Pageable pageable);
}