Commit 3615fb07 by 汪志阳

modify:bug 修改

parent 15aaf8a6
......@@ -724,11 +724,12 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
SleepTimeMinuteDTO sleepTimeMinute = getSleepTimeMinute(sleepTimeDTO);
long daySleepTime = sleepTimeMinute.getDaySleepTime() != null ? sleepTimeMinute.getDaySleepTime() : 0L;
long deepTime = sleepTimeMinute.getDeepTime() != null ? sleepTimeMinute.getDeepTime() : 0L;
// long deepTime = sleepTimeMinute.getDeepTime() != null ? sleepTimeMinute.getDeepTime() : 0L;
long dayRestTime = sleepTimeMinute.getDayRestTime() != null ? sleepTimeMinute.getDayRestTime() : 0L;
long soberTime = sleepTimeMinute.getSoberTime() != null ? sleepTimeMinute.getSoberTime() : 0L;
long lightTime = sleepTimeMinute.getLightTime() != null ? sleepTimeMinute.getLightTime() : 0L;
String score = calculateScores(daySleepTime, dayRestTime, deepTime, soberTime, lightTime, evaluateStandardReport);
// long soberTime = sleepTimeMinute.getSoberTime() != null ? sleepTimeMinute.getSoberTime() : 0L;
// long lightTime = sleepTimeMinute.getLightTime() != null ? sleepTimeMinute.getLightTime() : 0L;
// String score2 = calculateScores(daySleepTime, dayRestTime, deepTime, soberTime, lightTime, evaluateStandardReport);
String score = calculateScores2(sleepTimeDTO, sleepTimeMinute, evaluateStandardReport);
long scoreLong = Long.parseLong(score);
if (scoreLong > 100) {
scoreLong = 100;
......@@ -1036,6 +1037,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
* 清醒:每1次扣5分,超过10分钟扣10分
*
* 睡眠时长(扣除清醒):持续6小时加60分
* 持续7小时加70分
*/
public String calculateScores2(SleepTimeDTO sleepTimeDTO, SleepTimeMinuteDTO sleepTimeMinute,
SaasSleepEvaluateStandardReport evaluateStandardReport) {
......@@ -1065,15 +1067,30 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
score.addAndGet(Integer.parseInt(lightnessConfig.getScore()) * per);
});
}
if (CollUtil.isNotEmpty(soberList) && CollUtil.isNotEmpty(sleepTimeConfigList)) {
if (CollUtil.isNotEmpty(soberList) && CollUtil.isNotEmpty(soberConfigList)) {
SleepConfigVO first = soberConfigList.get(0);
SleepConfigVO second = soberConfigList.get(1);
AtomicInteger count = new AtomicInteger(0);
AtomicInteger disScore = new AtomicInteger(0);
soberList.forEach(d -> {
long interval = d.getInterval() == null ? 0 : d.getInterval() / 60;
List<SleepConfigVO> list = sleepDeepConfigList.stream().filter(f -> Long.parseLong(f.getHour()) <= interval)
.sorted(Comparator.comparing(SleepConfigVO::getHour).reversed()).collect(Collectors.toList());
if (CollUtil.isNotEmpty(list)) {
score.addAndGet(Integer.parseInt(list.get(0).getScore()));
long interval = d.getInterval() == null ? 0 : d.getInterval();
if (interval > Long.parseLong(second.getHour())) {
disScore.addAndGet(Integer.parseInt(second.getScore()));
} else {
count.getAndIncrement();
}
});
int sum = count.get() / Integer.parseInt(first.getHour());
disScore.addAndGet(sum * Integer.parseInt(first.getScore()));
score.addAndGet(-disScore.get());
}
if (CollUtil.isNotEmpty(sleepTimeConfigList)) {
long daySleepTime = sleepTimeMinute.getDaySleepTime() / 60;
List<SleepConfigVO> list = sleepTimeConfigList.stream().filter(f -> Long.parseLong(f.getHour()) <= daySleepTime)
.sorted(Comparator.comparing(SleepConfigVO::getHour).reversed()).collect(Collectors.toList());
if (CollUtil.isNotEmpty(list)) {
score.addAndGet(Integer.parseInt(list.get(0).getScore()));
}
}
return Integer.toString(score.get());
}
......
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