Commit 1056a0cd by huangjy

feat,模型

parent b5d8c95f
...@@ -293,13 +293,13 @@ CREATE TABLE `plat_elder_sleep` ...@@ -293,13 +293,13 @@ CREATE TABLE `plat_elder_sleep`
`elder_id` VARCHAR(64) NOT NULL COMMENT '长者id', `elder_id` VARCHAR(64) NOT NULL COMMENT '长者id',
`start_sleep` datetime DEFAULT NULL COMMENT '入睡时间', `start_sleep` datetime DEFAULT NULL COMMENT '入睡时间',
`end_sleep` datetime DEFAULT NULL COMMENT '起床时间', `end_sleep` datetime DEFAULT NULL COMMENT '起床时间',
`current_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd', `happen_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`sleep_record` text DEFAULT NULL COMMENT '睡眠记录 区分时间段记录 [{"sleepType":"","startTime":"","endTime":""},{}]', `sleep_record` text DEFAULT NULL COMMENT '睡眠记录 区分时间段记录 [{"sleepType":"","startTime":"","endTime":""},{}]',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识', `del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识',
`create_by` VARCHAR(64) NOT NULL COMMENT '创建人', `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
`update_by` VARCHAR(64) NOT NULL COMMENT '更新人', `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id', `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -316,12 +316,12 @@ CREATE TABLE `plat_elder_sleep_analysis` ...@@ -316,12 +316,12 @@ CREATE TABLE `plat_elder_sleep_analysis`
`sleep_time` VARCHAR(64) DEFAULT NULL COMMENT '睡眠时长', `sleep_time` VARCHAR(64) DEFAULT NULL COMMENT '睡眠时长',
`rest_time` VARCHAR(64) DEFAULT NULL COMMENT '休息时长', `rest_time` VARCHAR(64) DEFAULT NULL COMMENT '休息时长',
`sleep_evaluate` VARCHAR(64) DEFAULT NULL COMMENT '评价', `sleep_evaluate` VARCHAR(64) DEFAULT NULL COMMENT '评价',
`current_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd', `happen_date` VARCHAR(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识', `del_flag` CHAR(1) DEFAULT NULL COMMENT '删除标识',
`create_by` VARCHAR(64) NOT NULL COMMENT '创建人', `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人',
`update_by` VARCHAR(64) NOT NULL COMMENT '更新人', `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id', `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -336,11 +336,11 @@ CREATE TABLE `plat_elder_breathe_abnormal` ( ...@@ -336,11 +336,11 @@ CREATE TABLE `plat_elder_breathe_abnormal` (
`happen_time` datetime NOT NULL COMMENT '发生时间', `happen_time` datetime NOT NULL COMMENT '发生时间',
`type` varchar(32) DEFAULT NULL COMMENT '异常类型', `type` varchar(32) DEFAULT NULL COMMENT '异常类型',
`value` varchar(64) DEFAULT NULL COMMENT '值', `value` varchar(64) DEFAULT NULL COMMENT '值',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标识', `del_flag` char(1) DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(64) NOT NULL COMMENT '创建人', `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人', `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id', `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
...@@ -354,12 +354,12 @@ CREATE TABLE `plat_elder_breathe_analysis` ( ...@@ -354,12 +354,12 @@ CREATE TABLE `plat_elder_breathe_analysis` (
`breathe_evaluate` varchar(64) DEFAULT NULL COMMENT '评价', `breathe_evaluate` varchar(64) DEFAULT NULL COMMENT '评价',
`avg_heart_rate` varchar(64) DEFAULT NULL COMMENT '平均心率', `avg_heart_rate` varchar(64) DEFAULT NULL COMMENT '平均心率',
`avg_breathe_rate` varchar(64) DEFAULT NULL COMMENT '平均呼吸率', `avg_breathe_rate` varchar(64) DEFAULT NULL COMMENT '平均呼吸率',
`current_date` varchar(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd', `happen_date` varchar(64) DEFAULT NULL COMMENT '当前日期 yyyy-mm-dd',
`create_date` datetime NOT NULL COMMENT '创建时间', `create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_date` datetime NOT NULL COMMENT '更新时间', `update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) DEFAULT NULL COMMENT '删除标识', `del_flag` char(1) DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(64) NOT NULL COMMENT '创建人', `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`update_by` varchar(64) NOT NULL COMMENT '更新人', `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
`tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id', `tenant_id` varchar(64) DEFAULT NULL COMMENT '租户id',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `index_elder_id` (`elder_id`) USING BTREE KEY `index_elder_id` (`elder_id`) USING BTREE
......
...@@ -5,7 +5,10 @@ import lombok.Data; ...@@ -5,7 +5,10 @@ import lombok.Data;
@Data @Data
public class AnalysisVO { public class AnalysisVO {
private Integer br; private Integer totalHr;
private Integer avgHr;
private Integer totalBr;
private Integer avgBr;
private Integer actionCount = 0; // 体动次数 private Integer actionCount = 0; // 体动次数
private Integer turnedCount = 0; // 翻身次数 private Integer turnedCount = 0; // 翻身次数
...@@ -19,12 +22,27 @@ public class AnalysisVO { ...@@ -19,12 +22,27 @@ public class AnalysisVO {
private Boolean awakeMinuteActionFlag; // 清醒每分钟体动是否满足要求 private Boolean awakeMinuteActionFlag; // 清醒每分钟体动是否满足要求
private int brStopThreshold; // 每分钟呼吸阈值 private int brStopThreshold; // 发生次数阈值
private int brFastThreshold; // 每分钟呼吸阈值 private int brStop; // 当前呼吸率
private int brSlowThreshold; // 每分钟呼吸阈值 private String brStopTime; // 发生时间
private int hrFastThreshold; // 每分钟心率阈值 private int brFastThreshold; // 发生次数阈值
private int hrSlowThreshold; // 每分钟心率阈值 private int brFast; // 当前呼吸率
private String brFastTime; // 发生时间
private int brSlowThreshold; // 发生次数阈值
private int brSlow; // 当前呼吸率
private String brSlowTime; // 发生时间
private int hrFastThreshold; // 发生次数阈值
private int hrFast; // 当前心率
private String hrFastTime; // 发生时间
private int hrSlowThreshold; // 发生次数阈值
private int hrSlow; // 当前心率
private String hrSlowTime; // 发生时间
......
package com.makeit.module.iot.vo.analysis;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class BreatheAbnormalVO {
@ApiModelProperty(value = "发生时间")
private LocalDateTime happenTime;
@ApiModelProperty(value = "异常类型")
private String type;
@ApiModelProperty(value = "值")
private String value;
}
...@@ -24,10 +24,10 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity { ...@@ -24,10 +24,10 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty(value = "长者id") @ApiModelProperty(value = "长者id")
private String elderId; private String elderId;
@ApiModelProperty(value = "睡眠评分") @ApiModelProperty(value = "呼吸评分")
private String breatheScore; private String breatheScore;
@ApiModelProperty(value = "睡眠结果") @ApiModelProperty(value = "呼吸结果")
private String breatheResult; private String breatheResult;
@ApiModelProperty(value = "评价") @ApiModelProperty(value = "评价")
...@@ -40,7 +40,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity { ...@@ -40,7 +40,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
private String avgBreatheRate; private String avgBreatheRate;
@ApiModelProperty(value = "当前日期 yyyy-mm-dd") @ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String currentDate; private String happenDate;
} }
...@@ -2,7 +2,6 @@ package com.makeit.entity.platform.elder; ...@@ -2,7 +2,6 @@ package com.makeit.entity.platform.elder;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.makeit.common.entity.BaseBusEntity; import com.makeit.common.entity.BaseBusEntity;
import com.makeit.common.typehandler.ListStringJsonTypeHandler;
import com.makeit.typehandler.ElderListStringJsonTypeHandler; import com.makeit.typehandler.ElderListStringJsonTypeHandler;
import com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO; import com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -38,7 +37,7 @@ public class PlatElderSleep extends BaseBusEntity { ...@@ -38,7 +37,7 @@ public class PlatElderSleep extends BaseBusEntity {
private LocalDateTime endSleep; private LocalDateTime endSleep;
@ApiModelProperty(value = "当前日期 yyyy-mm-dd") @ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String currentDate; private String happenDate;
@ApiModelProperty(value = "睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]") @ApiModelProperty(value = "睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]")
@TableField(typeHandler = ElderListStringJsonTypeHandler.class) @TableField(typeHandler = ElderListStringJsonTypeHandler.class)
......
...@@ -40,7 +40,7 @@ public class PlatElderSleepAnalysis extends BaseBusEntity { ...@@ -40,7 +40,7 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
private String sleepEvaluate; private String sleepEvaluate;
@ApiModelProperty(value = "当前日期 yyyy-mm-dd") @ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String currentDate; private String happenDate;
} }
...@@ -9,7 +9,7 @@ public enum BreatheTypeEnum { ...@@ -9,7 +9,7 @@ public enum BreatheTypeEnum {
APNEA("apnea","呼吸暂停"), APNEA("apnea","呼吸暂停"),
TACHYPNEA("tachypnea","呼吸暂停"), TACHYPNEA("tachypnea","呼吸过速"),
BRADYPNEA("bradypnea","呼吸过缓"); BRADYPNEA("bradypnea","呼吸过缓");
private String code; private String code;
......
...@@ -88,7 +88,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -88,7 +88,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
PlatElderSleepAnalysis platElderSleepAnalysis = platElderSleepAnalysisService.getOne(new QueryWrapper<PlatElderSleepAnalysis>().lambda() PlatElderSleepAnalysis platElderSleepAnalysis = platElderSleepAnalysisService.getOne(new QueryWrapper<PlatElderSleepAnalysis>().lambda()
.eq(PlatElderSleepAnalysis::getElderId, platElderIdDTO.getElderId()) .eq(PlatElderSleepAnalysis::getElderId, platElderIdDTO.getElderId())
.eq(PlatElderSleepAnalysis::getCurrentDate, nowString) .eq(PlatElderSleepAnalysis::getHappenDate, nowString)
); );
if (platElderSleepAnalysis == null) { if (platElderSleepAnalysis == null) {
...@@ -118,7 +118,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -118,7 +118,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List<PlatElderSleep> sleepList = platElderSleepService.list(new QueryWrapper<PlatElderSleep>().lambda() List<PlatElderSleep> sleepList = platElderSleepService.list(new QueryWrapper<PlatElderSleep>().lambda()
.eq(PlatElderSleep::getElderId, platElderIdDTO.getElderId()) .eq(PlatElderSleep::getElderId, platElderIdDTO.getElderId())
.eq(PlatElderSleep::getCurrentDate, nowString) .eq(PlatElderSleep::getHappenDate, nowString)
.orderByAsc(PlatElderSleep::getStartSleep) .orderByAsc(PlatElderSleep::getStartSleep)
); );
...@@ -159,7 +159,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -159,7 +159,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
PlatElderBreatheAnalysis platElderSleepAnalysis = platElderBreatheAnalysisService.getOne(new QueryWrapper<PlatElderBreatheAnalysis>().lambda() PlatElderBreatheAnalysis platElderSleepAnalysis = platElderBreatheAnalysisService.getOne(new QueryWrapper<PlatElderBreatheAnalysis>().lambda()
.eq(PlatElderBreatheAnalysis::getElderId, platElderIdDTO.getElderId()) .eq(PlatElderBreatheAnalysis::getElderId, platElderIdDTO.getElderId())
.eq(PlatElderBreatheAnalysis::getCurrentDate, nowString) .eq(PlatElderBreatheAnalysis::getHappenDate, nowString)
); );
if (platElderSleepAnalysis == null) { if (platElderSleepAnalysis == null) {
......
package com.makeit.service.saas.impl; package com.makeit.service.saas.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.entity.BaseEntity;
import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO; import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import com.makeit.entity.saas.analysis.SaasDiseaseReport; import com.makeit.entity.saas.analysis.SaasDiseaseReport;
import com.makeit.mapper.saas.analysis.SaasDiseaseReportMapper; import com.makeit.mapper.saas.analysis.SaasDiseaseReportMapper;
...@@ -10,6 +12,8 @@ import com.makeit.service.saas.SaasDiseaseReportService; ...@@ -10,6 +12,8 @@ import com.makeit.service.saas.SaasDiseaseReportService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportMapper, SaasDiseaseReport> implements SaasDiseaseReportService { public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportMapper, SaasDiseaseReport> implements SaasDiseaseReportService {
...@@ -36,6 +40,20 @@ public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportM ...@@ -36,6 +40,20 @@ public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportM
@Override @Override
public EvaluateReportVO getByScore(long totalScore) { public EvaluateReportVO getByScore(long totalScore) {
return null; SaasDiseaseReport diseaseReport = getOne(new QueryWrapper<SaasDiseaseReport>().lambda()
.orderByDesc(BaseEntity::getCreateBy)
.last("limit 1"));
String diseaseReportResultContent = diseaseReport.getResultContent();
List<EvaluateReportVO> diseaseReportResultList = JSON.parseArray(diseaseReportResultContent, EvaluateReportVO.class);
EvaluateReportVO elderReport = null;
for (EvaluateReportVO evaluateReportVO : diseaseReportResultList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("-");
long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) {
elderReport = evaluateReportVO;
}
}
return elderReport;
} }
} }
...@@ -55,7 +55,7 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor ...@@ -55,7 +55,7 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
List<EvaluateReportVO> elderEvaluateReportList = JSON.parseArray(elderReportConfig.getResultContent(), EvaluateReportVO.class); List<EvaluateReportVO> elderEvaluateReportList = JSON.parseArray(elderReportConfig.getResultContent(), EvaluateReportVO.class);
EvaluateReportVO elderReport = null; EvaluateReportVO elderReport = null;
for (EvaluateReportVO evaluateReportVO : elderEvaluateReportList) { for (EvaluateReportVO evaluateReportVO : elderEvaluateReportList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("~"); String[] scoreRange = evaluateReportVO.getScoreRange().split("-");
long scoreRangeStart = Long.parseLong(scoreRange[0]); long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]); long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) { if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) {
......
...@@ -58,7 +58,7 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva ...@@ -58,7 +58,7 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
// 根据睡眠报告结果配置得出最后的睡眠评分 // 根据睡眠报告结果配置得出最后的睡眠评分
EvaluateReportVO finalReport = new EvaluateReportVO(); EvaluateReportVO finalReport = new EvaluateReportVO();
for (EvaluateReportVO evaluateReportVO : evaluateReportList) { for (EvaluateReportVO evaluateReportVO : evaluateReportList) {
String[] scoreRange = evaluateReportVO.getScoreRange().split("~"); String[] scoreRange = evaluateReportVO.getScoreRange().split("-");
long scoreRangeStart = Long.parseLong(scoreRange[0]); long scoreRangeStart = Long.parseLong(scoreRange[0]);
long scoreRangeEnd = Long.parseLong(scoreRange[1]); long scoreRangeEnd = Long.parseLong(scoreRange[1]);
if (scoreRangeStart <= totalScore && scoreRangeEnd >= totalScore) { if (scoreRangeStart <= totalScore && scoreRangeEnd >= 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