|
@@ -1,21 +1,18 @@
|
|
|
package com.fs.app.controller;
|
|
|
|
|
|
-import cn.hutool.core.text.StrBuilder;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.fs.app.annotation.Login;
|
|
|
import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
|
+import com.fs.his.config.HealthIndicatorConfig;
|
|
|
import com.fs.his.domain.FsUserHealthData;
|
|
|
-import com.fs.his.domain.FsUserInfo;
|
|
|
import com.fs.his.service.IFsUserHealthDataService;
|
|
|
-import com.fs.his.service.IFsUserInfoService;
|
|
|
-import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -31,8 +28,6 @@ import java.util.Map;
|
|
|
public class FsUserHealthDataController extends AppBaseController {
|
|
|
@Autowired
|
|
|
private IFsUserHealthDataService fsUserHealthDataService;
|
|
|
- @Autowired
|
|
|
- private IFsUserInfoService fsUserInfoService;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -44,22 +39,21 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
public R list(FsUserHealthData fsUserHealthData,
|
|
|
@RequestParam(required = false, defaultValue = "1") Integer pageNum,
|
|
|
@RequestParam(required = false, defaultValue = "1000") Integer pageSize
|
|
|
- )
|
|
|
- {
|
|
|
+ ) {
|
|
|
// 时间格式字段处理
|
|
|
- if(StringUtils.isNotEmpty(fsUserHealthData.getTimeSearch())){
|
|
|
+ if (StringUtils.isNotEmpty(fsUserHealthData.getTimeSearch())) {
|
|
|
Map<String, Object> timeMap = new HashMap<>();
|
|
|
// 时间格式处理 2025-01-21 2025-01-01;2025-01-12 2025-01
|
|
|
- if(fsUserHealthData.getTimeSearch().contains(";")){
|
|
|
+ if (fsUserHealthData.getTimeSearch().contains(";")) {
|
|
|
String[] timeArr = fsUserHealthData.getTimeSearch().split(";");
|
|
|
timeMap.put("beginTime", timeArr[0]);
|
|
|
timeMap.put("endTime", timeArr[1]);
|
|
|
- }else if(fsUserHealthData.getTimeSearch().length()==10){
|
|
|
+ } else if (fsUserHealthData.getTimeSearch().length() == 10) {
|
|
|
fsUserHealthData.setMeasurementDate(DateUtils.parseDate(fsUserHealthData.getTimeSearch()));
|
|
|
- }else if(fsUserHealthData.getTimeSearch().length()==7){
|
|
|
+ } else if (fsUserHealthData.getTimeSearch().length() == 7) {
|
|
|
// 按月 取当月第一个和最后一天
|
|
|
- timeMap.put("beginTime",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,DateUtils.getStartOfMonth(DateUtils.parseDate(fsUserHealthData.getTimeSearch()))));
|
|
|
- timeMap.put("endTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,DateUtils.getEndOfMonth(DateUtils.parseDate(fsUserHealthData.getTimeSearch()))));
|
|
|
+ timeMap.put("beginTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.getStartOfMonth(DateUtils.parseDate(fsUserHealthData.getTimeSearch()))));
|
|
|
+ timeMap.put("endTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.getEndOfMonth(DateUtils.parseDate(fsUserHealthData.getTimeSearch()))));
|
|
|
}
|
|
|
fsUserHealthData.setParams(timeMap);
|
|
|
}
|
|
@@ -67,16 +61,16 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
|
|
|
List<FsUserHealthData> list = fsUserHealthDataService.selectFsUserHealthDataList(fsUserHealthData);
|
|
|
|
|
|
- Map<String, Object> data=new HashMap<>();
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
data.put("data", new PageInfo<>(list));
|
|
|
|
|
|
|
|
|
// 如果测量类型是空 需要查询各等级(无-0,轻微-1,严重-2) 数量
|
|
|
- if(fsUserHealthData.getLevel()==null){
|
|
|
- for(int i=0;i<3;i++){
|
|
|
+ if (fsUserHealthData.getLevel() == null) {
|
|
|
+ for (int i = 0; i < 3; i++) {
|
|
|
fsUserHealthData.setLevel(i);
|
|
|
int num = fsUserHealthDataService.selectFsUserHealthDataListCount(fsUserHealthData);
|
|
|
- data.put("count"+i, num);
|
|
|
+ data.put("count" + i, num);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -84,6 +78,36 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
return R.ok(data);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据检测类型获取 检测指标
|
|
|
+ */
|
|
|
+ @Login
|
|
|
+ @GetMapping("/flag")
|
|
|
+ @ApiOperation(" 根据检测类型获取 检测指标")
|
|
|
+ public R getInfo(@RequestParam("measurementType") Integer measurementType) {
|
|
|
+ // 获取检测指标 (0-腰围,1-臀围,2-血糖,3-血压,4-尿酸 5-BMI)
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ // 血糖 尿酸 需要
|
|
|
+ HealthIndicatorConfig healthIndicatorConfig = fsUserHealthDataService.parseHealthIndicator();
|
|
|
+ if (measurementType == 2) { // 血糖
|
|
|
+ if (healthIndicatorConfig != null) {
|
|
|
+ String[] key = {"fasting", "post1Hour", "post2Hour"}; // 正常 餐后1小时 餐后2小时
|
|
|
+ for (int i = 0; i < key.length; i++) {
|
|
|
+ String value = fsUserHealthDataService.getHealthIndicatorValue(healthIndicatorConfig, "bloodGlucose", key[i], "normal");
|
|
|
+ // value json串转Map对象
|
|
|
+ data.put(key[i], value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (measurementType == 4) {
|
|
|
+ String[] key = new String[]{"male", "female"};
|
|
|
+ for (int i = 0; i < key.length; i++) {
|
|
|
+ String value = fsUserHealthDataService.getHealthIndicatorValue(healthIndicatorConfig, "uricAcid", key[i], "normal");
|
|
|
+ data.put(key[i], value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.ok().put("data", data);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 根据用户ID 查询用户身体检测最新数据
|
|
@@ -91,9 +115,8 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
@Login
|
|
|
@GetMapping("/latest/info")
|
|
|
@ApiOperation("根据用户ID 获取用户身体检测最新数据")
|
|
|
- public R getInfo(@RequestParam("userId") Long userId,@RequestParam("measurementType") Integer measurementType)
|
|
|
- {
|
|
|
- FsUserHealthData fsUserHealthData=new FsUserHealthData();
|
|
|
+ public R getInfo(@RequestParam("userId") Long userId, @RequestParam("measurementType") Integer measurementType) {
|
|
|
+ FsUserHealthData fsUserHealthData = new FsUserHealthData();
|
|
|
fsUserHealthData.setUserId(userId);
|
|
|
fsUserHealthData.setMeasurementType(measurementType);
|
|
|
fsUserHealthData = fsUserHealthDataService.selectFsUserHealthDataByUserId(fsUserHealthData);
|
|
@@ -106,8 +129,7 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
@Login
|
|
|
@GetMapping("/info")
|
|
|
@ApiOperation("根据ID 获取用户身体检测最新数据")
|
|
|
- public R getInfoById(@RequestParam("id") Long id)
|
|
|
- {
|
|
|
+ public R getInfoById(@RequestParam("id") Long id) {
|
|
|
FsUserHealthData fsUserHealthData = fsUserHealthDataService.selectFsUserHealthDataById(id);
|
|
|
return R.ok().put("data", fsUserHealthData);
|
|
|
}
|
|
@@ -130,8 +152,7 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
@Login
|
|
|
@PostMapping("/update")
|
|
|
@ApiOperation("修改用户身体检测数据")
|
|
|
- public R edit(@RequestBody FsUserHealthData fsUserHealthData)
|
|
|
- {
|
|
|
+ public R edit(@RequestBody FsUserHealthData fsUserHealthData) {
|
|
|
// 修改检测数据信息
|
|
|
fsUserHealthDataService.updateFsUserHealthDataAndLevel(fsUserHealthData);
|
|
|
return R.ok();
|
|
@@ -141,11 +162,10 @@ public class FsUserHealthDataController extends AppBaseController {
|
|
|
* 删除用户身体检测数据
|
|
|
*/
|
|
|
@Login
|
|
|
- @GetMapping("/delete")
|
|
|
+ @GetMapping("/delete")
|
|
|
@ApiOperation("删除用户身体检测数据")
|
|
|
- public R remove(@RequestParam Long id)
|
|
|
- {
|
|
|
- if(fsUserHealthDataService.deleteFsUserHealthDataById(id)<=0){
|
|
|
+ public R remove(@RequestParam Long id) {
|
|
|
+ if (fsUserHealthDataService.deleteFsUserHealthDataById(id) <= 0) {
|
|
|
return R.error("用户身体检测数据删除失败");
|
|
|
}
|
|
|
return R.ok();
|