|
@ -1,7 +1,6 @@
|
|
|
package com.yihu.wlyy.web.patient.health;
|
|
|
|
|
|
import java.util.Iterator;
|
|
|
import java.util.List;
|
|
|
import java.util.*;
|
|
|
|
|
|
import com.yihu.wlyy.health.entity.DevicePatientHealthIndex;
|
|
|
import io.swagger.annotations.Api;
|
|
@ -29,325 +28,512 @@ import com.yihu.wlyy.web.BaseController;
|
|
|
@Api(description = "患者指标")
|
|
|
public class PatientHealthController extends BaseController {
|
|
|
|
|
|
@Autowired
|
|
|
private PatientHealthIndexService healthIndexService;
|
|
|
@Autowired
|
|
|
private PatientHealthIndexService healthIndexService;
|
|
|
|
|
|
/**
|
|
|
* 患者最近填写的健康指标
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "recent")
|
|
|
@ResponseBody
|
|
|
public String recent() {
|
|
|
try {
|
|
|
JSONArray array = healthIndexService.findRecentByPatient(getUID());
|
|
|
if (array != null) {
|
|
|
return write(200, "查询成功", "list", array);
|
|
|
} else {
|
|
|
return error(-1, "查询失败");
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "查询失败");
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
* 患者最近的各项健康信息
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "/getRecentData")
|
|
|
@ResponseBody
|
|
|
public String getRecentData() {
|
|
|
try {
|
|
|
List list = new ArrayList();
|
|
|
String patient = getUID();
|
|
|
// String patient = "test_4429a0a4138a281e7c6316eb9bd";
|
|
|
// 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
Map map = healthIndexService.findDataByPatient(patient, 1);
|
|
|
Map map1 = healthIndexService.findDataByPatient(patient, 2);
|
|
|
Map map2 = healthIndexService.findDataByPatient(patient, 3);
|
|
|
Map map3 = healthIndexService.findDataByPatient(patient, 4);
|
|
|
// 血糖各个时间段取值
|
|
|
if (map.size()!=0) {
|
|
|
Map sugar = new HashMap();
|
|
|
Object time = map.get("time");
|
|
|
String isDevice = map.get("isDevice").toString();
|
|
|
Object value1 = map.get("value1");
|
|
|
Object value2 = map.get("value2");
|
|
|
Object value3 = map.get("value3");
|
|
|
Object value4 = map.get("value4");
|
|
|
Object value5 = map.get("value5");
|
|
|
Object value6 = map.get("value6");
|
|
|
Object value7 = map.get("value7");
|
|
|
sugar.put("type", 1);
|
|
|
sugar.put("isDevice", isDevice);
|
|
|
if (time!=null){
|
|
|
sugar.put("time", time);
|
|
|
}
|
|
|
if (value1 != null) {
|
|
|
sugar.put("value1", value1);
|
|
|
}
|
|
|
if (value2!=null) {
|
|
|
sugar.remove("value1");
|
|
|
sugar.put("value2", value2);
|
|
|
}
|
|
|
if (value3!=null) {
|
|
|
sugar.remove("value2");
|
|
|
sugar.put("value3", value3);
|
|
|
}
|
|
|
if (value4!=null) {
|
|
|
sugar.remove("value3");
|
|
|
sugar.put("value4", value4);
|
|
|
}
|
|
|
if (value5!=null) {
|
|
|
sugar.remove("value4");
|
|
|
sugar.put("value5", value5);
|
|
|
}
|
|
|
if (value6!=null) {
|
|
|
sugar.remove("value5");
|
|
|
sugar.put("value6", value6);
|
|
|
}
|
|
|
if (value7!=null) {
|
|
|
sugar.remove("value6");
|
|
|
sugar.put("value7", value7);
|
|
|
}
|
|
|
list.add(sugar);
|
|
|
}
|
|
|
// 血压 value1高压 value2低压 value3脉搏 value4心率不齐
|
|
|
if (map1.size()!=0) {
|
|
|
Map pa = new HashMap();
|
|
|
Object time = map1.get("time");
|
|
|
String isDevice = map1.get("isDevice").toString();
|
|
|
Object value1 = map1.get("value1");
|
|
|
Object value2 = map1.get("value2");
|
|
|
Object value3 = map1.get("value3");
|
|
|
Object value4 = map1.get("value4");
|
|
|
Object value5 = map1.get("value5");
|
|
|
Object value6 = map1.get("value6");
|
|
|
Object value7 = map1.get("value7");
|
|
|
pa.put("type", 2);
|
|
|
pa.put("isDevice", isDevice);
|
|
|
if (time!=null){
|
|
|
pa.put("time", time);
|
|
|
}
|
|
|
if (value1 != null) {
|
|
|
pa.put("value1", value1);
|
|
|
}
|
|
|
if (value2!=null) {
|
|
|
pa.put("value2", value2);
|
|
|
}
|
|
|
if (value3!=null) {
|
|
|
pa.put("value3", value3);
|
|
|
}
|
|
|
if (value4!=null) {
|
|
|
pa.put("value4", value4);
|
|
|
}
|
|
|
if (value5!=null) {
|
|
|
pa.put("value5", value5);
|
|
|
}
|
|
|
if (value6!=null) {
|
|
|
pa.put("value6", value6);
|
|
|
}
|
|
|
if (value7!=null) {
|
|
|
pa.put("value7", value7);
|
|
|
}
|
|
|
list.add(pa);
|
|
|
}
|
|
|
// 体重 value1 体重
|
|
|
if (map2.size()!=0) {
|
|
|
Map weight = new HashMap();
|
|
|
Object time = map2.get("time");
|
|
|
String isDevice = map2.get("isDevice").toString();
|
|
|
Object value1 = map2.get("value1");
|
|
|
Object value2 = map2.get("value2");
|
|
|
Object value3 = map2.get("value3");
|
|
|
Object value4 = map2.get("value4");
|
|
|
Object value5 = map2.get("value5");
|
|
|
Object value6 = map2.get("value6");
|
|
|
Object value7 = map2.get("value7");
|
|
|
weight.put("type", 3);
|
|
|
weight.put("isDevice", isDevice);
|
|
|
if (time!=null){
|
|
|
weight.put("time", time);
|
|
|
}
|
|
|
if (value1 != null) {
|
|
|
weight.put("value1", value1);
|
|
|
}
|
|
|
if (value2!=null) {
|
|
|
weight.put("value2", value2);
|
|
|
}
|
|
|
if (value3!=null) {
|
|
|
weight.put("value3", value3);
|
|
|
}
|
|
|
if (value4!=null) {
|
|
|
weight.put("value4", value4);
|
|
|
}
|
|
|
if (value5!=null) {
|
|
|
weight.put("value5", value5);
|
|
|
}
|
|
|
if (value6!=null) {
|
|
|
weight.put("value6", value6);
|
|
|
}
|
|
|
if (value7!=null) {
|
|
|
weight.put("value7", value7);
|
|
|
}
|
|
|
list.add(weight);
|
|
|
}
|
|
|
// 腰围 value1腰围
|
|
|
if (map3.size()!=0) {
|
|
|
Map waist = new HashMap();
|
|
|
Object time = map3.get("time");
|
|
|
String isDevice = map3.get("isDevice").toString();
|
|
|
Object value1 = map3.get("value1");
|
|
|
Object value2 = map3.get("value2");
|
|
|
Object value3 = map3.get("value3");
|
|
|
Object value4 = map3.get("value4");
|
|
|
Object value5 = map3.get("value5");
|
|
|
Object value6 = map3.get("value6");
|
|
|
Object value7 = map3.get("value7");
|
|
|
waist.put("type", 4);
|
|
|
waist.put("isDevice", isDevice);
|
|
|
if (time!=null){
|
|
|
waist.put("time", time);
|
|
|
}
|
|
|
if (value1 != null) {
|
|
|
waist.put("value1", value1);
|
|
|
}
|
|
|
if (value2!=null) {
|
|
|
waist.put("value2", value2);
|
|
|
}
|
|
|
if (value3!=null) {
|
|
|
waist.put("value3", value3);
|
|
|
}
|
|
|
if (value4!=null) {
|
|
|
waist.put("value4", value4);
|
|
|
}
|
|
|
if (value5!=null) {
|
|
|
waist.put("value5", value5);
|
|
|
}
|
|
|
if (value6!=null) {
|
|
|
waist.put("value6", value6);
|
|
|
}
|
|
|
if (value7!=null) {
|
|
|
waist.put("value7", value7);
|
|
|
}
|
|
|
list.add(waist);
|
|
|
}
|
|
|
return write(200, "查询成功", "data", list);
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "查询失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保存患者健康指标 (旧)
|
|
|
* @param intervene 干预标志
|
|
|
* @param time 记录时间
|
|
|
* @param value1 血糖/收缩压/体重/腰围/早餐前空腹
|
|
|
* @param value2 舒张压/早餐后空腹
|
|
|
* @param value3 午餐空腹
|
|
|
* @param value4 午餐后
|
|
|
* @param value5 晚餐空腹
|
|
|
* @param value6 晚餐后
|
|
|
* @param value7 睡前
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "add")
|
|
|
@ResponseBody
|
|
|
public String add(@RequestParam(required = false) String intervene, String time, String value1, String value2, String value3, String value4, String value5, String value6, String value7, int type) {
|
|
|
try {
|
|
|
/**
|
|
|
* 患者最近填写的健康指标
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "recent")
|
|
|
@ResponseBody
|
|
|
public String recent() {
|
|
|
try {
|
|
|
JSONArray array = healthIndexService.findRecentByPatient(getUID());
|
|
|
if (array != null) {
|
|
|
return write(200, "查询成功", "list", array);
|
|
|
} else {
|
|
|
return error(-1, "查询失败");
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
error(e);
|
|
|
return error(-1, "查询失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
DevicePatientHealthIndex healthIndex = null;
|
|
|
if (type == 1) {
|
|
|
// 血糖等一天只能存在一条数据
|
|
|
Iterable<DevicePatientHealthIndex> list = healthIndexService.findByPatienDate(getUID(), type, DateUtil.strToDate(time, DateUtil.YYYY_MM_DD));
|
|
|
if (list != null) {
|
|
|
for (DevicePatientHealthIndex model : list) {
|
|
|
healthIndex = model;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (healthIndex == null) {
|
|
|
healthIndex = new DevicePatientHealthIndex();
|
|
|
}
|
|
|
// 设置患者标识
|
|
|
healthIndex.setUser(getUID());
|
|
|
// 设置干预标识,默认为NULL
|
|
|
healthIndex.setIntervene(intervene);
|
|
|
/**
|
|
|
* 保存患者健康指标 (旧)
|
|
|
*
|
|
|
* @param intervene 干预标志
|
|
|
* @param time 记录时间
|
|
|
* @param value1 血糖/收缩压/体重/腰围/早餐前空腹
|
|
|
* @param value2 舒张压/早餐后空腹
|
|
|
* @param value3 午餐空腹
|
|
|
* @param value4 午餐后
|
|
|
* @param value5 晚餐空腹
|
|
|
* @param value6 晚餐后
|
|
|
* @param value7 睡前
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "add")
|
|
|
@ResponseBody
|
|
|
public String add(@RequestParam(required = false) String intervene, String time, String value1, String value2, String value3, String value4, String value5, String value6, String value7, int type) {
|
|
|
try {
|
|
|
|
|
|
int index = 0;
|
|
|
double value = 0;
|
|
|
DevicePatientHealthIndex healthIndex = null;
|
|
|
if (type == 1) {
|
|
|
// 血糖等一天只能存在一条数据
|
|
|
Iterable<DevicePatientHealthIndex> list = healthIndexService.findByPatienDate(getUID(), type, DateUtil.strToDate(time, DateUtil.YYYY_MM_DD));
|
|
|
if (list != null) {
|
|
|
for (DevicePatientHealthIndex model : list) {
|
|
|
healthIndex = model;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (healthIndex == null) {
|
|
|
healthIndex = new DevicePatientHealthIndex();
|
|
|
}
|
|
|
// 设置患者标识
|
|
|
healthIndex.setUser(getUID());
|
|
|
// 设置干预标识,默认为NULL
|
|
|
healthIndex.setIntervene(intervene);
|
|
|
|
|
|
// 设置血糖/收缩压/体重/腰围/早餐前空腹
|
|
|
if (NumberUtils.toDouble(value1, 0) > 0) {
|
|
|
healthIndex.setValue1(value1);
|
|
|
index = 1;
|
|
|
value = NumberUtils.toDouble(value1, 0);
|
|
|
}
|
|
|
// 设置 舒张压/早餐后血糖
|
|
|
if (NumberUtils.toDouble(value2, 0) > 0) {
|
|
|
healthIndex.setValue2(value2);
|
|
|
index = 2;
|
|
|
value = NumberUtils.toDouble(value2, 0);
|
|
|
}
|
|
|
// 设置午餐前血糖
|
|
|
if (NumberUtils.toDouble(value3, 0) > 0) {
|
|
|
healthIndex.setValue3(value3);
|
|
|
index = 3;
|
|
|
value = NumberUtils.toDouble(value3, 0);
|
|
|
}
|
|
|
// 设置午餐后血糖
|
|
|
if (NumberUtils.toDouble(value4, 0) > 0) {
|
|
|
healthIndex.setValue4(value4);
|
|
|
index = 4;
|
|
|
value = NumberUtils.toDouble(value4, 0);
|
|
|
}
|
|
|
// 设置晚餐前血糖
|
|
|
if (NumberUtils.toDouble(value5, 0) > 0) {
|
|
|
healthIndex.setValue5(value5);
|
|
|
index = 5;
|
|
|
value = NumberUtils.toDouble(value5, 0);
|
|
|
}
|
|
|
// 设置晚餐后血糖
|
|
|
if (NumberUtils.toDouble(value6, 0) > 0) {
|
|
|
healthIndex.setValue6(value6);
|
|
|
index = 6;
|
|
|
value = NumberUtils.toDouble(value6, 0);
|
|
|
}
|
|
|
// 设置睡前血糖
|
|
|
if (NumberUtils.toDouble(value7, 0) > 0) {
|
|
|
healthIndex.setValue7(value7);
|
|
|
index = 7;
|
|
|
value = NumberUtils.toDouble(value7, 0);
|
|
|
}
|
|
|
// 设置健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
healthIndex.setType(type);
|
|
|
// 设置记录时间
|
|
|
if(type == 2){
|
|
|
healthIndex.setRecordDate(DateUtil.strToDate(time, DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
}else {
|
|
|
healthIndex.setRecordDate(DateUtil.strToDate(time, DateUtil.YYYY_MM_DD));
|
|
|
}
|
|
|
healthIndex.setSortDate(DateUtil.strToDateAppendNowTime(time, DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
// 保存到数据库
|
|
|
healthIndex = healthIndexService.save(healthIndex, index, value,getUID());
|
|
|
if (healthIndex == null) {
|
|
|
return error(-1, "保存失败!");
|
|
|
}
|
|
|
return success("保存成功!");
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "保存失败!");
|
|
|
}
|
|
|
}
|
|
|
int index = 0;
|
|
|
double value = 0;
|
|
|
|
|
|
@RequestMapping(value = "addPatientHealthIndex",method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("新增患者指标")
|
|
|
public String addPatientHealthIndex(@ApiParam(name="data",value="指标数据",defaultValue = "{\"gi\":\"5.5\",\"gi_type\":\"1\"}")
|
|
|
@RequestParam(value="data",required = true) String data,
|
|
|
@ApiParam(name="type",value="指标类型",defaultValue = "1")
|
|
|
@RequestParam(value="type",required = true) String type)
|
|
|
{
|
|
|
try {
|
|
|
DevicePatientHealthIndex obj = healthIndexService.addPatientHealthIndex(data, type, getUID(), null);
|
|
|
//血糖和血压需要校验
|
|
|
if(type.equals("1")||type.equals("2"))
|
|
|
{
|
|
|
healthIndexService.verifyHealthIndex(obj.getId());
|
|
|
}
|
|
|
// 设置血糖/收缩压/体重/腰围/早餐前空腹
|
|
|
if (NumberUtils.toDouble(value1, 0) > 0) {
|
|
|
healthIndex.setValue1(value1);
|
|
|
index = 1;
|
|
|
value = NumberUtils.toDouble(value1, 0);
|
|
|
}
|
|
|
// 设置 舒张压/早餐后血糖
|
|
|
if (NumberUtils.toDouble(value2, 0) > 0) {
|
|
|
healthIndex.setValue2(value2);
|
|
|
index = 2;
|
|
|
value = NumberUtils.toDouble(value2, 0);
|
|
|
}
|
|
|
// 设置午餐前血糖
|
|
|
if (NumberUtils.toDouble(value3, 0) > 0) {
|
|
|
healthIndex.setValue3(value3);
|
|
|
index = 3;
|
|
|
value = NumberUtils.toDouble(value3, 0);
|
|
|
}
|
|
|
// 设置午餐后血糖
|
|
|
if (NumberUtils.toDouble(value4, 0) > 0) {
|
|
|
healthIndex.setValue4(value4);
|
|
|
index = 4;
|
|
|
value = NumberUtils.toDouble(value4, 0);
|
|
|
}
|
|
|
// 设置晚餐前血糖
|
|
|
if (NumberUtils.toDouble(value5, 0) > 0) {
|
|
|
healthIndex.setValue5(value5);
|
|
|
index = 5;
|
|
|
value = NumberUtils.toDouble(value5, 0);
|
|
|
}
|
|
|
// 设置晚餐后血糖
|
|
|
if (NumberUtils.toDouble(value6, 0) > 0) {
|
|
|
healthIndex.setValue6(value6);
|
|
|
index = 6;
|
|
|
value = NumberUtils.toDouble(value6, 0);
|
|
|
}
|
|
|
// 设置睡前血糖
|
|
|
if (NumberUtils.toDouble(value7, 0) > 0) {
|
|
|
healthIndex.setValue7(value7);
|
|
|
index = 7;
|
|
|
value = NumberUtils.toDouble(value7, 0);
|
|
|
}
|
|
|
// 设置健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
healthIndex.setType(type);
|
|
|
// 设置记录时间
|
|
|
if (type == 2) {
|
|
|
healthIndex.setRecordDate(DateUtil.strToDate(time, DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
} else {
|
|
|
healthIndex.setRecordDate(DateUtil.strToDate(time, DateUtil.YYYY_MM_DD));
|
|
|
}
|
|
|
healthIndex.setSortDate(DateUtil.strToDateAppendNowTime(time, DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
// 保存到数据库
|
|
|
healthIndex = healthIndexService.save(healthIndex, index, value, getUID());
|
|
|
if (healthIndex == null) {
|
|
|
return error(-1, "保存失败!");
|
|
|
}
|
|
|
return success("保存成功!");
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "保存失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return success("新增患者指标成功!");
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
return invalidUserException(ex, -1, ex.getMessage());
|
|
|
}
|
|
|
}
|
|
|
@RequestMapping(value = "addPatientHealthIndex", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("新增患者指标")
|
|
|
public String addPatientHealthIndex(@ApiParam(name = "data", value = "指标数据", defaultValue = "{\"gi\":\"5.5\",\"gi_type\":\"1\"}")
|
|
|
@RequestParam(value = "data", required = true) String data,
|
|
|
@ApiParam(name = "type", value = "指标类型", defaultValue = "1")
|
|
|
@RequestParam(value = "type", required = true) String type) {
|
|
|
try {
|
|
|
DevicePatientHealthIndex obj = healthIndexService.addPatientHealthIndex(data, type, getUID(), null);
|
|
|
//血糖和血压需要校验
|
|
|
if (type.equals("1") || type.equals("2")) {
|
|
|
healthIndexService.verifyHealthIndex(obj.getId());
|
|
|
}
|
|
|
|
|
|
return success("新增患者指标成功!");
|
|
|
} catch (Exception ex) {
|
|
|
return invalidUserException(ex, -1, ex.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "verifyPatientHealthIndex",method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("校验患者指标")
|
|
|
public String verifyPatientHealthIndex(@ApiParam(name="id",value="指标id",defaultValue = "")
|
|
|
@RequestParam(value="id",required = true) Long id)
|
|
|
{
|
|
|
try {
|
|
|
healthIndexService.verifyHealthIndex(id);
|
|
|
|
|
|
return success("校验患者指标成功!");
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
return invalidUserException(ex, -1, ex.getMessage());
|
|
|
}
|
|
|
}
|
|
|
@RequestMapping(value = "verifyPatientHealthIndex", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("校验患者指标")
|
|
|
public String verifyPatientHealthIndex(@ApiParam(name = "id", value = "指标id", defaultValue = "")
|
|
|
@RequestParam(value = "id", required = true) Long id) {
|
|
|
try {
|
|
|
healthIndexService.verifyHealthIndex(id);
|
|
|
|
|
|
/**
|
|
|
* 根据患者标志获取健康指标
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "chart",method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("根据患者标志获取健康指标(图表)")
|
|
|
public String getHealthIndexChartByPatient(@ApiParam(name="type",value="指标类型",defaultValue = "1")
|
|
|
@RequestParam(value="type",required = true) int type,
|
|
|
@ApiParam(name="begin",value="开始时间",defaultValue = "2016-08-23 00:00:00")
|
|
|
@RequestParam(value="begin",required = true) String begin,
|
|
|
@ApiParam(name="end",value="结束时间",defaultValue = "2016-09-23 00:00:00")
|
|
|
@RequestParam(value="end",required = true) String end) {
|
|
|
try {
|
|
|
List<DevicePatientHealthIndex> list = healthIndexService.findChartByPatien(getUID(), type, begin, end);
|
|
|
if (list == null) {
|
|
|
return success("查询成功!");
|
|
|
}
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
for (DevicePatientHealthIndex model : list) {
|
|
|
JSONObject modelJson = new JSONObject();
|
|
|
modelJson.put("patient", model.getUser());
|
|
|
modelJson.put("value1", model.getValue1());
|
|
|
modelJson.put("value2", model.getValue2());
|
|
|
modelJson.put("value3", model.getValue3());
|
|
|
modelJson.put("value4", model.getValue4());
|
|
|
modelJson.put("value5", model.getValue5());
|
|
|
modelJson.put("value6", model.getValue6());
|
|
|
modelJson.put("value7", model.getValue7());
|
|
|
modelJson.put("type", model.getType());
|
|
|
if(type == 2){
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
}else{
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD));
|
|
|
}
|
|
|
modelJson.put("czrq", DateUtil.dateToStr(model.getCzrq(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
jsonArray.put(modelJson);
|
|
|
}
|
|
|
return write(200, "查询成功", "list", jsonArray);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
return success("校验患者指标成功!");
|
|
|
} catch (Exception ex) {
|
|
|
return invalidUserException(ex, -1, ex.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据患者标志获取健康指标
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @param pagesize 页数
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "list",method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("患者获取健康指标")
|
|
|
public String getHealthIndexByPatient(@ApiParam(name="type",value="指标类型",defaultValue = "1")
|
|
|
@RequestParam(value="type",required = true) int type,
|
|
|
@ApiParam(name="start",value="开始时间",defaultValue = "2016-07-23 00:00:00")
|
|
|
@RequestParam(value="start",required = true) String start,
|
|
|
@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 {
|
|
|
List<DevicePatientHealthIndex> list = healthIndexService.findIndexByPatient(getUID(), type, start,end,page, pagesize);
|
|
|
/**
|
|
|
* 根据患者标志获取健康指标
|
|
|
*
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "chart", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("根据患者标志获取健康指标(图表)")
|
|
|
public String getHealthIndexChartByPatient(@ApiParam(name = "type", value = "指标类型", defaultValue = "1")
|
|
|
@RequestParam(value = "type", required = true) int type,
|
|
|
@ApiParam(name = "begin", value = "开始时间", defaultValue = "2016-08-23 00:00:00")
|
|
|
@RequestParam(value = "begin", required = true) String begin,
|
|
|
@ApiParam(name = "end", value = "结束时间", defaultValue = "2016-09-23 00:00:00")
|
|
|
@RequestParam(value = "end", required = true) String end) {
|
|
|
try {
|
|
|
List<DevicePatientHealthIndex> list = healthIndexService.findChartByPatien(getUID(), type, begin, end);
|
|
|
if (list == null) {
|
|
|
return success("查询成功!");
|
|
|
}
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
for (DevicePatientHealthIndex model : list) {
|
|
|
JSONObject modelJson = new JSONObject();
|
|
|
modelJson.put("patient", model.getUser());
|
|
|
modelJson.put("value1", model.getValue1());
|
|
|
modelJson.put("value2", model.getValue2());
|
|
|
modelJson.put("value3", model.getValue3());
|
|
|
modelJson.put("value4", model.getValue4());
|
|
|
modelJson.put("value5", model.getValue5());
|
|
|
modelJson.put("value6", model.getValue6());
|
|
|
modelJson.put("value7", model.getValue7());
|
|
|
modelJson.put("type", model.getType());
|
|
|
if (type == 2) {
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
} else {
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD));
|
|
|
}
|
|
|
modelJson.put("czrq", DateUtil.dateToStr(model.getCzrq(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
jsonArray.put(modelJson);
|
|
|
}
|
|
|
return write(200, "查询成功", "list", jsonArray);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
if (list != null) {
|
|
|
for (DevicePatientHealthIndex model : list) {
|
|
|
JSONObject modelJson = new JSONObject();
|
|
|
modelJson.put("id", model.getId());
|
|
|
modelJson.put("patient", model.getUser());
|
|
|
modelJson.put("value1", model.getValue1());
|
|
|
modelJson.put("value2", model.getValue2());
|
|
|
modelJson.put("value3", model.getValue3());
|
|
|
modelJson.put("value4", model.getValue4());
|
|
|
modelJson.put("value5", model.getValue5());
|
|
|
modelJson.put("value6", model.getValue6());
|
|
|
modelJson.put("value7", model.getValue7());
|
|
|
modelJson.put("type", model.getType());
|
|
|
if(type == 2) {
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
}else{
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD));
|
|
|
}
|
|
|
modelJson.put("sortDate", DateUtil.dateToStrLong(model.getSortDate()));
|
|
|
modelJson.put("czrq", DateUtil.dateToStr(model.getCzrq(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
jsonArray.put(modelJson);
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
* 根据患者标志获取健康指标
|
|
|
*
|
|
|
* @param type 健康指标类型(1血糖,2血压,3体重,4腰围)
|
|
|
* @param pagesize 页数
|
|
|
* @return 操作结果
|
|
|
*/
|
|
|
@RequestMapping(value = "list", method = RequestMethod.POST)
|
|
|
@ResponseBody
|
|
|
@ApiOperation("患者获取健康指标")
|
|
|
public String getHealthIndexByPatient(@ApiParam(name = "type", value = "指标类型", defaultValue = "1")
|
|
|
@RequestParam(value = "type", required = true) int type,
|
|
|
@ApiParam(name = "start", value = "开始时间", defaultValue = "2016-07-23 00:00:00")
|
|
|
@RequestParam(value = "start", required = true) String start,
|
|
|
@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 {
|
|
|
List<DevicePatientHealthIndex> list = healthIndexService.findIndexByPatient(getUID(), type, start, end, page, pagesize);
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
if (list != null) {
|
|
|
for (DevicePatientHealthIndex model : list) {
|
|
|
JSONObject modelJson = new JSONObject();
|
|
|
modelJson.put("id", model.getId());
|
|
|
modelJson.put("patient", model.getUser());
|
|
|
modelJson.put("value1", model.getValue1());
|
|
|
modelJson.put("value2", model.getValue2());
|
|
|
modelJson.put("value3", model.getValue3());
|
|
|
modelJson.put("value4", model.getValue4());
|
|
|
modelJson.put("value5", model.getValue5());
|
|
|
modelJson.put("value6", model.getValue6());
|
|
|
modelJson.put("value7", model.getValue7());
|
|
|
modelJson.put("type", model.getType());
|
|
|
if (type == 2) {
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
} else {
|
|
|
modelJson.put("date", DateUtil.dateToStr(model.getRecordDate(), DateUtil.YYYY_MM_DD));
|
|
|
}
|
|
|
modelJson.put("sortDate", DateUtil.dateToStrLong(model.getSortDate()));
|
|
|
modelJson.put("czrq", DateUtil.dateToStr(model.getCzrq(), DateUtil.YYYY_MM_DD_HH_MM_SS));
|
|
|
jsonArray.put(modelJson);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return write(200, "查询成功", "list", jsonArray);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
return write(200, "查询成功", "list", jsonArray);
|
|
|
} catch (Exception ex) {
|
|
|
error(ex);
|
|
|
return invalidUserException(ex, -1, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 患者健康指标预警值查询
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "standard")
|
|
|
@ResponseBody
|
|
|
public String standard() {
|
|
|
try {
|
|
|
JSONArray standardArray = new JSONArray();
|
|
|
JSONArray userArray = new JSONArray();
|
|
|
Iterable<PatientHealthStandard> iterable = healthIndexService.findStandardByPatient(getUID());
|
|
|
Iterator<PatientHealthStandard> iterator = null;
|
|
|
if (iterable != null) {
|
|
|
iterator = iterable.iterator();
|
|
|
}
|
|
|
// 预警值未设置,返回默认值
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
sb.append("[");
|
|
|
// 默认血糖(餐前,餐后二小时)
|
|
|
sb.append("{min_value_1:3.9, max_value_1:6.1, min_value_2:4.4, max_value_2:7.8, type:1},");
|
|
|
// 默认血压(收缩压,舒张压)
|
|
|
sb.append("{min_value_1:90, max_value_1:139, min_value_2:60, max_value_2:89, type:2}");
|
|
|
sb.append("]");
|
|
|
standardArray = new JSONArray(sb.toString());
|
|
|
if (iterator != null) {
|
|
|
while (iterator.hasNext()) {
|
|
|
PatientHealthStandard phs = iterator.next();
|
|
|
if (phs == null) {
|
|
|
continue;
|
|
|
}
|
|
|
JSONObject json = new JSONObject();
|
|
|
// 最低安全值(血糖餐前\收缩压\体重\腰围)
|
|
|
json.put("min_value_1", phs.getMinValue1());
|
|
|
// 最高安全值(血糖餐前\收缩压\体重\腰围)
|
|
|
json.put("max_value_1", phs.getMaxValue1());
|
|
|
// 最低安全值(血糖餐后\舒张压)
|
|
|
json.put("min_value_2", phs.getMinValue2());
|
|
|
// 最高安全值(血糖餐后\舒张压)
|
|
|
json.put("max_value_2", phs.getMaxValue2());
|
|
|
// 健康指标类型:1血糖,2血压,3体重,4腰围
|
|
|
json.put("type", phs.getType());
|
|
|
userArray.put(json);
|
|
|
}
|
|
|
}
|
|
|
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, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
/**
|
|
|
* 患者健康指标预警值查询
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "standard")
|
|
|
@ResponseBody
|
|
|
public String standard() {
|
|
|
try {
|
|
|
JSONArray standardArray = new JSONArray();
|
|
|
JSONArray userArray = new JSONArray();
|
|
|
Iterable<PatientHealthStandard> iterable = healthIndexService.findStandardByPatient(getUID());
|
|
|
Iterator<PatientHealthStandard> iterator = null;
|
|
|
if (iterable != null) {
|
|
|
iterator = iterable.iterator();
|
|
|
}
|
|
|
// 预警值未设置,返回默认值
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
sb.append("[");
|
|
|
// 默认血糖(餐前,餐后二小时)
|
|
|
sb.append("{min_value_1:3.9, max_value_1:6.1, min_value_2:4.4, max_value_2:7.8, type:1},");
|
|
|
// 默认血压(收缩压,舒张压)
|
|
|
sb.append("{min_value_1:90, max_value_1:139, min_value_2:60, max_value_2:89, type:2}");
|
|
|
sb.append("]");
|
|
|
standardArray = new JSONArray(sb.toString());
|
|
|
if (iterator != null) {
|
|
|
while (iterator.hasNext()) {
|
|
|
PatientHealthStandard phs = iterator.next();
|
|
|
if (phs == null) {
|
|
|
continue;
|
|
|
}
|
|
|
JSONObject json = new JSONObject();
|
|
|
// 最低安全值(血糖餐前\收缩压\体重\腰围)
|
|
|
json.put("min_value_1", phs.getMinValue1());
|
|
|
// 最高安全值(血糖餐前\收缩压\体重\腰围)
|
|
|
json.put("max_value_1", phs.getMaxValue1());
|
|
|
// 最低安全值(血糖餐后\舒张压)
|
|
|
json.put("min_value_2", phs.getMinValue2());
|
|
|
// 最高安全值(血糖餐后\舒张压)
|
|
|
json.put("max_value_2", phs.getMaxValue2());
|
|
|
// 健康指标类型:1血糖,2血压,3体重,4腰围
|
|
|
json.put("type", phs.getType());
|
|
|
userArray.put(json);
|
|
|
}
|
|
|
}
|
|
|
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, "查询失败!");
|
|
|
}
|
|
|
}
|
|
|
}
|