|  | @ -863,7 +863,82 @@ public class PatientHealthIndexService extends BaseJpaService<DevicePatientHealt
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return re;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject findChartByPatientWithAvg(String patient, int type, int gi_type, String begin, String end,String deviceSn) {
 | 
	
		
			
				|  |  |         JSONObject result = new JSONObject();
 | 
	
		
			
				|  |  |         JSONArray re = new JSONArray();
 | 
	
		
			
				|  |  |         String sql = "SELECT " +
 | 
	
		
			
				|  |  |                 "MIN(id) id" +
 | 
	
		
			
				|  |  |                 ", user" +
 | 
	
		
			
				|  |  |                 ",value1" +
 | 
	
		
			
				|  |  |                 ",value2" +
 | 
	
		
			
				|  |  |                 ",value3" +
 | 
	
		
			
				|  |  |                 ",value4" +
 | 
	
		
			
				|  |  |                 ",value5" +
 | 
	
		
			
				|  |  |                 ",value6" +
 | 
	
		
			
				|  |  |                 ",value7" +
 | 
	
		
			
				|  |  |                 ",device_sn" +
 | 
	
		
			
				|  |  |                 ",type" +
 | 
	
		
			
				|  |  |                 ",record_date" +
 | 
	
		
			
				|  |  |                 ",sort_date" +
 | 
	
		
			
				|  |  |                 ",min(czrq) czrq " +
 | 
	
		
			
				|  |  |                 " from wlyy_patient_health_index " +
 | 
	
		
			
				|  |  |                 " WHERE 1=1 "+
 | 
	
		
			
				|  |  |                 " and type =" + type +
 | 
	
		
			
				|  |  |                 " and record_date >= '" + begin + "'" +
 | 
	
		
			
				|  |  |                 " and record_date <= '" + end + "' " +
 | 
	
		
			
				|  |  |                 " and del = '1' ";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(patient)){
 | 
	
		
			
				|  |  |             sql+=" and user = '" + patient + "' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(deviceSn)){
 | 
	
		
			
				|  |  |             sql += " and device_sn='"+deviceSn+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String conditionApp = "";
 | 
	
		
			
				|  |  |         if (gi_type != 0) {
 | 
	
		
			
				|  |  |             conditionApp = " and value2 = '" + gi_type + "' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql = sql + conditionApp +
 | 
	
		
			
				|  |  |                 " GROUP BY user,value1,value2,value3,value4,value5,value6,value7,type,record_date,sort_date " +
 | 
	
		
			
				|  |  |                 " order by record_date desc ,sort_date desc limit " + 0 + " ," + 1000 + " ";
 | 
	
		
			
				|  |  | //        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         List<Map<String, Object>> list = findByPatientAndTime(sql,patient,type,1000,gi_type,begin,end);
 | 
	
		
			
				|  |  |         for (Map<String, Object> map : list) {
 | 
	
		
			
				|  |  |             JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |             json.put("id", map.get("id"));
 | 
	
		
			
				|  |  |             json.put("patient", map.get("user"));
 | 
	
		
			
				|  |  |             json.put("value1", map.get("value1"));
 | 
	
		
			
				|  |  |             json.put("value2", map.get("value2"));
 | 
	
		
			
				|  |  |             json.put("value3", map.get("value3"));
 | 
	
		
			
				|  |  |             json.put("value4", map.get("value4"));
 | 
	
		
			
				|  |  |             json.put("value5", map.get("value5"));
 | 
	
		
			
				|  |  |             json.put("value6", map.get("value6"));
 | 
	
		
			
				|  |  |             json.put("value7", map.get("value7"));
 | 
	
		
			
				|  |  |             json.put("deviceSn", map.get("device_sn") == null ? "" : map.get("device_sn"));
 | 
	
		
			
				|  |  |             json.put("type", map.get("type"));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Date date = (Date) map.get("record_date");
 | 
	
		
			
				|  |  |             if (type == 2) {
 | 
	
		
			
				|  |  |                 json.put("date", DateUtil.dateToStr(date, DateUtil.YYYY_MM_DD_HH_MM_SS));
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 json.put("date", DateUtil.dateToStr(date, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             json.put("sortDate", map.get("sort_date"));
 | 
	
		
			
				|  |  |             json.put("czrq", map.get("czrq"));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             re.put(json);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         result.put("list",re);
 | 
	
		
			
				|  |  |         OptionalDouble avg =  list.stream().mapToDouble(t -> t.get("value1") == null ? 0.0 :Double.parseDouble(t.get("value1").toString())).average();
 | 
	
		
			
				|  |  |         result.put("avg",0.0);
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             result.put("avg",avg.getAsDouble());
 | 
	
		
			
				|  |  |         }catch (Exception e){}
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 按时间段查询患者健康指标
 | 
	
		
			
				|  |  |      *
 |