Commit bb7cb5ac by 汪志阳

fix:bug fix

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