| 
					
				 | 
			
			
				@ -0,0 +1,318 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.endpoint.device; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.endpoint.BaseController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.service.device.PatientHealthIndexService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.device.DevicePatientHealthIndex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import io.swagger.annotations.ApiParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.MediaType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@RequestMapping(value = "/doctor/health_index", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Api(description = "医生端-患者指标") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class DoctorHealthController extends BaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private PatientHealthIndexService healthIndexService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					private JdbcTemplate jdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "recent",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("患者最近填写的健康指标") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String recent(@ApiParam("患者代码") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										  @RequestParam String patient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray array = healthIndexService.findRecentByPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (array != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								return write(200, "查询成功", "list", array); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								return error(-1, "查询失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return error(-1, "查询失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 根据患者标志获取健康指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param patient 患者标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param type 健康指标类型(1血糖,2血压,3体重,4腰围) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return 操作结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "chart",method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("根据患者标志获取健康指标(图表)") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthIndexChartByPatient(@ApiParam(name="patient",value="患者代码",defaultValue = "eb0b478fbe9245428ecf63cd7517206f") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
																   @RequestParam(value="patient",required = true) String patient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															   @ApiParam(name="type",value="指标类型",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															   @RequestParam(value="type",required = true) int type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															   @ApiParam(name="gi_type",value="就餐类型",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
																   @RequestParam(value = "gi_type",required = false) int gi_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															   @ApiParam(name="begin",value="开始时间",defaultValue = "2017-05-22 00:00:00") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															   @RequestParam(value="begin",required = true) String begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															   @ApiParam(name="end",value="结束时间",defaultValue = "2017-06-02 00:00:00") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
																   @RequestParam(value="end",required = true) String end) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray jsonArray = healthIndexService.findChartByPatient(patient,type,gi_type,begin,end); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (jsonArray.length()==0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								return success("查询成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "list", jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(ex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(ex, -1, "查询失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 根据患者标志获取健康指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param patient 患者指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param type 健康指标类型(1血糖,2血压,3体重,4腰围) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return 操作结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "list",method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("根据患者标志获取健康指标") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthIndexByPatient(@ApiParam(name="patient",value="患者代码",defaultValue = "P20160901001") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															  @RequestParam(value="patient",required = true) String patient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="type",value="指标类型",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @RequestParam(value="type",required = true) int type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="begin",value="开始时间",defaultValue = "2016-07-23 00:00:00") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															  @RequestParam(value="begin",required = true) String begin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="end",value="开始时间",defaultValue = "2016-08-23 00:00:00") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															  @RequestParam(value="end",required = true) String end, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="page",value="第几页",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															  @RequestParam(value="page",required = true) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="pagesize",value="每页几行",defaultValue = "10") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
															  @RequestParam(value="pagesize",required = true) int pagesize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (type == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								List<Object> list = healthIndexService.findIndexByPatient2(patient, type, begin, end, page, pagesize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								jsonObject.put("data",list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								JSONArray jsonArray = healthIndexService.findIndexByPatient(patient, type, begin, end, page, pagesize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								jsonObject.put("data",jsonArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "list", jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(ex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(ex, -1, "查询失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 根据患者标志获取健康指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param patient 患者指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param type 健康指标类型(1血糖,2血压,3体重,4腰围) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return 操作结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "list1",method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("根据患者标志获取健康指标") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthIndexByPatient1(@ApiParam(name="patient",value="患者代码",defaultValue = "P20160901001") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @RequestParam(value="patient",required = true) String patient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="type",value="指标类型",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @RequestParam(value="type",required = true) int type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="page",value="第几页",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @RequestParam(value="page",required = true) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @ApiParam(name="pagesize",value="每页几行",defaultValue = "10") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														  @RequestParam(value="pagesize",required = true) int pagesize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (type == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								jsonObject = healthIndexService.findIndexByPatient3(patient, type, page, pagesize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							}else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								jsonObject = healthIndexService.findIndexByPatient1(patient, type, page, pagesize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "list", jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(ex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(ex, -1, "查询失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @param patient 患者标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "standard",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("患者健康指标预警值查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String standard(@ApiParam("患者代码") @RequestParam String patient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray standardArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray userArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 预警值未设置,返回默认值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							StringBuffer sb = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("["); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 默认血糖(餐前,餐后二小时) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("{min_value_1:"+ PatientHealthIndexService.HEALTH_STANDARD_ST_MIN_BEFORE +", max_value_1: "+ PatientHealthIndexService.HEALTH_STANDARD_ST_MAX_BEFORE +", " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									"min_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_ST_MIN_AFTER +", max_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_ST_MAX_AFTER +", type:1},"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 默认血压(收缩压,舒张压) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("{min_value_1:"+ PatientHealthIndexService.HEALTH_STANDARD_SSY_MIN +", max_value_1:"+ PatientHealthIndexService.HEALTH_STANDARD_SSY_MAX +", " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									"min_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_SZY_MIN +", max_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_SZY_MAX +", type:2}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("]"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							standardArray = new JSONArray(sb.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							json.put("standard", standardArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							json.put("custom", userArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "data", json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(e, -1, "查询失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "last",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("患者最新健康指标信息") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthIndexByPatient(@ApiParam(name="patient",value="患者代码",defaultValue = "") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														   @RequestParam(value="patient",required = true) String patient) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							Map<String,Object> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							DevicePatientHealthIndex xt = healthIndexService.findLastByPatienIot(patient, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (xt != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("xt", xt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							DevicePatientHealthIndex xy = healthIndexService.findLastByPatienIot(patient, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (xy != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("xy", xy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							DevicePatientHealthIndex tz = healthIndexService.findLastByPatienIot(patient, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (tz != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("tz", tz); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							DevicePatientHealthIndex sg = healthIndexService.findLastByPatienIot(patient, 4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (sg != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("sg", sg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							DevicePatientHealthIndex xl = healthIndexService.findLastByPatienIot(patient, 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if (xl != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								map.put("xl", xl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "data", map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(ex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(ex, -1, ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "getHealthIndexHistory",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("获取患者健康指标历史记录") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthIndexHistory(@ApiParam(name="patient",value="患者代码",defaultValue = "P20161008001") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @RequestParam(value="patient",required = true) String patient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @ApiParam(name="type",value="指标类型1血糖,2血压,3体重,4腰围",defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @RequestParam(value="type",required = true) int type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @ApiParam(name="page",value="第几页",defaultValue = "0") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @RequestParam(value="page",required = true) int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @ApiParam(name="pagesize",value="每页几行",defaultValue = "10") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
														 @RequestParam(value="pagesize",required = true) int pagesize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<Map<String,String>> list = healthIndexService.getHealthIndexHistory(patient, type, page, pagesize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "获取患者健康指标历史记录成功", "data", list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(ex, -1, ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "doctorstandard",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("医生健康指标预警值方案查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String doctorstandard(@ApiParam("医生") @RequestParam String doctor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray standardArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONArray userArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							if(StringUtils.isBlank(doctor)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								doctor = getUID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 预警值未设置,返回默认值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							StringBuffer sb = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("["); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 默认血糖(餐前,餐后二小时) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("{min_value_1:"+ PatientHealthIndexService.HEALTH_STANDARD_ST_MIN_BEFORE +", max_value_1: "+ PatientHealthIndexService.HEALTH_STANDARD_ST_MAX_BEFORE +", " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									"min_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_ST_MIN_AFTER +", max_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_ST_MAX_AFTER +", type:1},"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							// 默认血压(收缩压,舒张压) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("{min_value_1:"+ PatientHealthIndexService.HEALTH_STANDARD_SSY_MIN +", max_value_1:"+ PatientHealthIndexService.HEALTH_STANDARD_SSY_MAX +", " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
									"min_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_SZY_MIN +", max_value_2:"+ PatientHealthIndexService.HEALTH_STANDARD_SZY_MAX +", type:2}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							sb.append("]"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							standardArray = new JSONArray(sb.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							json.put("standard", standardArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							json.put("custom", userArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "data", json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(e, -1, "查询失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "/getHealthDateAll",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("医生端--查询所有有数据的日期") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthDateAll(@ApiParam(value = "居民code)", name = "patientCode") @RequestParam(value = "patientCode",required = true)String patientCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
												   @ApiParam(value = "设备sn码", name = "deviceSn") @RequestParam(value = "deviceSn",required = true)String deviceSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
												   @ApiParam(value = "时间(month:yyyy-MM)", name = "choseMonth") @RequestParam(value = "choseMonth",required = true)String choseMonth, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
												   @ApiParam(value = "健康指标类型(1血糖,2血压,3体重,4腰围)",name = "type")@RequestParam(value = "type",required = true)int type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							String sql = "select DISTINCT(DATE_FORMAT(a.record_date,'%Y-%m-%d')) result from wlyy_patient_health_index a where a.type="+type+" and a.`user` = '"+patientCode+"' and DATE_FORMAT(a.record_date,'%Y-%m') = '"+choseMonth+"' and a.device_sn = '"+deviceSn+"' and a.del = '1' order by a.record_date,a.id"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<Map<String,Object>> reusltList = jdbcTemplate.queryForList(sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<String> list = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							for (Map<String,Object> map : reusltList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
								list.add(String.valueOf(map.get("result"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "获取健康指标记录日期成功", "data", list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						}catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(e, -1, e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "/patientHealthIndexByDateAndDeviceSn",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("医生端--根据时间和设备sn码查询某个居民的体征记录") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String patientHealthIndexByDateAndDeviceSn(@ApiParam(value = "居民code)", name = "patientCode") @RequestParam(value = "patientCode",required = true)String patientCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
																	  @ApiParam(value = "设备sn码", name = "deviceSn") @RequestParam(value = "deviceSn",required = true)String deviceSn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
																	  @ApiParam(value = "日期", name = "choseDay") @RequestParam(value = "choseDay",required = true)String choseDay, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
																	  @ApiParam(value = "健康指标类型(1血糖,2血压,3体重,4腰围)",name = "type")@RequestParam(value = "type",required = true)int type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							List<Map<String,String>> list = healthIndexService.getHealthIndexByPatientAndDate(patientCode,deviceSn,choseDay,type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "获取健康指标历史记录成功", "data", list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return invalidUserException(ex, -1, ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@RequestMapping(value = "getHealthIndexById",method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					@ApiOperation("根据体征记录id获取体征记录详情") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					public String getHealthIndexById(@ApiParam("体征记录id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
										 @RequestParam Long id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							DevicePatientHealthIndex patientHealthIndex = healthIndexService.getHealthIndexById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return write(200, "查询成功", "data", patientHealthIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							error(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
							return error(-1, "查询失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |