Commit b7715b34 by 汪志阳

modify:bug 修改

parent b542fb86
......@@ -505,12 +505,15 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
* @param analysisModel
* @param sleepTimeAnalysisVOList
*/
private void middleSleep(TreeMap<String, TreeMap<String, AnalysisVO>> sleepTypeMap, SaasSleepAnalysisModel analysisModel,
private void middleSleep(TreeMap<String, TreeMap<String, AnalysisVO>> sleepTypeMap,
SaasSleepAnalysisModel analysisModel,
List<SleepTimeAnalysisVO> sleepTimeAnalysisVOList) {
//3次
int sleepModerateActionThreshold = Integer.parseInt(analysisModel.getSleepModerateActionThreshold());
// 10minute
int sleepModerateActionTimeBegin = Integer.parseInt(analysisModel.getSleepModerateActionTimeBegin());
List<SleepTimeAnalysisVO> deepList = sleepTimeAnalysisVOList.stream()
.filter(f -> SleepTypeEnum.SLEEP_DEEP.getCode().equals(f.getType())).collect(Collectors.toList());
for (Map.Entry<String, TreeMap<String, AnalysisVO>> entry : sleepTypeMap.entrySet()) {
TreeMap<String, AnalysisVO> sleepMap = entry.getValue();
......@@ -552,7 +555,9 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeAnalysisVO.setEndTime(key1);
sleepTimeAnalysisVO.setType(SleepTypeEnum.SLEEP_MODERATE.getCode());
sleepTimeAnalysisVO.setBelongToSleepTime(key);
if (!isContain(deepList, startSleepMidTime, key1)) {
sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO);
}
startSleepMidTime = null;
sleepMidMinute = 0;
}
......@@ -560,6 +565,29 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
private boolean isContain(List<SleepTimeAnalysisVO> deepList, String startSleepMidTime, String endMidTime) {
boolean isContain = false;
if (CollUtil.isEmpty(deepList)) {
return false;
}
LocalDateTime startSleepTime = LocalDateTime.parse(startSleepMidTime, DEFAULT_FORMATTER);
LocalDateTime endSleepTime = LocalDateTime.parse(endMidTime, DEFAULT_FORMATTER);
for (SleepTimeAnalysisVO vo : deepList) {
LocalDateTime startTime = LocalDateTime.parse(vo.getStartTime(), DEFAULT_FORMATTER);
LocalDateTime endTime = LocalDateTime.parse(vo.getEndTime(), DEFAULT_FORMATTER);
boolean startFlag = startSleepTime.isAfter(startTime) && startSleepTime.isBefore(endTime);
boolean endFlag = endSleepTime.isAfter(startTime) && endSleepTime.isBefore(endTime);
if (startFlag || endFlag) {
isContain = true;
}
boolean afterFlag = startSleepTime.isBefore(startTime) && endSleepTime.isAfter(endTime);
if (afterFlag) {
isContain = true;
}
}
return isContain;
}
/**
* 清醒(每分钟体动值大于60或无人)
*
......@@ -897,12 +925,12 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
PlatElder elder = platElderService.getOne(new QueryWrapper<PlatElder>().lambda()
.eq(PlatElder::getBedId, bedId));
// || !"1712648603580764161".equals(elder.getId())
if (elder == null) {
if (elder == null || !"1712648603580764161".equals(elder.getId())) {
continue;
}
PlatDevice platDevice = platDeviceService.getById(platRoomBedDevice.getDeviceId());
// || !"218A00XE2669104".equals(platDevice.getOriDeviceId())
if (platDevice == null) {
if (platDevice == null || !"218A00XE2669104".equals(platDevice.getOriDeviceId())) {
continue;
}
String tenantId = elder.getTenantId();
......
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