package com.jasamedika.medifirst2000.dao; import java.util.Date; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 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.DataPertanyaanSkriningGizi; import com.jasamedika.medifirst2000.entities.PapSkriningGizi; /** * Repository class for PAPCatatan * * @author Askur */ @Repository("PapSkriningGiziDao") public interface PapSkriningGiziDao extends PagingAndSortingRepository,JpaSpecificationExecutor { @Query("select model from PapSkriningGizi model where model.pasien.noRec=:noRec and model.tglInput=:tglInput") public PapSkriningGizi findPapSkriningGiziByNoCmAndTglInput(@Param("noRec") String noCm,@Param("tglInput") Date tglInput); @Query("select model from PapSkriningGizi model where (model.totalSkor in (4,5) or (model.totalSkor in (1,2,3) and (date(CURRENT_TIMESTAMP)-date(model.tglInputData)) >=3)) and model.papSkriningGizi.noRec is null") public List findSkoring(); @Query("select model from PapSkriningGizi model where model.totalSkor in (0,1,2,3,4,5)") public List findSkoringAll(); @Query("select model from PapSkriningGizi model where (model.totalSkor in (4,5) or (model.totalSkor in (1,2,3) and (date(CURRENT_TIMESTAMP)-date(model.tglInputData)) >=3) ) and model.papSkriningGizi.noRec is null and (lower(model.pasien.pasienDaftar.pasien.namaPasien) like %:namaPasien% and (model.pasien.tglRegistrasi between date(:startDate) and date(:endDate)) )") public List findSkoring(@Param("startDate") String startDate,@Param("endDate") String endDate,@Param("namaPasien") String namaPasien); @Query("select model from PapSkriningGizi model where model.totalSkor in (4,5) and model.papSkriningGizi.noRec is null and (lower(model.pasien.pasienDaftar.pasien.namaPasien) like %:namaPasien% and (model.pasien.tglRegistrasi between date(:startDate) and date(:endDate))) ") public List findSkoring45(@Param("startDate") String startDate,@Param("endDate") String endDate,@Param("namaPasien") String namaPasien); @Query("select model from PapSkriningGizi model where (model.totalSkor in (1,2,3) and (date(CURRENT_TIMESTAMP)-date(model.tglInputData)) >=3) and model.papSkriningGizi.noRec is null and (lower(model.pasien.pasienDaftar.pasien.namaPasien) like %:namaPasien% and (model.pasien.tglRegistrasi between date(:startDate) and date(:endDate)) )") public List findSkoring123(@Param("startDate") String startDate,@Param("endDate") String endDate,@Param("namaPasien") String namaPasien); @Query("select model from PapSkriningGizi model where model.pasien.pasienDaftar.pasien.namaPasien like %:namaPasien%") public List findSkoringTest(@Param("namaPasien") String namaPasien); @Query("select model from PapSkriningGizi model where (model.totalSkor in (4,5) or (model.totalSkor in (1,2,3) and (date(CURRENT_TIMESTAMP)-date(model.tglInputData)) >=3) ) and model.papSkriningGizi.noRec is null and (lower(model.pasien.pasienDaftar.pasien.namaPasien) like %:namaPasien% and (model.pasien.tglRegistrasi between date(:startDate) and date(:endDate)) )") public Page findSkoringPaging(@Param("startDate") String startDate,@Param("endDate") String endDate,@Param("namaPasien") String namaPasien,Pageable Page); @Query("select model from PapSkriningGizi model where model.totalSkor in (4,5) and model.papSkriningGizi.noRec is null and (lower(model.pasien.pasienDaftar.pasien.namaPasien) like %:namaPasien% and (model.pasien.tglRegistrasi between date(:startDate) and date(:endDate))) ") public Page findSkoring45Paging(@Param("startDate") String startDate,@Param("endDate") String endDate,@Param("namaPasien") String namaPasien,Pageable Page); @Query("select model from PapSkriningGizi model where (model.totalSkor in (1,2,3) and (date(CURRENT_TIMESTAMP)-date(model.tglInputData)) >=3) and model.papSkriningGizi.noRec is null and (lower(model.pasien.pasienDaftar.pasien.namaPasien) like %:namaPasien% and (model.pasien.tglRegistrasi between date(:startDate) and date(:endDate)) )") public Page findSkoring123Paging(@Param("startDate") String startDate,@Param("endDate") String endDate,@Param("namaPasien") String namaPasien,Pageable Page); @Query("select count(*) from DataPertanyaanSkriningGizi model where model.dataPertanyaanSkriningGizi.id=:idSkringGizi") public Integer jumlahChildren(@Param("idSkringGizi") Integer idSkringGizi); @Query("select model from DataPertanyaanSkriningGizi model where model.id=:idChildren") public DataPertanyaanSkriningGizi findIdParentByChildren(@Param("idChildren") Integer idChildren); @Query("select a.tinggiBadan, a.beratBadan, a.lingkarKepala from PapSkriningGizi a where a.pasien.pasienDaftar.pasien.noCm=:noCm") public List findByNoCm(@Param("noCm") String noCm); @Query("select a.tinggiBadan, a.beratBadan, a.lingkarKepala, a.totalSkor, b.skriningGizi.name as pertanyaan, b.skriningGizi.nilai as nilai, b.yaTidak.name as jawaban from PapSkriningGizi a, PapSkriningGiziDetail b where a.pasien.pasienDaftar.pasien.noCm=:noCm and to_char(a.tglInput,'yyyy-MM-dd')=:tglInput") public List findByNoCmAndTglInput(@Param("noCm") String noCm,@Param("tglInput") String tglInput); }