Commit 437fcf0b by 杨伟程

老人报表更新

parent 808529e9
......@@ -15,7 +15,7 @@ CREATE TABLE `sys_file` (
CREATE TABLE `sys_config` (
`id` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' id ',
`tenant_id` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT ' 租户id ',
`code` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 编码 例如 user.type.personal 类名.字段.业务 ',
`code` varchar(100) COLLATE utf8mb4_general_ci NULL COMMENT ' 编码 例如 user.type.personal 类名.字段.业务 ',
`name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 名称 例如 冻结 ',
`value` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT ' 值 例如 1 2 3',
`sort` int DEFAULT '0' COMMENT '排序 ',
......
......@@ -26,7 +26,7 @@ public class SysConfig extends BaseBusEntity {
/**
* 编码 例如 user.type.personal 类名.字段.业务
*/
@NotBlank(message = "编码不能为空")
//@NotBlank(message = "编码不能为空")
@ApiModelProperty("编码CODE")
private String code;
......
......@@ -50,7 +50,7 @@ public class PlatElderReportWeekController {
@ApiOperation("睡眠图表")
@PostMapping("sleepDiagram")
public ApiResponseEntity<List<PlatElderSleepDiagramWeekVO>> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) {
public ApiResponseEntity<PlatElderSleepDiagramWeekVO> sleepDiagram(@RequestBody PlatElderReportDTO platElderIdDTO) {
return null;
}
......
package com.makeit.service.platform.elder;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.report.day.*;
import com.makeit.vo.platform.elder.report.week.PlatElderComprehensiveEvaluationVO;
import com.makeit.vo.platform.elder.report.week.PlatElderRealTimeHeartRespiratoryWeekVO;
import org.springframework.web.bind.annotation.RequestBody;
import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO;
import java.time.LocalDate;
import java.util.List;
......@@ -29,6 +28,8 @@ public interface PlatElderDayReportWeekService {
PlatElderSleepEvaluationVO sleepEvaluation(PlatElderReportDTO platElderIdDTO);
PlatElderSleepDiagramWeekVO sleepDiagram(PlatElderReportDTO platElderIdDTO);
PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluationInternal(PlatElderReportDTO platElderIdDTO, LocalDate weekStartDate, LocalDate weekEndDate);
PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluation(PlatElderReportDTO platElderIdDTO);
......
......@@ -6,6 +6,7 @@ import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.PlatElderBreatheAnalysis;
import com.makeit.entity.platform.elder.PlatElderBreatheDayStat;
import com.makeit.entity.platform.elder.PlatElderSleep;
import com.makeit.entity.platform.elder.PlatElderSleepAnalysis;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
......@@ -22,6 +23,8 @@ import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import com.makeit.vo.platform.elder.report.day.*;
import com.makeit.vo.platform.elder.report.week.PlatElderComprehensiveEvaluationVO;
import com.makeit.vo.platform.elder.report.week.PlatElderRealTimeHeartRespiratoryWeekVO;
import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekContentVO;
import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -33,6 +36,7 @@ import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeekService {
......@@ -47,6 +51,9 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
private PlatElderSleepAnalysisService platElderSleepAnalysisService;
@Autowired
private PlatElderSleepService platElderSleepService;
@Autowired
private SaasSleepEvaluateReportService saasSleepEvaluateReportService;
@Autowired
......@@ -201,6 +208,51 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
}
@Override
public PlatElderSleepDiagramWeekVO sleepDiagram(PlatElderReportDTO platElderIdDTO) {
LocalDate weekStartDate = weekStartDate(platElderIdDTO.getStartTime());
LocalDate weekEndDate = weekStartDate(platElderIdDTO.getEndTime());
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<PlatElderSleep> sleepList = platElderSleepService.list(new QueryWrapper<PlatElderSleep>().lambda()
.eq(PlatElderSleep::getElderId, platElderIdDTO.getElderId())
.ge(PlatElderSleep::getHappenDate, dateTimeFormatter.format(weekStartDate))
.le(PlatElderSleep::getHappenDate, dateTimeFormatter.format(weekEndDate))
);
List<PlatElderSleepAnalysis> sleepAnalysisList = platElderSleepAnalysisService.list(new QueryWrapper<PlatElderSleepAnalysis>().lambda()
.eq(PlatElderSleepAnalysis::getElderId, platElderIdDTO.getElderId())
.ge(PlatElderSleepAnalysis::getHappenDate, dateTimeFormatter.format(weekStartDate))
.le(PlatElderSleepAnalysis::getHappenDate, dateTimeFormatter.format(weekEndDate))
);
Map<Integer, Map<String, List<PlatElderSleep>>> sleepMap = sleepList.stream().collect(Collectors.groupingBy(PlatElderSleep::getElderSleepType, Collectors.groupingBy(PlatElderSleep::getHappenDate)));
Map<String, PlatElderSleepAnalysis> sleepAnalysisMap = StreamUtil.toMap(sleepAnalysisList, PlatElderSleepAnalysis::getHappenDate);
List<LocalDate> dateList = LocalDateTimeUtils.getDateSeries(weekStartDate, weekEndDate);
List<PlatElderSleepDiagramWeekContentVO> sleep = StreamUtil.map(dateList, e -> {
PlatElderSleepDiagramWeekContentVO vo = new PlatElderSleepDiagramWeekContentVO();
vo.setDay(e);
// vo.setSleepDeepDuration();
// vo.setSleepModerateDuration();
// vo.setSleepLightnessDuration();
// vo.setSoberDuration();
// vo.setTurnedCount();
// vo.setBodyMoveCount();
// vo.setScore();
return vo;
});
return null;
}
@Override
public PlatElderHeartRespiratoryEvaluationVO heartRespiratoryEvaluationInternal(PlatElderReportDTO platElderIdDTO, LocalDate weekStartDate, LocalDate weekEndDate) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
......@@ -279,15 +331,23 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
LambdaQueryWrapper<PlatElderBreatheDayStat> lambdaQueryWrapper = new QueryWrapper<PlatElderBreatheDayStat>().lambda();
if (StringUtils.isNotBlank(platElderIdDTO.getElderId())) {
lambdaQueryWrapper.eq(PlatElderBreatheDayStat::getElderId, platElderIdDTO.getElderId());
}
if (StringUtils.isNotBlank(deviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getDeviceId, deviceId);
}
if (StringUtils.isNotBlank(oriDeviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getOriDeviceId, oriDeviceId);
}
lambdaQueryWrapper.ge(PlatElderBreatheDayStat::getDay, weekStartDate);
lambdaQueryWrapper.le(PlatElderBreatheDayStat::getDay, weekEndDate);
String finalDeviceId = deviceId;
String finalOriDeviceId = oriDeviceId;
lambdaQueryWrapper.and(qw -> {
if (StringUtils.isNotBlank(platElderIdDTO.getElderId())) {
lambdaQueryWrapper.eq(PlatElderBreatheDayStat::getElderId, platElderIdDTO.getElderId());
}
if (StringUtils.isNotBlank(finalDeviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getDeviceId, finalDeviceId);
}
if (StringUtils.isNotBlank(finalOriDeviceId)) {
lambdaQueryWrapper.or().eq(PlatElderBreatheDayStat::getOriDeviceId, finalOriDeviceId);
}
});
lambdaQueryWrapper.orderByAsc(PlatElderBreatheDayStat::getDay);
......
......@@ -20,7 +20,7 @@ public class PlatElderSleepDiagramWeekContentVO {
@ApiModelProperty(value = "浅度睡眠时长")
private Integer sleepLightnessDuration;
@ApiModelProperty(value = "情形时长")
@ApiModelProperty(value = "清醒时长")
private Integer soberDuration;
@ApiModelProperty(value = "翻身次数")
......
......@@ -3,13 +3,15 @@ package com.makeit.vo.platform.elder.report.week;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class PlatElderSleepDiagramWeekVO {
@ApiModelProperty("睡眠")
private PlatElderSleepDiagramWeekContentVO sleep;
private List<PlatElderSleepDiagramWeekContentVO> sleep;
@ApiModelProperty("体动")
private PlatElderSleepDiagramWeekContentVO rest;
private List<PlatElderSleepDiagramWeekContentVO> rest;
}
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