Commit bb7cb5ac by 汪志阳

fix:bug fix

parent f69cbffe
...@@ -20,7 +20,10 @@ public class AnalysisVO { ...@@ -20,7 +20,10 @@ public class AnalysisVO {
private Boolean isAction; // 每分钟是否动过 private Boolean isAction; // 每分钟是否动过
private Boolean isMoveBed; // 是否离开床 /**
* 是否离开床或无人
*/
private Boolean isMoveBed;
private Boolean isMinuteActionFlag; // 每分钟体动值是否大于阈值 private Boolean isMinuteActionFlag; // 每分钟体动值是否大于阈值
......
...@@ -40,6 +40,11 @@ public class SleepTimeAnalysisVO { ...@@ -40,6 +40,11 @@ public class SleepTimeAnalysisVO {
*/ */
private Integer turnedCount; private Integer turnedCount;
/**
* 所属睡眠区间开始时间
*/
private String belongToSleepTime;
private List<SleepTimeAnalysisVO> deepList; private List<SleepTimeAnalysisVO> deepList;
private List<SleepTimeAnalysisVO> midList; private List<SleepTimeAnalysisVO> midList;
/** /**
......
...@@ -11,13 +11,15 @@ import com.makeit.dto.platform.elder.PlatElderReportDTO; ...@@ -11,13 +11,15 @@ import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.alarm.PlatDayDurationRecord; import com.makeit.entity.platform.alarm.PlatDayDurationRecord;
import com.makeit.entity.platform.device.PlatDevice; import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.*; import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderBreatheAnalysis;
import com.makeit.entity.platform.elder.PlatElderSleep;
import com.makeit.entity.platform.elder.PlatElderSleepAnalysis;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport; import com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport;
import com.makeit.enums.CommonEnum; 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.module.iot.vo.space.DeviceInfoContentSpace;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
...@@ -134,14 +136,12 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -134,14 +136,12 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
} }
// String sleepScore = platElderSleepAnalysis.getSleepScore(); // String sleepScore = platElderSleepAnalysis.getSleepScore();
Long sleepScore = getSleepScore(platElderSleepAnalysis); // Long sleepScore = getSleepScore(platElderSleepAnalysis);
// EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(sleepScore);
platElderSleepEvaluationVO.setScore(Integer.parseInt(platElderSleepAnalysis.getSleepScore()));
EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(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() + ""));
...@@ -235,6 +235,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -235,6 +235,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
return contentVO; return contentVO;
}); });
contentList = contentList.stream().filter(f -> !"resting".equals(f.getSleepType())).collect(Collectors.toList());
vo.setContentList(contentList); vo.setContentList(contentList);
return vo; return vo;
}); });
......
...@@ -180,7 +180,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -180,7 +180,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
} }
} }
// if (reportSize == noPersonCount) { // if (reportSize == noPersonCount) {
// continue; // // continue;
// } // }
// 每分钟的数据 // 每分钟的数据
analysisVO.setTotalBr(totalBr); analysisVO.setTotalBr(totalBr);
...@@ -384,6 +384,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -384,6 +384,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
boolean isDeepSleep = false; boolean isDeepSleep = false;
for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) { for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) {
TreeMap<String, AnalysisVO> sleepMap = entry.getValue(); TreeMap<String, AnalysisVO> sleepMap = entry.getValue();
String key = entry.getKey();
for (Map.Entry<String, AnalysisVO> voEntry : sleepMap.entrySet()) { for (Map.Entry<String, AnalysisVO> voEntry : sleepMap.entrySet()) {
AnalysisVO analysisVO = voEntry.getValue(); AnalysisVO analysisVO = voEntry.getValue();
boolean actionFlag = analysisVO.getActionCount() == sleepDeepActionThreshold; boolean actionFlag = analysisVO.getActionCount() == sleepDeepActionThreshold;
...@@ -417,6 +418,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -417,6 +418,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeAnalysisVO.setStartTime(startSleepDeepTime); sleepTimeAnalysisVO.setStartTime(startSleepDeepTime);
sleepTimeAnalysisVO.setEndTime(getLastMinute(voEntry.getKey())); sleepTimeAnalysisVO.setEndTime(getLastMinute(voEntry.getKey()));
sleepTimeAnalysisVO.setType(SleepTypeEnum.SLEEP_DEEP.getCode()); sleepTimeAnalysisVO.setType(SleepTypeEnum.SLEEP_DEEP.getCode());
sleepTimeAnalysisVO.setBelongToSleepTime(key);
isDeepSleep = true; isDeepSleep = true;
} }
String endTime = sleepTimeAnalysisVO.getEndTime(); String endTime = sleepTimeAnalysisVO.getEndTime();
...@@ -500,6 +502,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -500,6 +502,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) { for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) {
TreeMap<String, AnalysisVO> sleepMap = entry.getValue(); TreeMap<String, AnalysisVO> sleepMap = entry.getValue();
String key = entry.getKey();
for (Map.Entry<String, AnalysisVO> voEntry : sleepMap.entrySet()) { for (Map.Entry<String, AnalysisVO> voEntry : sleepMap.entrySet()) {
AnalysisVO analysisVO = voEntry.getValue(); AnalysisVO analysisVO = voEntry.getValue();
boolean condition = analysisVO.getActionCount() < sleepModerateActionThreshold && analysisVO.getTurnedCount() < sleepModerateActionThreshold; boolean condition = analysisVO.getActionCount() < sleepModerateActionThreshold && analysisVO.getTurnedCount() < sleepModerateActionThreshold;
...@@ -529,6 +532,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -529,6 +532,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeAnalysisVO.setStartTime(startSleepMidTime); sleepTimeAnalysisVO.setStartTime(startSleepMidTime);
sleepTimeAnalysisVO.setEndTime(voEntry.getKey()); sleepTimeAnalysisVO.setEndTime(voEntry.getKey());
sleepTimeAnalysisVO.setType(SleepTypeEnum.SLEEP_MODERATE.getCode()); sleepTimeAnalysisVO.setType(SleepTypeEnum.SLEEP_MODERATE.getCode());
sleepTimeAnalysisVO.setBelongToSleepTime(key);
sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO); sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO);
isMiddleSleep = true; isMiddleSleep = true;
} }
...@@ -554,6 +558,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -554,6 +558,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
String startAwakeTime = null; String startAwakeTime = null;
for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) { for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) {
TreeMap<String, AnalysisVO> sleepMap = entry.getValue(); TreeMap<String, AnalysisVO> sleepMap = entry.getValue();
String key = entry.getKey();
for (Map.Entry<String, AnalysisVO> voEntry : sleepMap.entrySet()) { for (Map.Entry<String, AnalysisVO> voEntry : sleepMap.entrySet()) {
AnalysisVO analysisVO = voEntry.getValue(); AnalysisVO analysisVO = voEntry.getValue();
if (analysisVO.getAwakeMinuteActionFlag() || analysisVO.getIsMoveBed()) { if (analysisVO.getAwakeMinuteActionFlag() || analysisVO.getIsMoveBed()) {
...@@ -571,6 +576,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -571,6 +576,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeAnalysisVO.setStartTime(startAwakeTime); sleepTimeAnalysisVO.setStartTime(startAwakeTime);
sleepTimeAnalysisVO.setEndTime(voEntry.getKey()); sleepTimeAnalysisVO.setEndTime(voEntry.getKey());
sleepTimeAnalysisVO.setType(SleepTypeEnum.SOBER.getCode()); sleepTimeAnalysisVO.setType(SleepTypeEnum.SOBER.getCode());
sleepTimeAnalysisVO.setBelongToSleepTime(key);
sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO); sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO);
} }
startAwakeTime = null; startAwakeTime = null;
...@@ -669,6 +675,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -669,6 +675,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepRangeVO.setStartTime(analysisVO.getStartTime()); sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime()); sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(SleepTypeEnum.SLEEP_DEEP.getCode()); sleepRangeVO.setSleepType(SleepTypeEnum.SLEEP_DEEP.getCode());
sleepRangeVO.setBelongToSleepTime(analysisVO.getBelongToSleepTime());
sleepRangeList.add(sleepRangeVO); sleepRangeList.add(sleepRangeVO);
} }
} }
...@@ -678,6 +685,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -678,6 +685,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepRangeVO.setStartTime(analysisVO.getStartTime()); sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime()); sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(SleepTypeEnum.SLEEP_MODERATE.getCode()); sleepRangeVO.setSleepType(SleepTypeEnum.SLEEP_MODERATE.getCode());
sleepRangeVO.setBelongToSleepTime(analysisVO.getBelongToSleepTime());
sleepRangeList.add(sleepRangeVO); sleepRangeList.add(sleepRangeVO);
} }
} }
...@@ -687,6 +695,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -687,6 +695,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepRangeVO.setStartTime(analysisVO.getStartTime()); sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime()); sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(SleepTypeEnum.SLEEP_LIGHTNESS.getCode()); sleepRangeVO.setSleepType(SleepTypeEnum.SLEEP_LIGHTNESS.getCode());
sleepRangeVO.setBelongToSleepTime(analysisVO.getBelongToSleepTime());
sleepRangeList.add(sleepRangeVO); sleepRangeList.add(sleepRangeVO);
} }
} }
...@@ -696,6 +705,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -696,6 +705,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepRangeVO.setStartTime(analysisVO.getStartTime()); sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime()); sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(SleepTypeEnum.SOBER.getCode()); sleepRangeVO.setSleepType(SleepTypeEnum.SOBER.getCode());
sleepRangeVO.setBelongToSleepTime(analysisVO.getBelongToSleepTime());
sleepRangeList.add(sleepRangeVO); sleepRangeList.add(sleepRangeVO);
} }
} }
...@@ -706,21 +716,14 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -706,21 +716,14 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepRangeVO.setStartTime(analysisVO.getStartTime()); sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime()); sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(SleepTypeEnum.GETUP.getCode()); sleepRangeVO.setSleepType(SleepTypeEnum.GETUP.getCode());
sleepRangeVO.setBelongToSleepTime(analysisVO.getBelongToSleepTime());
sleepRangeList.add(sleepRangeVO); sleepRangeList.add(sleepRangeVO);
} }
} }
List<String> sleepTypes = Lists.newArrayList(SleepTypeEnum.SLEEP_DEEP.getCode(), Map<String, List<PlatSleepRangeVO>> rangeMap = sleepRangeList.stream().collect(Collectors.groupingBy(PlatSleepRangeVO::getBelongToSleepTime));
SleepTypeEnum.SLEEP_MODERATE.getCode(), SleepTypeEnum.SLEEP_LIGHTNESS.getCode(), SleepTypeEnum.GETUP.getCode());
if (CollUtil.isNotEmpty(sleepList)) { if (CollUtil.isNotEmpty(sleepList)) {
for (SleepTimeAnalysisVO analysisVO : sleepList) { for (SleepTimeAnalysisVO analysisVO : sleepList) {
PlatSleepRangeVO sleepRangeVO = new PlatSleepRangeVO(); List<PlatSleepRangeVO> rangeList = rangeMap.get(analysisVO.getStartTime());
sleepRangeVO.setStartTime(analysisVO.getStartTime());
sleepRangeVO.setEndTime(analysisVO.getEndTime());
sleepRangeVO.setSleepType(analysisVO.getType());
List<PlatSleepRangeVO> rangeList = sleepRangeList.stream().filter(f -> sleepTypes.contains(f.getSleepType())).collect(Collectors.toList());
rangeList.add(sleepRangeVO);
rangeList = rangeList.stream().sorted(Comparator.comparing(l -> LocalDateTime.parse(l.getStartTime(), DEFAULT_FORMATTER))).collect(Collectors.toList());
PlatElderSleep platElderSleep = new PlatElderSleep(); PlatElderSleep platElderSleep = new PlatElderSleep();
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));
...@@ -735,14 +738,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -735,14 +738,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
} }
if (CollUtil.isNotEmpty(restList)) { if (CollUtil.isNotEmpty(restList)) {
for (SleepTimeAnalysisVO analysisVO : 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 platElderSleep = new PlatElderSleep();
List<PlatSleepRangeVO> rangeList = sleepRangeList.stream().filter(f -> SleepTypeEnum.SOBER.getCode().equals(f.getSleepType())).collect(Collectors.toList()); List<PlatSleepRangeVO> rangeList = rangeMap.get(analysisVO.getStartTime());
rangeList.add(sleepRangeVO);
rangeList = rangeList.stream().sorted(Comparator.comparing(l -> LocalDateTime.parse(l.getStartTime(), DEFAULT_FORMATTER))).collect(Collectors.toList());
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));
...@@ -821,8 +818,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -821,8 +818,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
assert deviceInfoContentBreathe != null; assert deviceInfoContentBreathe != null;
deviceInfoContentBreathe.setReportTime(formatLongTime(deviceInfoContentBreathe.getTimestamp())); deviceInfoContentBreathe.setReportTime(formatLongTime(deviceInfoContentBreathe.getTimestamp()));
return deviceInfoContentBreathe; return deviceInfoContentBreathe;
}) }).collect(Collectors.toList());
.collect(Collectors.toList());
Map<String, List<DeviceInfoContentBreathe>> minuteMap = StreamUtil.groupBy(deviceInfoContentBreatheList, DeviceInfoContentBreathe::getReportTime); Map<String, List<DeviceInfoContentBreathe>> minuteMap = StreamUtil.groupBy(deviceInfoContentBreatheList, DeviceInfoContentBreathe::getReportTime);
deviceOperationLogEntities.clear(); deviceOperationLogEntities.clear();
TreeMap<String, AnalysisVO> statisticsMap = getPerMinuteData(minuteMap, analysisModel); TreeMap<String, AnalysisVO> statisticsMap = getPerMinuteData(minuteMap, analysisModel);
...@@ -853,7 +849,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -853,7 +849,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
// 中度睡眠 // 中度睡眠
middleSleep(daySleepMap, analysisModel, sleepTimeAnalysisVOList); middleSleep(daySleepMap, analysisModel, sleepTimeAnalysisVOList);
// 清醒 // 清醒
sober(sleepTypeMap, sleepTimeAnalysisVOList); sober(daySleepMap, sleepTimeAnalysisVOList);
countTotal(sleepTypeMap, sleepCountDTO); countTotal(sleepTypeMap, sleepCountDTO);
//浅睡 //浅睡
SleepTimeDTO sleepTimeDTO = groupSleepData(sleepTimeAnalysisVOList); SleepTimeDTO sleepTimeDTO = groupSleepData(sleepTimeAnalysisVOList);
......
...@@ -8,4 +8,9 @@ public class PlatSleepRangeVO { ...@@ -8,4 +8,9 @@ public class PlatSleepRangeVO {
private String sleepType; private String sleepType;
private String startTime; private String startTime;
private String endTime; private String endTime;
/**
* 所属睡眠区间开始时间
*/
private String belongToSleepTime;
} }
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