68 lines
5.6 KiB
Java
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);
|
|
|
|
|
|
}
|