Commit e95e9b55 by huangjy

Merge remote-tracking branch 'origin/dev' into dev

parents 9951dd1b d6862286
ALTER TABLE `plat_device_other` ALTER TABLE `plat_device_other`
...@@ -91,3 +91,21 @@ ALTER TABLE `plat_alarm_record` ...@@ -91,3 +91,21 @@ ALTER TABLE `plat_alarm_record`
ALTER TABLE `plat_tenant` ALTER TABLE `plat_tenant`
ADD COLUMN `open_api_url` varchar(128) COMMENT '第三方接口url' AFTER `secret`; ADD COLUMN `open_api_url` varchar(128) COMMENT '第三方接口url' AFTER `secret`;
CREATE TABLE `plat_elder_breathe_heart_rate_record` (
`id` varchar(64) NOT NULL COMMENT 'id',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_date` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_date` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` char(1) NOT NULL COMMENT ' 删除标志 0否 1是 ',
`tenant_id` varchar(64) DEFAULT NULL COMMENT ' 租户id ',
`elder_id` varchar(64) DEFAULT NULL COMMENT '长者id',
`report_time` bigint(20) DEFAULT NULL COMMENT '上报时间',
`heart_rate` int(11) DEFAULT NULL COMMENT '心率',
`respiratory_rate` int(11) DEFAULT NULL COMMENT '呼吸率',
`body_move` int(11) DEFAULT NULL COMMENT '体动值',
`device_id` varchar(255) DEFAULT NULL COMMENT '设备id',
`iot_device_id` varchar(64) DEFAULT NULL COMMENT 'iot设备id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='长者呼吸心率记录';
\ No newline at end of file
...@@ -45,6 +45,8 @@ public class PlatElderSleepController { ...@@ -45,6 +45,8 @@ public class PlatElderSleepController {
@Autowired @Autowired
private PlatElderCoordinateRecordService platElderCoordinateRecordService; private PlatElderCoordinateRecordService platElderCoordinateRecordService;
@Autowired @Autowired
private PlatElderBreatheHeartRateRecordService platElderBreatheHeartRateRecordService;
@Autowired
private HuiNengService huiNengService; private HuiNengService huiNengService;
...@@ -90,6 +92,15 @@ public class PlatElderSleepController { ...@@ -90,6 +92,15 @@ public class PlatElderSleepController {
return ApiResponseUtils.success(); return ApiResponseUtils.success();
} }
@ApiOperation("测试")
@PostMapping("test6")
@AuthIgnore
@TenantIdIgnore
public ApiResponseEntity<Void> breatheHeartRateRecordTask() {
platElderBreatheHeartRateRecordService.breatheHeartRateRecordTask();
return ApiResponseUtils.success();
}
@ApiOperation("编辑设备属性") @ApiOperation("编辑设备属性")
@PostMapping("editDeviceProperties") @PostMapping("editDeviceProperties")
@AuthIgnore @AuthIgnore
......
package com.makeit.entity.platform.elder;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "PlatElderBreatheHeartRateRecord对象", description = "长者呼吸心率记录")
public class PlatElderBreatheHeartRateRecord extends BaseBusEntity {
@ApiModelProperty(value = "长者id")
private String elderId;
@ApiModelProperty(value = "上报时间")
private Long reportTime;
@ApiModelProperty(value = "心率")
private Integer heartRate;
@ApiModelProperty(value = "呼吸率")
private Integer respiratoryRate;
@ApiModelProperty(value = "体动值")
private Integer bodyMove;
@ApiModelProperty(value = "设备Id")
private String deviceId;
@ApiModelProperty(value = "设备Id")
private String iotDeviceId;
}
...@@ -47,12 +47,5 @@ public class PlatElderSleepAnalysis extends BaseBusEntity { ...@@ -47,12 +47,5 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
@ApiModelProperty(value = "翻身次数") @ApiModelProperty(value = "翻身次数")
private Integer turnedCount; private Integer turnedCount;
// @TableField(exist = false)
// private String remark;
//
// @ApiModelProperty(value = "睡眠评分")
// @TableField(exist = false)
// private String oldSleepScore;
} }
package com.makeit.mapper.platform.elder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.makeit.entity.platform.elder.PlatElderBreatheHeartRateRecord;
public interface PlatElderBreatheHeartRateRecordMapper extends BaseMapper<PlatElderBreatheHeartRateRecord> {
}
package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderBreatheHeartRateRecord;
import java.util.List;
public interface PlatElderBreatheHeartRateRecordService extends IService<PlatElderBreatheHeartRateRecord> {
void breatheHeartRateRecordTask();
List<PlatElderBreatheHeartRateRecord> list(String elderId, long start, long end);
}
...@@ -14,4 +14,5 @@ import com.makeit.entity.platform.elder.PlatElderCoordinateRecord; ...@@ -14,4 +14,5 @@ import com.makeit.entity.platform.elder.PlatElderCoordinateRecord;
public interface PlatElderCoordinateRecordService extends IService<PlatElderCoordinateRecord> { public interface PlatElderCoordinateRecordService extends IService<PlatElderCoordinateRecord> {
void coordinateRecordTask(); void coordinateRecordTask();
} }
...@@ -3,6 +3,7 @@ package com.makeit.service.platform.elder; ...@@ -3,6 +3,7 @@ package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderSleep; import com.makeit.entity.platform.elder.PlatElderSleep;
import com.makeit.entity.platform.elder.PlatElderSleepAnalysis; import com.makeit.entity.platform.elder.PlatElderSleepAnalysis;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport;
import java.util.List; import java.util.List;
...@@ -19,4 +20,7 @@ public interface PlatElderSleepService extends IService<PlatElderSleep> { ...@@ -19,4 +20,7 @@ public interface PlatElderSleepService extends IService<PlatElderSleep> {
List<PlatElderSleepAnalysis> elderSleepSleepAnalysisTask(Integer month, Integer day); List<PlatElderSleepAnalysis> elderSleepSleepAnalysisTask(Integer month, Integer day);
void test1(); void test1();
String calculateScores(long daySleepTime, long dayRestTime, long deepTime, long soberTime, long lightTime,
SaasSleepEvaluateStandardReport evaluateStandardReport);
} }
package com.makeit.service.platform.elder.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.PlatElder;
import com.makeit.entity.platform.elder.PlatElderBreatheHeartRateRecord;
import com.makeit.mapper.platform.elder.PlatElderBreatheHeartRateRecordMapper;
import com.makeit.module.iot.service.IotProductDeviceService;
import com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe;
import com.makeit.service.platform.elder.PlatElderBreatheHeartRateRecordService;
import com.makeit.service.platform.elder.PlatElderRealTimeService;
import com.makeit.service.platform.elder.PlatElderService;
import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.time.LocalDateTimeUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class PlatElderBreatheHeartRateRecordServiceImpl extends ServiceImpl<PlatElderBreatheHeartRateRecordMapper, PlatElderBreatheHeartRateRecord> implements PlatElderBreatheHeartRateRecordService {
@Autowired
private PlatElderService platElderService;
@Autowired
private PlatElderRealTimeService platElderRealTimeService;
@Autowired
private IotProductDeviceService iotProductDeviceService;
@Override
public void breatheHeartRateRecordTask() {
LocalDate nowDate = LocalDate.now();
LocalDate yesDate = nowDate.minusDays(1);
LocalDateTime start = LocalDateTimeUtils.getDayStart(yesDate);
LocalDateTime end = LocalDateTimeUtils.getDayEnd(yesDate);
List<PlatElder> elderList = platElderService.list(new QueryWrapper<PlatElder>().lambda()
.isNotNull(PlatElder::getBedId));
if (CollectionUtils.isEmpty(elderList)) {
return;
}
List<PlatElderBreatheHeartRateRecord> list = Lists.newArrayList();
for (PlatElder e : elderList) {
PlatDevice platDevice = platElderRealTimeService.getBreathDevice(e.getId(), null);
if (platDevice == null) {
continue;
}
List<DeviceInfoContentBreathe> breatheList = iotProductDeviceService.getDeviceLogByTimeRangeBreathe(platDevice.getOriDeviceId(), 2 * 24 * 3600, start, end);
List<PlatElderBreatheHeartRateRecord> data = StreamUtil.map(breatheList, b -> {
PlatElderBreatheHeartRateRecord record = new PlatElderBreatheHeartRateRecord();
record.setElderId(e.getId());
record.setReportTime(b.getTimestamp());
record.setHeartRate(b.getProperties().getHr());
record.setRespiratoryRate(b.getProperties().getBr());
record.setBodyMove(b.getProperties().getBodymove());
record.setDeviceId(platDevice.getId());
record.setIotDeviceId(platDevice.getOriDeviceId());
record.setTenantId(e.getTenantId());
return record;
});
list.addAll(data);
}
saveBatch(list);
}
@Override
public List<PlatElderBreatheHeartRateRecord> list(String elderId, long start, long end) {
LambdaQueryWrapper<PlatElderBreatheHeartRateRecord> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatElderBreatheHeartRateRecord::getElderId, elderId);
queryWrapper.ge(PlatElderBreatheHeartRateRecord::getReportTime, start);
queryWrapper.le(PlatElderBreatheHeartRateRecord::getReportTime, end);
return list(queryWrapper);
}
}
...@@ -4,22 +4,24 @@ import com.alibaba.fastjson.JSON; ...@@ -4,22 +4,24 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.makeit.common.entity.BaseEntity;
import com.makeit.dto.platform.elder.PlatElderReportDTO; import com.makeit.dto.platform.elder.PlatElderReportDTO;
import com.makeit.entity.platform.alarm.PlatAlarmRecord; import com.makeit.entity.platform.alarm.PlatAlarmRecord;
import com.makeit.entity.platform.alarm.PlatDayDurationRecord; import com.makeit.entity.platform.alarm.PlatDayDurationRecord;
import com.makeit.entity.platform.device.PlatDevice; import com.makeit.entity.platform.device.PlatDevice;
import com.makeit.entity.platform.elder.*; import com.makeit.entity.platform.elder.*;
import com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport;
import com.makeit.enums.CommonEnum; import com.makeit.enums.CommonEnum;
import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum; import com.makeit.enums.platform.alarm.PlatAlarmConfigEnum;
import com.makeit.module.iot.service.IotProductDeviceService; import com.makeit.module.iot.service.IotProductDeviceService;
import com.makeit.module.iot.vo.analysis.EvaluateReportVO; import com.makeit.module.iot.vo.analysis.EvaluateReportVO;
import com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe;
import com.makeit.module.iot.vo.fall.DeviceInfoContentFall; import com.makeit.module.iot.vo.fall.DeviceInfoContentFall;
import com.makeit.module.iot.vo.space.DeviceInfoContentSpace; import com.makeit.module.iot.vo.space.DeviceInfoContentSpace;
import com.makeit.service.platform.alarm.PlatAlarmRecordService; import com.makeit.service.platform.alarm.PlatAlarmRecordService;
import com.makeit.service.platform.alarm.PlatDayDurationRecordService; import com.makeit.service.platform.alarm.PlatDayDurationRecordService;
import com.makeit.service.platform.elder.*; import com.makeit.service.platform.elder.*;
import com.makeit.service.saas.SaasSleepEvaluateReportService; import com.makeit.service.saas.SaasSleepEvaluateReportService;
import com.makeit.service.saas.SaasSleepEvaluateStandardReportService;
import com.makeit.utils.LongTimestampUtil; import com.makeit.utils.LongTimestampUtil;
import com.makeit.utils.data.convert.MathUtil; import com.makeit.utils.data.convert.MathUtil;
import com.makeit.utils.data.convert.StreamUtil; import com.makeit.utils.data.convert.StreamUtil;
...@@ -70,6 +72,10 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -70,6 +72,10 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
private SaasSleepEvaluateReportService sleepEvaluateReportService; private SaasSleepEvaluateReportService sleepEvaluateReportService;
@Autowired @Autowired
private PlatElderCoordinateRecordService platElderCoordinateRecordService; private PlatElderCoordinateRecordService platElderCoordinateRecordService;
@Autowired
private PlatElderBreatheHeartRateRecordService platElderBreatheHeartRateRecordService;
@Autowired
private SaasSleepEvaluateStandardReportService saasSleepEvaluateStandardReportService;
private static LocalDateTime dayStartNow(LocalDate now) { private static LocalDateTime dayStartNow(LocalDate now) {
return LocalDateTimeUtils.getDayStart(now); return LocalDateTimeUtils.getDayStart(now);
...@@ -116,7 +122,12 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -116,7 +122,12 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
if (platElderSleepAnalysis == null) { if (platElderSleepAnalysis == null) {
return platElderSleepEvaluationVO; return platElderSleepEvaluationVO;
} }
String sleepScore = platElderSleepAnalysis.getSleepScore(); SaasSleepEvaluateStandardReport evaluateStandardReport = saasSleepEvaluateStandardReportService.getOne(
new QueryWrapper<SaasSleepEvaluateStandardReport>().lambda().orderByDesc(BaseEntity::getCreateDate)
.last("limit 1"));
// String sleepScore = platElderSleepAnalysis.getSleepScore();
String sleepScore = platElderSleepService.calculateScores(Long.parseLong(platElderSleepAnalysis.getSleepTime()),
Long.parseLong(platElderSleepAnalysis.getRestTime()), 0, 0, 0, evaluateStandardReport);
EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(Long.parseLong(sleepScore)); EvaluateReportVO evaluateReport = sleepEvaluateReportService.getByScore(Long.parseLong(sleepScore));
...@@ -268,25 +279,20 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe ...@@ -268,25 +279,20 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
@Override @Override
public List<PlatElderRealTimeHeartRespiratoryVO> heartRespiratory(PlatElderReportDTO platElderIdDTO) { public List<PlatElderRealTimeHeartRespiratoryVO> heartRespiratory(PlatElderReportDTO platElderIdDTO) {
PlatDevice platDevice = platElderRealTimeService.getBreathDevice(platElderIdDTO.getElderId(), platElderIdDTO.getDeviceId());
if (platDevice == null) {
return new ArrayList<>(10);
}
LocalDate now = Optional.ofNullable(platElderIdDTO.getNow()).orElse(LocalDate.now()); LocalDate now = Optional.ofNullable(platElderIdDTO.getNow()).orElse(LocalDate.now());
LocalDateTime start = dayStartNow(now); LocalDateTime start = dayStartNow(now);
LocalDateTime end = dayEndNow(now); LocalDateTime end = dayEndNow(now);
long reportTimeStart = LocalDateTimeUtils.getMilliSecond(start);
long reportTimeEnd = LocalDateTimeUtils.getMilliSecond(end);
List<DeviceInfoContentBreathe> breatheList = iotProductDeviceService.getDeviceLogByTimeRangeBreathe(platDevice.getOriDeviceId(), 2 * 24 * 3600, start, end); List<PlatElderBreatheHeartRateRecord> list = platElderBreatheHeartRateRecordService.list(platElderIdDTO.getElderId(), reportTimeStart, reportTimeEnd);
return StreamUtil.map(list, e -> {
return StreamUtil.map(breatheList, e -> {
PlatElderRealTimeHeartRespiratoryVO vo = new PlatElderRealTimeHeartRespiratoryVO(); PlatElderRealTimeHeartRespiratoryVO vo = new PlatElderRealTimeHeartRespiratoryVO();
vo.setTime(LongTimestampUtil.toLocalDateTime(e.getTimestamp())); vo.setTime(LongTimestampUtil.toLocalDateTime(e.getReportTime()));
vo.setHeartRate(e.getProperties().getHr()); vo.setHeartRate(e.getHeartRate());
vo.setRespiratoryRate(e.getProperties().getBr()); vo.setRespiratoryRate(e.getRespiratoryRate());
return vo; return vo;
}); });
......
...@@ -553,7 +553,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -553,7 +553,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
} }
SaasSleepEvaluateStandardReport evaluateStandardReport = saasSleepEvaluateStandardReportService.getOne(new QueryWrapper<SaasSleepEvaluateStandardReport>().lambda() SaasSleepEvaluateStandardReport evaluateStandardReport = saasSleepEvaluateStandardReportService.getOne(new QueryWrapper<SaasSleepEvaluateStandardReport>().lambda()
.orderByDesc(BaseEntity::getCreateBy) .orderByDesc(BaseEntity::getCreateDate)
.last("limit 1")); .last("limit 1"));
// 算出每一段睡觉的不同睡眠类型的时间段 // 算出每一段睡觉的不同睡眠类型的时间段
...@@ -715,22 +715,20 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper, ...@@ -715,22 +715,20 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepAnalysis.setActionCount(totalActionCount); elderSleepAnalysis.setActionCount(totalActionCount);
elderSleepAnalysis.setTurnedCount(totalTurnedCount); elderSleepAnalysis.setTurnedCount(totalTurnedCount);
elderSleepAnalysis.setHappenDate(currentDate); elderSleepAnalysis.setHappenDate(currentDate);
// elderSleepAnalysis.setOldSleepScore(String.valueOf(totalScore));
elderSleepAnalysis.setSleepScore(score); elderSleepAnalysis.setSleepScore(score);
elderSleepAnalysis.setSleepTime(String.valueOf(daySleepTime)); elderSleepAnalysis.setSleepTime(String.valueOf(daySleepTime));
elderSleepAnalysis.setRestTime(String.valueOf(dayRestTime)); elderSleepAnalysis.setRestTime(String.valueOf(dayRestTime));
elderSleepAnalysis.setSleepResult(sleepReport.getResult()); elderSleepAnalysis.setSleepResult(sleepReport.getResult());
elderSleepAnalysis.setTenantId(tenantId); elderSleepAnalysis.setTenantId(tenantId);
elderSleepAnalysis.setSleepEvaluate(sleepReport.getEvaluate()); elderSleepAnalysis.setSleepEvaluate(sleepReport.getEvaluate());
// elderSleepAnalysis.setRemark(String.format("sleepScore:%s + deepScore:%s + lightScore:%s - soberScore:%s"
// , sleepScore, deepScore, lightScore, soberScore));
result.add(elderSleepAnalysis); result.add(elderSleepAnalysis);
platElderSleepAnalysisService.save(elderSleepAnalysis); platElderSleepAnalysisService.save(elderSleepAnalysis);
} }
return result; return result;
} }
private String calculateScores(long daySleepTime, long dayRestTime, long deepTime, long soberTime, long lightTime, @Override
public String calculateScores(long daySleepTime, long dayRestTime, long deepTime, long soberTime, long lightTime,
SaasSleepEvaluateStandardReport evaluateStandardReport) { SaasSleepEvaluateStandardReport evaluateStandardReport) {
List<SleepConfigVO> sleepDeepConfigList = JSON.parseArray(evaluateStandardReport.getSleepDeepConfig(), SleepConfigVO.class); List<SleepConfigVO> sleepDeepConfigList = JSON.parseArray(evaluateStandardReport.getSleepDeepConfig(), SleepConfigVO.class);
List<SleepConfigVO> soberConfigList = JSON.parseArray(evaluateStandardReport.getSoberConfig(), SleepConfigVO.class); List<SleepConfigVO> soberConfigList = JSON.parseArray(evaluateStandardReport.getSoberConfig(), SleepConfigVO.class);
......
...@@ -51,6 +51,7 @@ public class PlatRegionSettingFixServiceImpl extends ServiceImpl<PlatRegionSetti ...@@ -51,6 +51,7 @@ public class PlatRegionSettingFixServiceImpl extends ServiceImpl<PlatRegionSetti
queryWrapper.ge(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getStartTime())); queryWrapper.ge(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getStartTime()));
queryWrapper.le(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getEndTime())); queryWrapper.le(PlatRegionSettingFix::getHappenDate, dateTimeFormatter.format(dto.getEndTime()));
} }
queryWrapper.orderByDesc(PlatRegionSettingFix::getCreateDate);
List<PlatRegionSettingFix> list = this.list(queryWrapper); List<PlatRegionSettingFix> list = this.list(queryWrapper);
list = list.stream().filter(distinctByKey(PlatRegionSettingFix::getDeviceId)).collect(Collectors.toList()); list = list.stream().filter(distinctByKey(PlatRegionSettingFix::getDeviceId)).collect(Collectors.toList());
List<String> deviceIds = list.stream().map(PlatRegionSettingFix::getDeviceId).collect(Collectors.toList()); List<String> deviceIds = list.stream().map(PlatRegionSettingFix::getDeviceId).collect(Collectors.toList());
......
package com.makeit.task; package com.makeit.task;
import com.makeit.global.aspect.tenant.TenantIdIgnore; import com.makeit.global.aspect.tenant.TenantIdIgnore;
import com.makeit.service.platform.elder.PlatElderBreatheAnalysisService; import com.makeit.service.platform.elder.*;
import com.makeit.service.platform.elder.PlatElderBreatheDayStatService;
import com.makeit.service.platform.elder.PlatElderCoordinateRecordService;
import com.makeit.service.platform.elder.PlatElderSleepService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
...@@ -24,6 +21,8 @@ public class PlatElderReportTask { ...@@ -24,6 +21,8 @@ public class PlatElderReportTask {
private PlatElderBreatheAnalysisService platElderBreatheAnalysisService; private PlatElderBreatheAnalysisService platElderBreatheAnalysisService;
@Autowired @Autowired
private PlatElderCoordinateRecordService platElderCoordinateRecordService; private PlatElderCoordinateRecordService platElderCoordinateRecordService;
@Autowired
private PlatElderBreatheHeartRateRecordService platElderBreatheHeartRateRecordService;
...@@ -56,6 +55,17 @@ public class PlatElderReportTask { ...@@ -56,6 +55,17 @@ public class PlatElderReportTask {
} }
/** /**
* 生成长者呼吸心率
*/
@Scheduled(cron = "0 30 2 * * ?")
@TenantIdIgnore
public void breatheHeartRateRecordTask() {
log.info("开始生成长者呼吸心率");
platElderBreatheHeartRateRecordService.breatheHeartRateRecordTask();
log.info("生成长者呼吸心率结束");
}
/**
* 长者睡眠分析 * 长者睡眠分析
*/ */
@Scheduled(cron = "0 0 8 * * ?") @Scheduled(cron = "0 0 8 * * ?")
......
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