2021-01-07 11:34:56 +07:00

68 lines
5.6 KiB
Java

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<PapSkriningGizi, String>,JpaSpecificationExecutor<PapSkriningGizi> {
@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<PapSkriningGizi> findSkoring();
@Query("select model from PapSkriningGizi model where model.totalSkor in (0,1,2,3,4,5)")
public List<PapSkriningGizi> 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<PapSkriningGizi> 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<PapSkriningGizi> 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<PapSkriningGizi> 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<PapSkriningGizi> 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<PapSkriningGizi> 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<PapSkriningGizi> 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<PapSkriningGizi> 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<Object[]> 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<Object[]> findByNoCmAndTglInput(@Param("noCm") String noCm,@Param("tglInput") String tglInput);
}