Commit 14da9f8e by 汪志阳

fix:bug修改

parent e4fa4e44
......@@ -7,16 +7,20 @@ import lombok.Getter;
@Getter
public enum SleepTypeEnum {
SLEEP_DEEP("sleepDeep","深度睡眠"),
SLEEP_MODERATE("sleepModerate","中度睡眠"),
SLEEP_LIGHTNESS("sleepLightness","浅度睡眠"),
SOBER("sober","清醒"),
GETUP("getup","起床"),
SLEEP("sleep","睡觉");
private String code;
private String value;
/**
* 睡眠类型 1 睡眠 2 小憩,3:深度睡眠,4:中度睡眠,5:浅度睡眠, 6:清醒,7:离床
*/
SLEEP_DEEP("sleepDeep", "深度睡眠", 3),
SLEEP_MODERATE("sleepModerate", "中度睡眠", 4),
SLEEP_LIGHTNESS("sleepLightness", "浅度睡眠", 5),
SOBER("sober", "清醒", 6),
GETUP("getup", "起床", 7),
SLEEP("sleep", "睡觉", 1),
RESTING("resting", "小憩", 2);
private final String code;
private final String value;
private final Integer type;
public static SleepTypeEnum getSleepType(String code) {
......
......@@ -2,9 +2,7 @@ package com.makeit.service.platform.elder.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
......@@ -19,9 +17,7 @@ import com.makeit.enums.CommonEnum;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.enums.report.SleepTypeEnum;
import com.makeit.module.iot.service.IotProductDeviceService;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
import com.makeit.module.iot.vo.fall.DeviceInfoContentFall;
import com.makeit.module.iot.vo.space.DeviceInfoContentSpace;
import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.alarm.PlatDayDurationRecordService;
import com.makeit.service.platform.elder.*;
......@@ -36,7 +32,6 @@ import com.makeit.utils.time.LocalDateTimeUtils;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO;
import com.makeit.vo.platform.elder.report.day.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -47,10 +42,7 @@ import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
@Service
......@@ -133,16 +125,16 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
if (platElderSleepAnalysis == null) {
return platElderSleepEvaluationVO;
}
// String sleepScore = platElderSleepAnalysis.getSleepScore();
String sleepScore = platElderSleepAnalysis.getSleepScore();
Long sleepScore = getSleepScore(platElderSleepAnalysis);
// Long sleepScore = getSleepScore(platElderSleepAnalysis);
EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(sleepScore);
// EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(sleepScore);
platElderSleepEvaluationVO.setScore(Integer.valueOf(sleepScore + ""));
platElderSleepEvaluationVO.setResult(platElderSleepAnalysis.getSleepResult());
platElderSleepEvaluationVO.setEvaluation(evaluateReport.getEvaluate());
platElderSleepEvaluationVO.setEvaluation(platElderSleepAnalysis.getSleepEvaluate());
platElderSleepEvaluationVO.setSleepDuration(Integer.valueOf(platElderSleepAnalysis.getSleepTime() + ""));
platElderSleepEvaluationVO.setRestDuration(Integer.valueOf(platElderSleepAnalysis.getRestTime() + ""));
......@@ -208,8 +200,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
String nowString = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(now);
String elderId = platElderIdDTO.getElderId();
if (StringUtils.isNotEmpty(platElderIdDTO.getDeviceId())) {
PlatElder platElder = platElderService.getByDeviceId(platElderIdDTO.getDeviceId(), platElderIdDTO.getTenantId());
String deviceId = platElderIdDTO.getDeviceId();
if (StringUtils.isNotEmpty(deviceId)) {
PlatElder platElder = platElderService.getByDeviceId(deviceId, platElderIdDTO.getTenantId());
if (platElder != null) {
elderId = platElder.getId();
}
......
......@@ -279,7 +279,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
* @param riseActionDuration
* @param sleepTimeAnalysisVOList
*/
private void getWakeUpDate(TreeMap<String, AnalysisVO> totalMap, double riseLeaveThreshold, int riseActionDuration,
private void getUp(TreeMap<String, AnalysisVO> totalMap, double riseLeaveThreshold, int riseActionDuration,
double repeatSleepThreshold, List<SleepTimeAnalysisVO> sleepTimeAnalysisVOList) {
// 起床时间
String startGetupTime = null;
......@@ -448,7 +448,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
* @param sleepTypeMap
* @param sleepTimeAnalysisVOList
*/
private void wakeUp(TreeMap<String, TreeMap<String, AnalysisVO>> sleepTypeMap,
private void sober(TreeMap<String, TreeMap<String, AnalysisVO>> sleepTypeMap,
List<SleepTimeAnalysisVO> sleepTimeAnalysisVOList) {
// 清醒
int awakeMinute = 0;
......@@ -647,12 +647,50 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
return elderSleepAnalysis;
}
private List<PlatElderSleep> saveElderSleep (SleepTimeDTO sleepTimeDTO,String platElderId,String currentDate) {
private List<PlatElderSleep> saveElderSleep(SleepTimeDTO sleepTimeDTO, String platElderId, String currentDate) {
List<PlatElderSleep> elderSleepList = new ArrayList<>();
List<SleepTimeAnalysisVO> deepList = sleepTimeDTO.getDeepList();
List<SleepTimeAnalysisVO> moderateList = sleepTimeDTO.getMidList();
List<SleepTimeAnalysisVO> lightList = sleepTimeDTO.getLightList();
List<SleepTimeAnalysisVO> soberList = sleepTimeDTO.getSoberList();
List<SleepTimeAnalysisVO> daySleepList = sleepTimeDTO.getDaySleepList();
List<SleepTimeAnalysisVO> restList = sleepTimeDTO.getRestList();
if (CollUtil.isNotEmpty(daySleepList)) {
for (SleepTimeAnalysisVO analysisVO : daySleepList) {
PlatSleepRangeVO sleepRangeVO = new PlatSleepRangeVO();
sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(analysisVO.getType());
PlatElderSleep platElderSleep = new PlatElderSleep();
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(SleepTypeEnum.SLEEP.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
elderSleepList.add(platElderSleep);
}
}
if (CollUtil.isNotEmpty(restList)) {
for (SleepTimeAnalysisVO analysisVO : restList) {
PlatSleepRangeVO sleepRangeVO = new PlatSleepRangeVO();
sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(analysisVO.getType());
PlatElderSleep platElderSleep = new PlatElderSleep();
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(SleepTypeEnum.RESTING.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
elderSleepList.add(platElderSleep);
}
}
if (CollUtil.isNotEmpty(deepList)) {
for (SleepTimeAnalysisVO analysisVO : deepList) {
PlatSleepRangeVO sleepRangeVO = new PlatSleepRangeVO();
......@@ -664,7 +702,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(3);
platElderSleep.setElderSleepType(SleepTypeEnum.SLEEP_DEEP.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
......@@ -682,7 +720,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(4);
platElderSleep.setElderSleepType(SleepTypeEnum.SLEEP_MODERATE.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
......@@ -700,7 +738,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(5);
platElderSleep.setElderSleepType(SleepTypeEnum.SLEEP_LIGHTNESS.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
......@@ -718,7 +756,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(6);
platElderSleep.setElderSleepType(SleepTypeEnum.SOBER.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
......@@ -737,7 +775,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
platElderSleep.setStartSleep(LocalDateTime.parse(analysisVO.getStartTime(), DEFAULT_FORMATTER));
platElderSleep.setEndSleep(LocalDateTime.parse(analysisVO.getEndTime(), DEFAULT_FORMATTER));
platElderSleep.setElderId(platElderId);
platElderSleep.setElderSleepType(7);
platElderSleep.setElderSleepType(SleepTypeEnum.GETUP.getType());
platElderSleep.setSleepRecord(Lists.newArrayList(sleepRangeVO));
platElderSleep.setInterval(analysisVO.getInterval());
platElderSleep.setHappenDate(currentDate);
......@@ -839,10 +877,10 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
// 中度睡眠
middleSleep(sleepTypeMap, analysisModel, sleepTimeAnalysisVOList);
// 清醒
wakeUp(sleepTypeMap, sleepTimeAnalysisVOList);
// 起床时间
getWakeUpDate(totalMap, riseLeaveThreshold, riseActionDuration, repeatSleepThreshold, sleepTimeAnalysisVOList);
// 获取各种睡眠类型的数据
sober(sleepTypeMap, sleepTimeAnalysisVOList);
// 起床
getUp(totalMap, riseLeaveThreshold, riseActionDuration, repeatSleepThreshold, sleepTimeAnalysisVOList);
// 小憩、睡眠
SleepTimeDTO sleepTimeDTO = groupSleepData(sleepTimeAnalysisVOList, repeatSleepThreshold, sleepThreshold);
if (CollUtil.isEmpty(sleepTimeDTO.getSleepList())) {
continue;
......
......@@ -21,7 +21,7 @@ public class PlatElderSleepDiagramVO {
@ApiModelProperty("图表集合")
private List<PlatElderSleepDiagramContentVO> contentList;
@ApiModelProperty(value = "睡眠类型 1 睡眠 2 小憩")
@ApiModelProperty(value = "睡眠类型 1 睡眠 2 小憩,3:深度睡眠,4:中度睡眠,5:浅度睡眠, 6:清醒,7:起床")
private Integer elderSleepType;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment