Commit 279886ca by 汪志阳

fix:bug 修改

parent ba73f159
...@@ -7,11 +7,22 @@ import java.util.List; ...@@ -7,11 +7,22 @@ import java.util.List;
@Data @Data
public class SleepTimeAnalysisVO { public class SleepTimeAnalysisVO {
/**
* 满足入睡条件开始时间
*/
private String startTime; private String startTime;
/**
* 不满足入睡条件的时间
*/
private String endTime; private String endTime;
/** /**
* 起床时间
*/
private String newEndTime;
/**
* 间隔时间(分钟) * 间隔时间(分钟)
*/ */
private Long interval; private Long interval;
......
...@@ -4,6 +4,8 @@ package com.makeit.module.controller.elder; ...@@ -4,6 +4,8 @@ package com.makeit.module.controller.elder;
import com.makeit.common.response.ApiResponseEntity; import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils; import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.elder.PlatElderReportDTO; import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.global.annotation.AuthIgnore;
import com.makeit.global.aspect.tenant.TenantIdIgnore;
import com.makeit.service.platform.elder.PlatElderDayReportDayService; import com.makeit.service.platform.elder.PlatElderDayReportDayService;
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;
...@@ -42,6 +44,8 @@ public class PlatElderReportDayController { ...@@ -42,6 +44,8 @@ public class PlatElderReportDayController {
@ApiOperation("睡眠图表") @ApiOperation("睡眠图表")
@PostMapping("sleepDiagram") @PostMapping("sleepDiagram")
@AuthIgnore
@TenantIdIgnore
public ApiResponseEntity<List<PlatElderSleepDiagramVO>> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) { public ApiResponseEntity<List<PlatElderSleepDiagramVO>> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) {
return ApiResponseUtils.success(platElderDayReportDayService.sleepDiagram(platElderIdDTO)); return ApiResponseUtils.success(platElderDayReportDayService.sleepDiagram(platElderIdDTO));
} }
......
...@@ -243,7 +243,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -243,7 +243,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
} }
List<PlatElderSleep> wakeUpList = sleepList.stream().filter(f -> f.getElderSleepType().equals(SleepTypeEnum.GETUP.getType())).collect(Collectors.toList()); List<PlatElderSleep> wakeUpList = sleepList.stream().filter(f -> f.getElderSleepType().equals(SleepTypeEnum.GETUP.getType())).collect(Collectors.toList());
sleeps.forEach(s -> { sleeps.forEach(s -> {
List<PlatElderSleep> wakeList = wakeUpList.stream().filter(f -> s.getStartSleep().isAfter(s.getEndSleep())).collect(Collectors.toList()); List<PlatElderSleep> wakeList = wakeUpList.stream().filter(f -> f.getStartSleep().isAfter(s.getEndSleep())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(wakeList)) { if (CollUtil.isNotEmpty(wakeList)) {
final long[] minute = {24 * 60}; final long[] minute = {24 * 60};
wakeList.forEach(w -> { wakeList.forEach(w -> {
......
...@@ -66,12 +66,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -66,12 +66,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
@Autowired @Autowired
private SaasSleepEvaluateReportService saasSleepEvaluateReportService; private SaasSleepEvaluateReportService saasSleepEvaluateReportService;
@Autowired @Autowired
private SaasElderReportConfigService saasElderReportConfigService;
@Autowired
private SaasSleepEvaluateStandardReportService saasSleepEvaluateStandardReportService; private SaasSleepEvaluateStandardReportService saasSleepEvaluateStandardReportService;
@Autowired @Autowired
private SaasDiseaseModelService saasDiseaseModelService;
@Autowired
private IotProductDeviceService productDeviceService; private IotProductDeviceService productDeviceService;
@Autowired @Autowired
private PlatRoomBedDeviceService roomBedDeviceService; private PlatRoomBedDeviceService roomBedDeviceService;
...@@ -82,13 +78,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -82,13 +78,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
@Autowired @Autowired
private PlatElderSleepAnalysisService platElderSleepAnalysisService; private PlatElderSleepAnalysisService platElderSleepAnalysisService;
@Autowired @Autowired
private PlatElderBreatheDayStatService platElderBreatheDayStatService;
@Autowired
private PlatElderSleepService platElderSleepService; private PlatElderSleepService platElderSleepService;
@Autowired
private PlatElderReportMonthService platElderReportMonthService;
private TreeMap<String, AnalysisVO> getPerMinuteData(Map<String, List<DeviceInfoContentBreathe>> minuteMap, SaasSleepAnalysisModel analysisModel) { private TreeMap<String, AnalysisVO> getPerMinuteData(Map<String, List<DeviceInfoContentBreathe>> minuteMap, SaasSleepAnalysisModel analysisModel) {
int turnedThreshold = Integer.parseInt(analysisModel.getTurnedThreshold()); int turnedThreshold = Integer.parseInt(analysisModel.getTurnedThreshold());
...@@ -225,12 +216,13 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -225,12 +216,13 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
*/ */
private TreeMap<String, TreeMap<String, AnalysisVO>> getFallAsleepData(TreeMap<String, AnalysisVO> totalMap, double sleepTimeActionDuration, private TreeMap<String, TreeMap<String, AnalysisVO>> getFallAsleepData(TreeMap<String, AnalysisVO> totalMap, double sleepTimeActionDuration,
List<SleepTimeAnalysisVO> sleepTimeAnalysisVOList) { List<SleepTimeAnalysisVO> sleepTimeAnalysisVOList) {
// 入睡时间开始
String startSleepTime = null; String startSleepTime = null;
int sleepMinute = 0; int sleepMinute = 0;
boolean isSleep = false;
for (Map.Entry<String, AnalysisVO> entry : totalMap.entrySet()) { for (Map.Entry<String, AnalysisVO> entry : totalMap.entrySet()) {
AnalysisVO analysisVO = entry.getValue(); AnalysisVO analysisVO = entry.getValue();
// 非离床且体动值<20
if (!analysisVO.getIsAction() && !analysisVO.getIsMoveBed()) { if (!analysisVO.getIsAction() && !analysisVO.getIsMoveBed()) {
if (StrUtil.isBlank(startSleepTime)) { if (StrUtil.isBlank(startSleepTime)) {
startSleepTime = entry.getKey(); startSleepTime = entry.getKey();
...@@ -247,6 +239,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -247,6 +239,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeAnalysisVO.setEndTime(entry.getKey()); sleepTimeAnalysisVO.setEndTime(entry.getKey());
sleepTimeAnalysisVO.setType(SleepTypeEnum.DAY_SLEEP.getCode()); sleepTimeAnalysisVO.setType(SleepTypeEnum.DAY_SLEEP.getCode());
sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO); sleepTimeAnalysisVOList.add(sleepTimeAnalysisVO);
isSleep = true;
} }
startSleepTime = null; startSleepTime = null;
sleepMinute = 0; sleepMinute = 0;
...@@ -286,10 +279,14 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -286,10 +279,14 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
*/ */
private void getUp(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,
SleepCountDTO sleepCountDTO) { SleepCountDTO sleepCountDTO,TreeMap<String, TreeMap<String, AnalysisVO>> sleepTypeMap) {
List<SleepTimeAnalysisVO> sleepList = sleepTimeAnalysisVOList.stream()
.filter(f -> SleepTypeEnum.SLEEP.getCode().equals(f.getType())).collect(Collectors.toList());
if (CollUtil.isEmpty(sleepList)) {
return;
}
Integer actionCount = 0; Integer actionCount = 0;
Integer turnedCount = 0; Integer turnedCount = 0;
// 起床时间
String startGetupTime = null; String startGetupTime = null;
int getupMinute = 0; int getupMinute = 0;
for (Map.Entry<String, AnalysisVO> entry : totalMap.entrySet()) { for (Map.Entry<String, AnalysisVO> entry : totalMap.entrySet()) {
...@@ -318,8 +315,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -318,8 +315,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
} }
sleepCountDTO.setTotalActionCount(actionCount); sleepCountDTO.setTotalActionCount(actionCount);
sleepCountDTO.setTotalTurnedCount(turnedCount); sleepCountDTO.setTotalTurnedCount(turnedCount);
List<SleepTimeAnalysisVO> sleepList = sleepTimeAnalysisVOList.stream().
filter(f -> SleepTypeEnum.SLEEP.getCode().equals(f.getType())).collect(Collectors.toList());
String startGetupTime2 = null; String startGetupTime2 = null;
int getupMinute2 = 0; int getupMinute2 = 0;
...@@ -557,6 +552,30 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -557,6 +552,30 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
return sleepTimeDTO; return sleepTimeDTO;
} }
private void setWakeUp(List<SleepTimeAnalysisVO> sleepList, List<SleepTimeAnalysisVO> getUpList) {
if (CollUtil.isEmpty(sleepList) || CollUtil.isEmpty(getUpList)) {
return;
}
sleepList.forEach(s -> {
List<SleepTimeAnalysisVO> wakeList = getUpList.stream().filter(f -> LocalDateTime.parse(f.getStartTime(), DEFAULT_FORMATTER)
.isAfter(LocalDateTime.parse(s.getStartTime(), DEFAULT_FORMATTER))).collect(Collectors.toList());
// 查询最近的清醒时间,设置
if (CollUtil.isNotEmpty(wakeList)) {
final long[] minute = {24 * 60};
wakeList.forEach(w -> {
long between = Duration.between(LocalDateTime.parse(s.getStartTime(), DEFAULT_FORMATTER),
LocalDateTime.parse(w.getStartTime(), DEFAULT_FORMATTER)).toMinutes();
if (between < minute[0]) {
minute[0] = between;
s.setNewEndTime(w.getStartTime());
}
});
}
});
}
private PlatElderSleepAnalysis savePlatElderSleepAnalysis(SleepTimeDTO sleepTimeDTO, private PlatElderSleepAnalysis savePlatElderSleepAnalysis(SleepTimeDTO sleepTimeDTO,
SaasSleepEvaluateStandardReport evaluateStandardReport, SaasSleepEvaluateStandardReport evaluateStandardReport,
String elderId, String currentDate, SleepCountDTO sleepCountDTO, String elderId, String currentDate, SleepCountDTO sleepCountDTO,
...@@ -584,7 +603,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -584,7 +603,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepAnalysis.setTenantId(tenantId); elderSleepAnalysis.setTenantId(tenantId);
elderSleepAnalysis.setSleepEvaluate(sleepReport.getEvaluate()); elderSleepAnalysis.setSleepEvaluate(sleepReport.getEvaluate());
elderSleepAnalysis.setOriDeviceId(oriDeviceId); elderSleepAnalysis.setOriDeviceId(oriDeviceId);
platElderSleepAnalysisService.save(elderSleepAnalysis); // platElderSleepAnalysisService.save(elderSleepAnalysis);
return elderSleepAnalysis; return elderSleepAnalysis;
} }
...@@ -723,7 +742,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -723,7 +742,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepList.add(platElderSleep); elderSleepList.add(platElderSleep);
} }
} }
platElderSleepService.saveBatch(elderSleepList); // platElderSleepService.saveBatch(elderSleepList);
return elderSleepList; return elderSleepList;
} }
...@@ -815,7 +834,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -815,7 +834,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
// 清醒 // 清醒
sober(sleepTypeMap, sleepTimeAnalysisVOList); sober(sleepTypeMap, sleepTimeAnalysisVOList);
// 起床 // 起床
getUp(totalMap, riseLeaveThreshold, riseActionDuration, repeatSleepThreshold, sleepTimeAnalysisVOList, sleepCountDTO); getUp(totalMap, riseLeaveThreshold, riseActionDuration, repeatSleepThreshold, sleepTimeAnalysisVOList, sleepCountDTO,sleepTypeMap);
//浅睡 //浅睡
SleepTimeDTO sleepTimeDTO = groupSleepData(sleepTimeAnalysisVOList); SleepTimeDTO sleepTimeDTO = groupSleepData(sleepTimeAnalysisVOList);
List<PlatElderSleep> platElderSleeps = saveElderSleep(sleepTimeDTO, elder.getId(), currentDate); List<PlatElderSleep> platElderSleeps = saveElderSleep(sleepTimeDTO, elder.getId(), currentDate);
...@@ -866,6 +885,9 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -866,6 +885,9 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
lightScore = Integer.parseInt(lightnessConfig.getScore()) * multiplier; lightScore = Integer.parseInt(lightnessConfig.getScore()) * multiplier;
} }
Integer totalScore = sleepScore.get() + deepScore.get() + lightScore - soberScore.get(); Integer totalScore = sleepScore.get() + deepScore.get() + lightScore - soberScore.get();
if (totalScore < 0) {
totalScore = 0;
}
return String.valueOf(totalScore); return String.valueOf(totalScore);
} }
......
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