Commit a8ef199e by lzy

Merge branch 'dev' of git.xmmakeit.com:huangjiay/iot-platform-server into dev

parents ec5db324 635e7a96
...@@ -161,6 +161,9 @@ public class BehaviorAlarm implements IAlarm { ...@@ -161,6 +161,9 @@ public class BehaviorAlarm implements IAlarm {
platElderList = platAlarmCheckDTO.getPlatElderList(); platElderList = platAlarmCheckDTO.getPlatElderList();
} }
for (PlatElder platElder : platElderList) { for (PlatElder platElder : platElderList) {
if(StringUtils.isBlank(platElder.getRegionName())){
continue;
}
PlatDayDurationRecord durationRecord = new PlatDayDurationRecord(); PlatDayDurationRecord durationRecord = new PlatDayDurationRecord();
durationRecord.setElderIds(platElder.getId()); durationRecord.setElderIds(platElder.getId());
durationRecord.setRegionName(platElder.getRegionName()); durationRecord.setRegionName(platElder.getRegionName());
......
...@@ -20,6 +20,7 @@ import com.makeit.service.platform.elder.*; ...@@ -20,6 +20,7 @@ import com.makeit.service.platform.elder.*;
import com.makeit.utils.LongTimestampUtil; import com.makeit.utils.LongTimestampUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.data.validate.CollectionUtils; import com.makeit.utils.data.validate.CollectionUtils;
import com.makeit.utils.old.StringUtils;
import com.makeit.utils.time.LocalDateTimeUtils; import com.makeit.utils.time.LocalDateTimeUtils;
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;
...@@ -100,6 +101,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -100,6 +101,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
platElderSleepEvaluationVO.setSleepDuration(Integer.valueOf(platElderSleepAnalysis.getSleepTime() + "")); platElderSleepEvaluationVO.setSleepDuration(Integer.valueOf(platElderSleepAnalysis.getSleepTime() + ""));
platElderSleepEvaluationVO.setRestDuration(Integer.valueOf(platElderSleepAnalysis.getRestTime() + "")); platElderSleepEvaluationVO.setRestDuration(Integer.valueOf(platElderSleepAnalysis.getRestTime() + ""));
platElderSleepEvaluationVO.setSleepDurationHour(new BigDecimal(platElderSleepEvaluationVO.getSleepDuration()).divide(new BigDecimal(60), 2, BigDecimal.ROUND_HALF_UP));
platElderSleepEvaluationVO.setRestDurationHour(new BigDecimal(platElderSleepEvaluationVO.getRestDuration()).divide(new BigDecimal(60), 2, BigDecimal.ROUND_HALF_UP));
return platElderSleepEvaluationVO; return platElderSleepEvaluationVO;
} }
...@@ -425,6 +429,11 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -425,6 +429,11 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}); });
voList.forEach(e -> {
if (StringUtils.isBlank(e.getAreaName())) {
e.setAreaName("");
}
});
Map<String, List<PlatElderBehaviorDistributionVO>> map = StreamUtil.groupBy(voList, PlatElderBehaviorDistributionVO::getAreaName); Map<String, List<PlatElderBehaviorDistributionVO>> map = StreamUtil.groupBy(voList, PlatElderBehaviorDistributionVO::getAreaName);
List<PlatElderBehaviorDistributionVO> newVoList = new ArrayList<>(10); List<PlatElderBehaviorDistributionVO> newVoList = new ArrayList<>(10);
......
...@@ -29,6 +29,7 @@ import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO; ...@@ -29,6 +29,7 @@ import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.DayOfWeek; import java.time.DayOfWeek;
import java.time.Duration; import java.time.Duration;
import java.time.LocalDate; import java.time.LocalDate;
...@@ -262,20 +263,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek ...@@ -262,20 +263,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List<PlatSleepRangeVO> sleepRecord = list.stream().flatMap(i -> i.getSleepRecord().stream()).collect(Collectors.toList()); List<PlatSleepRangeVO> sleepRecord = list.stream().flatMap(i -> i.getSleepRecord().stream()).collect(Collectors.toList());
vo.setSleepDeepDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_DEEP.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue()); return getPlatElderSleepDiagramWeekContentVO(dateTimeFormatter, sleepAnalysisMap, timeFormatter, e, vo, sleepRecord);
vo.setSleepModerateDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_MODERATE.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
vo.setSleepLightnessDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_LIGHTNESS.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
vo.setSoberDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SOBER.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
PlatElderSleepAnalysis platElderSleepAnalysis = sleepAnalysisMap.get(dateTimeFormatter.format(e));
if (platElderSleepAnalysis != null) {
vo.setTurnedCount(platElderSleepAnalysis.getTurnedCount());
vo.setBodyMoveCount(platElderSleepAnalysis.getActionCount());
vo.setScore(Integer.valueOf(platElderSleepAnalysis.getSleepScore() + ""));
}
return vo;
}); });
...@@ -287,11 +275,28 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek ...@@ -287,11 +275,28 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List<PlatSleepRangeVO> sleepRecord = list.stream().flatMap(i -> Optional.ofNullable(i.getSleepRecord()).orElse(new ArrayList<>(10)).stream()).collect(Collectors.toList()); List<PlatSleepRangeVO> sleepRecord = list.stream().flatMap(i -> Optional.ofNullable(i.getSleepRecord()).orElse(new ArrayList<>(10)).stream()).collect(Collectors.toList());
return getPlatElderSleepDiagramWeekContentVO(dateTimeFormatter, sleepAnalysisMap, timeFormatter, e, vo, sleepRecord);
});
PlatElderSleepDiagramWeekVO vo = new PlatElderSleepDiagramWeekVO();
vo.setSleep(sleep);
vo.setRest(rest);
return vo;
}
private PlatElderSleepDiagramWeekContentVO getPlatElderSleepDiagramWeekContentVO(DateTimeFormatter dateTimeFormatter, Map<String, PlatElderSleepAnalysis> sleepAnalysisMap, DateTimeFormatter timeFormatter, LocalDate e, PlatElderSleepDiagramWeekContentVO vo, List<PlatSleepRangeVO> sleepRecord) {
vo.setSleepDeepDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_DEEP.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue()); vo.setSleepDeepDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_DEEP.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
vo.setSleepModerateDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_MODERATE.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue()); vo.setSleepModerateDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_MODERATE.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
vo.setSleepLightnessDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_LIGHTNESS.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue()); vo.setSleepLightnessDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SLEEP_LIGHTNESS.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
vo.setSoberDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SOBER.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue()); vo.setSoberDuration(sleepRecord.stream().filter(i -> SleepTypeEnum.SOBER.getCode().equals(i.getSleepType())).map(i -> duration(timeFormatter, i.getStartTime(), i.getEndTime())).reduce(0L, Long::sum).intValue());
vo.setSleepDeepDurationHour(new BigDecimal(vo.getSleepDeepDuration()).divide(new BigDecimal(60), 2, BigDecimal.ROUND_HALF_UP));
vo.setSleepModerateDurationHour(new BigDecimal(vo.getSleepModerateDuration()).divide(new BigDecimal(60), 2, BigDecimal.ROUND_HALF_UP));
vo.setSleepLightnessDurationHour(new BigDecimal(vo.getSleepLightnessDuration()).divide(new BigDecimal(60), 2, BigDecimal.ROUND_HALF_UP));
vo.setSoberDurationHour(new BigDecimal(vo.getSoberDuration()).divide(new BigDecimal(60), 2, BigDecimal.ROUND_HALF_UP));
PlatElderSleepAnalysis platElderSleepAnalysis = sleepAnalysisMap.get(dateTimeFormatter.format(e)); PlatElderSleepAnalysis platElderSleepAnalysis = sleepAnalysisMap.get(dateTimeFormatter.format(e));
if (platElderSleepAnalysis != null) { if (platElderSleepAnalysis != null) {
...@@ -301,14 +306,6 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek ...@@ -301,14 +306,6 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
} }
return vo; return vo;
});
PlatElderSleepDiagramWeekVO vo = new PlatElderSleepDiagramWeekVO();
vo.setSleep(sleep);
vo.setRest(rest);
return vo;
} }
@Override @Override
......
...@@ -459,6 +459,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace ...@@ -459,6 +459,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
spacePath = firstId; spacePath = firstId;
} else { } else {
firstId = firstSpaceNameMap.get(item.getCommunity()); firstId = firstSpaceNameMap.get(item.getCommunity());
spacePath = firstId;
} }
//第二层级 //第二层级
......
...@@ -3,6 +3,8 @@ package com.makeit.vo.platform.elder.report.day; ...@@ -3,6 +3,8 @@ package com.makeit.vo.platform.elder.report.day;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
@Data @Data
public class PlatElderSleepEvaluationVO { public class PlatElderSleepEvaluationVO {
...@@ -22,4 +24,12 @@ public class PlatElderSleepEvaluationVO { ...@@ -22,4 +24,12 @@ public class PlatElderSleepEvaluationVO {
private Integer restDuration; private Integer restDuration;
@ApiModelProperty(value = "睡眠时长")
private BigDecimal sleepDurationHour;
@ApiModelProperty(value = "休息时长")
private BigDecimal restDurationHour;
} }
...@@ -3,6 +3,7 @@ package com.makeit.vo.platform.elder.report.week; ...@@ -3,6 +3,7 @@ package com.makeit.vo.platform.elder.report.week;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
@Data @Data
...@@ -23,6 +24,7 @@ public class PlatElderSleepDiagramWeekContentVO { ...@@ -23,6 +24,7 @@ public class PlatElderSleepDiagramWeekContentVO {
@ApiModelProperty(value = "清醒时长") @ApiModelProperty(value = "清醒时长")
private Integer soberDuration; private Integer soberDuration;
@ApiModelProperty(value = "翻身次数") @ApiModelProperty(value = "翻身次数")
private Integer turnedCount; private Integer turnedCount;
...@@ -33,5 +35,17 @@ public class PlatElderSleepDiagramWeekContentVO { ...@@ -33,5 +35,17 @@ public class PlatElderSleepDiagramWeekContentVO {
private Integer score; private Integer score;
@ApiModelProperty(value = "深度睡眠时长")
private BigDecimal sleepDeepDurationHour;
@ApiModelProperty(value = "中度睡眠时长")
private BigDecimal sleepModerateDurationHour;
@ApiModelProperty(value = "浅度睡眠时长")
private BigDecimal sleepLightnessDurationHour;
@ApiModelProperty(value = "清醒时长")
private BigDecimal soberDurationHour;
} }
...@@ -21,6 +21,9 @@ public class PlatBedPanoramaVO extends BaseIdDTO { ...@@ -21,6 +21,9 @@ public class PlatBedPanoramaVO extends BaseIdDTO {
@ApiModelProperty("全路径名称") @ApiModelProperty("全路径名称")
private String spacePathName; private String spacePathName;
@ApiModelProperty("房间id")
private String roomId;
@ApiModelProperty("房间名称") @ApiModelProperty("房间名称")
private String roomName; private String roomName;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.makeit.mapper.platform.space.PlatBedMapper"> <mapper namespace="com.makeit.mapper.platform.space.PlatBedMapper">
<select id="selectBySpaceIdAndStatus" resultType="com.makeit.vo.platform.space.PlatBedPanoramaVO"> <select id="selectBySpaceIdAndStatus" resultType="com.makeit.vo.platform.space.PlatBedPanoramaVO">
SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId,pm.id as roomId
FROM `plat_bed` pb FROM `plat_bed` pb
LEFT JOIN plat_room pm on pb.room_id = pm.id LEFT JOIN plat_room pm on pb.room_id = pm.id
LEFT JOIN plat_elder pe on pe.bed_id = pb.id LEFT JOIN plat_elder pe on pe.bed_id = pb.id
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</select> </select>
<select id="selectByRoomIdAndStatus" resultType="com.makeit.vo.platform.space.PlatBedPanoramaVO"> <select id="selectByRoomIdAndStatus" resultType="com.makeit.vo.platform.space.PlatBedPanoramaVO">
SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId,pm.id as roomId
FROM `plat_bed` pb FROM `plat_bed` pb
LEFT JOIN plat_room pm on pb.room_id = pm.id LEFT JOIN plat_room pm on pb.room_id = pm.id
LEFT JOIN plat_elder pe on pe.bed_id = pb.id and pe.del_flag = 0 LEFT JOIN plat_elder pe on pe.bed_id = pb.id and pe.del_flag = 0
......
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