|
@ -1,8 +1,6 @@
|
|
|
package com.yihu.jw.device.dao;
|
|
|
|
|
|
import com.yihu.jw.entity.care.device.DevicePatientHealthIndex;
|
|
|
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;
|
|
@ -13,120 +11,4 @@ import java.util.List;
|
|
|
public interface DevicePatientHealthIndexDao
|
|
|
extends PagingAndSortingRepository<DevicePatientHealthIndex, Long>, JpaSpecificationExecutor<DevicePatientHealthIndex> {
|
|
|
|
|
|
List<DevicePatientHealthIndex> findByIdcardAndType(String idcard, Integer type);
|
|
|
|
|
|
/**
|
|
|
* 按录入时间和患者标识查询健康记录
|
|
|
*
|
|
|
* @param patientCode
|
|
|
* @param date
|
|
|
* @return
|
|
|
*/
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate = ?3 and a.del = '1'")
|
|
|
Iterable<DevicePatientHealthIndex> findByPatienDate(String patientCode, int type, Date date);
|
|
|
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate between ?3 and ?4 and a.del = '1' group by a.recordDate order by a.recordDate asc")
|
|
|
Iterable<DevicePatientHealthIndex> findByPatient(String user, int type, Date begin, Date end);
|
|
|
|
|
|
@Query("select a.value1 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value1 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue1ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a.value2 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value2 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue2ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a.value3 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value3 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue3ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a.value4 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value4 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue4ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a.value5 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value5 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue5ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a.value6 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value6 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue6ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a.value7 from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate < ?3 and a.value7 > '0' and a.del = '1' order by a.recordDate desc")
|
|
|
Page<String> findValue7ByPatient(String user, int type, Date recordDate, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.recordDate >= ?3 and a.recordDate <= ?4 and a.del = '1'")
|
|
|
Page<DevicePatientHealthIndex> findIndexByPatient(String patient, int type, Date start, Date end, Pageable pageRequest);
|
|
|
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.value2 =?3 and a.recordDate >= ?4 and a.recordDate <= ?5 and a.del = '1'")
|
|
|
Page<DevicePatientHealthIndex> findIndexByPatient(String patient, int type,String gi_type, Date start, Date end, Pageable pageRequest);
|
|
|
|
|
|
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.type = ?2 and a.del = '1'")
|
|
|
List<DevicePatientHealthIndex> findIndexByPatient(String patient, int type, Pageable pageRequest);
|
|
|
|
|
|
@Query("SELECT a FROM DevicePatientHealthIndex a where a.user = ?1 and a.del = '1' order by a.recordDate desc ")
|
|
|
List<DevicePatientHealthIndex> findRecentByPatient(String patient);
|
|
|
|
|
|
@Query("select DATE_FORMAT(a.recordDate,'%Y-%m-%d') from DevicePatientHealthIndex a where a.user = ?1 and a.recordDate >= ?2 and a.recordDate <= ?3 and a.del = '1' group by DATE_FORMAT(a.recordDate,'%Y-%m-%d') order by DATE_FORMAT(a.recordDate,'%Y-%m-%d') desc")
|
|
|
List<String> findDateList(String patient, Date start, Date end, Pageable pageRequest);
|
|
|
|
|
|
/**
|
|
|
* 获取患者一天血糖值
|
|
|
*/
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.type=1 and a.user = ?1 and DATE_FORMAT(a.recordDate,'%Y-%m-%d') = ?2 and a.del = '1' order by a.recordDate,a.id")
|
|
|
List<DevicePatientHealthIndex> findByDate(String patient, String date);
|
|
|
|
|
|
@Query(value = "select a.* from wlyy_patient_health_index a where a.user=?1 and a.type=?2 and a.del='1' order by a.record_date desc limit 0,1",nativeQuery = true)
|
|
|
DevicePatientHealthIndex findLastData(String patient, Integer type);
|
|
|
|
|
|
/**
|
|
|
* 获取患者一天的具体某个类型的数据
|
|
|
*/
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.type=?1 and a.user = ?2 and DATE_FORMAT(a.recordDate,'%Y-%m-%d') = ?3 and a.deviceSn = ?4 and a.del = '1' order by a.recordDate,a.id")
|
|
|
List<DevicePatientHealthIndex> findByDateAndType(int type,String patient, String date,String devicesn);
|
|
|
|
|
|
/**
|
|
|
* 获取患者单月的具体某个类型的数据
|
|
|
*/
|
|
|
@Query(value = "SELECT a.* FROM wlyy_patient_health_index a WHERE a.type=?1 AND a.USER=?2 AND DATE_FORMAT(a.record_date,'%Y-%m')=?3 AND a.device_sn=?4 AND a.del='1' ORDER BY a.record_date,a.id",nativeQuery = true)
|
|
|
List<DevicePatientHealthIndex> findByDateMonthAndType(int type,String patient, String date,String devicesn);
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 上次血糖值
|
|
|
*/
|
|
|
@Query(value = "select a.value1 from wlyy_patient_health_index a where a.type=1 and a.user = ?1 and a.id<?2 and a.value2 = ?3 and a.del = '1' order by a.sort_date desc ,record_date desc limit 0,1",nativeQuery = true)
|
|
|
String getPreValue(String user,Long id,String value2);
|
|
|
|
|
|
@Query(value = "select a.* from wlyy_patient_health_index a where a.user = ?1 and a.type = ?2 and a.value2 =?3 and a.record_date >= ?4 and a.record_date <= ?5 and a.del = '1' order by a.sort_date desc ,record_date desc limit ?6 ,?7",nativeQuery = true)
|
|
|
List<DevicePatientHealthIndex> findIndexByPatientNative(String patient, int type,String gi_type, Date start, Date end,int currentSize,int pageSize);
|
|
|
|
|
|
/**
|
|
|
* 获取患者某一天的血糖 普通sql写法
|
|
|
* @param patient
|
|
|
* @param date
|
|
|
* @return
|
|
|
*/
|
|
|
@Query(value = "select a.* from wlyy_patient_health_index a where a.type=1 and a.user = ?1 and DATE_FORMAT(a.record_date,'%Y-%m-%d') = ?2 and a.del = '1' order by a.record_date,a.id",nativeQuery = true)
|
|
|
List<DevicePatientHealthIndex> findByDateNative(String patient, String date );
|
|
|
|
|
|
@Query(value = "select a.* from wlyy_patient_health_index a where a.user = ?1 and a.type = ?2 and a.record_date >= ?3 and a.record_date <= ?4 and a.del = '1' order by a.sort_date desc ,record_date desc limit ?5 ,?6",nativeQuery = true)
|
|
|
List<DevicePatientHealthIndex> findIndexByPatientNative(String patient, int type, Date start, Date end,int currentSize,int pageSize);
|
|
|
|
|
|
@Query(value = "select DATE_FORMAT(a.record_date,'%Y-%m-%d') from wlyy_patient_health_index a where a.user = ?1 and a.record_date >= ?2 and a.record_date <= ?3 and a.del = '1' group by DATE_FORMAT(a.record_date,'%Y-%m-%d') order by DATE_FORMAT(a.record_date,'%Y-%m-%d') desc limit ?4 ,?5",nativeQuery = true)
|
|
|
List<String> findDateList(String patient,Date start ,Date end,Long currentSize,int pageSize);
|
|
|
|
|
|
@Query(value = "select DATE_FORMAT(a.record_date,'%Y-%m-%d') from wlyy_patient_health_index a where a.user = ?1 and a.type=?2 and a.record_date >= ?3 and a.record_date <= ?4 and a.del = '1' group by DATE_FORMAT(a.record_date,'%Y-%m-%d') order by DATE_FORMAT(a.record_date,'%Y-%m-%d') desc limit ?5 ,?6",nativeQuery = true)
|
|
|
List<String> findDateList(String patient,int type,Date start ,Date end,Long currentSize,int pageSize);
|
|
|
|
|
|
@Query(value = "select DATE_FORMAT(a.record_date,'%Y-%m-%d') from wlyy_patient_health_index a where a.user = ?1 and a.del = '1' group by DATE_FORMAT(a.record_date,'%Y-%m-%d') order by DATE_FORMAT(a.record_date,'%Y-%m-%d') desc limit ?2 ,?3",nativeQuery = true)
|
|
|
List<String> findDateList1(String patient,int currentSize,int pageSize);
|
|
|
|
|
|
@Query(value="select * from wlyy_patient_health_index where user = ?1 and type = ?2 ORDER BY record_date desc limit 0 ,5",nativeQuery = true)
|
|
|
List<DevicePatientHealthIndex> findByPatientAndTypeByPage(String patientCode, int type);
|
|
|
|
|
|
@Query("select count(a) from DevicePatientHealthIndex a where a.recordDate >= ?1 and a.recordDate <= ?2 and a.type in (1,2) and a.status = ?3 and a.del = '1' and a.user = ?4")
|
|
|
int getCountByTimeAndStatus(Date start, Date end, int status, String patientCode);
|
|
|
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.deviceSn = ?2 and a.value1 = ?3 and a.type = ?4 and a.recordDate >= ?5 and a.recordDate<=?6 and a.del = '1' ")
|
|
|
List<DevicePatientHealthIndex> findByTypeInHalfMinute(String patient, String deviceSn, String value1, Integer type, Date minDate,Date maxDate);
|
|
|
|
|
|
@Query("select a from DevicePatientHealthIndex a where a.user = ?1 and a.deviceSn = ?2 and a.value1 = ?3 and a.value2=?7 and a.value3=?8 and a.type = ?4 and a.recordDate >= ?5 and a.recordDate<=?6 and a.del = '1' ")
|
|
|
List<DevicePatientHealthIndex> findByTypeInHalfMinuteAllValue(String patient, String deviceSn, String value1, Integer type, Date minDate,Date maxDate,String value2,String value3);
|
|
|
|
|
|
}
|