Commit 14da9f8e by 汪志阳

fix:bug修改

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