Commit 0f7be56b by 汪志阳

fix:bug修复

parent ef54568b
......@@ -12,10 +12,13 @@ public class DiseaseReportVO {
private String score;
private String evaluate;
@Data
public static class Condition {
// 条件直接的关联关系、and or
private String resultRelational;
/**
* 0:正常 1:呼吸暂停 2:呼吸过速 3:呼吸过缓 4:心率过速 5:心率过缓
*/
private String resultCondition;
}
}
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.wechat.device.PlatDeviceAttrWechatDTO;
import com.makeit.entity.platform.elder.PlatElderBreatheAnalysis;
import com.makeit.external.huineng.HuiNengService;
import com.makeit.global.annotation.AuthIgnore;
import com.makeit.global.aspect.tenant.TenantIdIgnore;
......@@ -13,10 +14,9 @@ import com.makeit.service.platform.elder.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
......@@ -66,11 +66,11 @@ public class PlatElderSleepController {
}
@ApiOperation("测试")
@PostMapping("test3")
@GetMapping("test3")
@AuthIgnore
public ApiResponseEntity<Void> elderHeartRespiratoryAnalysisTask() {
platElderBreatheAnalysisService.elderHeartRespiratoryAnalysisTask();
return ApiResponseUtils.success();
public ApiResponseEntity<List<PlatElderBreatheAnalysis>> elderHeartRespiratoryAnalysisTask(@RequestParam Integer month,
@RequestParam Integer day) {
return ApiResponseUtils.success(platElderBreatheAnalysisService.elderHeartRespiratoryAnalysisTask(month, day));
}
@ApiOperation("测试")
......
......@@ -42,5 +42,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty(value = "当前日期 yyyy-mm-dd")
private String happenDate;
// @TableField(exist = false)
// private String remake;
}
package com.makeit.enums.report;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author wangzy
*/
@AllArgsConstructor
@Getter
public enum ConditionTypeEnum {
/**
* 0:正常 1:呼吸暂停 2:呼吸过速 3:呼吸过缓 4:心率过速 5:心率过缓
*/
NORMAL("0", "正常"),
BREATHE_STOP("1", "呼吸暂停"),
BREATHE_FAST("2", "呼吸过速"),
BREATHE_SLOW("3", "呼吸过缓"),
HEART_FAST("4", "心率过速"),
HEART_SLOW("5", "心率过缓");
private final String code;
private final String value;
}
......@@ -2,6 +2,7 @@ package com.makeit.service.platform.alarm.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
......@@ -247,7 +248,7 @@ public class PlatAlarmConfigServiceImpl extends ServiceImpl<PlatAlarmConfigMappe
Map<String, PlatAlarmConfig> configMap = StreamUtil.toMap(existList, PlatAlarmConfig::getOrgId);
List<PlatAlarmConfig> saveList = Lists.newArrayList();
for (PlatOrg o : orgList) {
if (configMap.containsKey(o.getId())) {
if (configMap.containsKey(o.getId()) || StrUtil.isBlank(o.getTenantId()) || "0".equals(o.getTenantId())) {
continue;
}
PlatAlarmConfig alarmConfig = new PlatAlarmConfig();
......
......@@ -3,6 +3,8 @@ package com.makeit.service.platform.elder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.entity.platform.elder.PlatElderBreatheAnalysis;
import java.util.List;
/**
* <p>
* 长者每天呼吸分析 服务类
......@@ -13,5 +15,5 @@ import com.makeit.entity.platform.elder.PlatElderBreatheAnalysis;
*/
public interface PlatElderBreatheAnalysisService extends IService<PlatElderBreatheAnalysis> {
void elderHeartRespiratoryAnalysisTask();
List<PlatElderBreatheAnalysis> elderHeartRespiratoryAnalysisTask(Integer month, Integer day);
}
package com.makeit.service.platform.elder.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
......@@ -15,8 +16,7 @@ import com.makeit.entity.platform.elder.PlatElderBreatheDayStat;
import com.makeit.entity.saas.analysis.SaasDiseaseEvaluateReport;
import com.makeit.entity.saas.analysis.SaasDiseaseModel;
import com.makeit.entity.saas.analysis.SaasSleepAnalysisModel;
import com.makeit.enums.report.BreatheTypeEnum;
import com.makeit.enums.report.HeartRateTypeEnum;
import com.makeit.enums.report.ConditionTypeEnum;
import com.makeit.mapper.platform.elder.PlatElderBreatheAnalysisMapper;
import com.makeit.module.iot.service.IotProductDeviceService;
import com.makeit.module.iot.vo.DeviceOperationLogEntity;
......@@ -38,6 +38,8 @@ import com.makeit.utils.data.convert.StreamUtil;
import com.makeit.utils.time.LocalDateTimeUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -46,6 +48,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
......@@ -62,6 +65,8 @@ import java.util.stream.Collectors;
@Service
public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBreatheAnalysisMapper, PlatElderBreatheAnalysis> implements PlatElderBreatheAnalysisService {
private static final Logger logger = LoggerFactory.getLogger(PlatElderBreatheAnalysisServiceImpl.class);
@Autowired
private PlatElderService platElderService;
@Autowired
......@@ -85,16 +90,19 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
@Override
@Transactional(rollbackFor = Exception.class)
public void elderHeartRespiratoryAnalysisTask() {
public List<PlatElderBreatheAnalysis> elderHeartRespiratoryAnalysisTask(Integer month,Integer day) {
// 12-06,12-18 12-07、 12-12(70分)
LocalDate nowDate = LocalDate.now();
// LocalDate nowDate = LocalDate.of(2023, month, day);
LocalDate yesDate = nowDate.minusDays(1);
LocalDateTime yesStart = LocalDateTimeUtils.getDayStart(yesDate);
LocalDateTime yesEnd = LocalDateTimeUtils.getDayEnd(yesDate);
List<PlatElder> elderList = platElderService.list(new QueryWrapper<PlatElder>().lambda()
.isNotNull(PlatElder::getBedId));
List<PlatElderBreatheAnalysis> result = new ArrayList<>();
if (CollectionUtils.isEmpty(elderList)) {
return;
return result;
}
List<String> elderIdList = StreamUtil.map(elderList, BaseEntity::getId);
......@@ -211,7 +219,7 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
}
// 判断呼吸率阈值,记录发生时间和当前呼吸率
if (breatheThresholdMax < br) {
if (breatheThresholdMax < br && br != 255) {
if (brFast == 0) {
brFast = br;
}
......@@ -238,7 +246,7 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
}
if (heartThresholdMax < hr) {
if (heartThresholdMax < hr && hr != 255) {
if (hrFast == 0) {
hrFast = br;
}
......@@ -387,7 +395,9 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
// 根据疾病标准配置的规则判断满足哪个区间范围
for (DiseaseReportVO diseaseReportVO : evaluateReportList) {
List<DiseaseReportVO.Condition> conditionList = diseaseReportVO.getCondition();
if (CollUtil.isEmpty(conditionList)) {
return result;
}
boolean conditionFlag = true;
for (DiseaseReportVO.Condition condition : conditionList) {
......@@ -398,22 +408,22 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
break;
}
} else {
if (resultRelational.equals("normal")) {
if (resultCondition.equals(ConditionTypeEnum.NORMAL.getCode())) {
conditionFlag = normalFlag && conditionFlag;
}
if (resultRelational.equals(BreatheTypeEnum.APNEA.getCode())) {
if (resultCondition.equals(ConditionTypeEnum.BREATHE_STOP.getCode())) {
conditionFlag = brStopFlag && conditionFlag;
}
if (resultRelational.equals(BreatheTypeEnum.TACHYPNEA.getCode())) {
if (resultCondition.equals(ConditionTypeEnum.BREATHE_FAST.getCode())) {
conditionFlag = brFastFlag && conditionFlag;
}
if (resultRelational.equals(BreatheTypeEnum.BRADYPNEA.getCode())) {
if (resultCondition.equals(ConditionTypeEnum.BREATHE_SLOW.getCode())) {
conditionFlag = brSlowFlag && conditionFlag;
}
if (resultRelational.equals(HeartRateTypeEnum.TACHYCARDIA.getCode())) {
if (resultCondition.equals(ConditionTypeEnum.HEART_FAST.getCode())) {
conditionFlag = hrFastFlag && conditionFlag;
}
if (resultRelational.equals(HeartRateTypeEnum.BRADYCARDIA.getCode())) {
if (resultCondition.equals(ConditionTypeEnum.HEART_SLOW.getCode())) {
conditionFlag = hrSlowFlag && conditionFlag;
}
}
......@@ -434,8 +444,12 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
platElderBreatheAnalysis.setTenantId(platElder.getTenantId());
platElderBreatheAnalysis.setBreatheEvaluate(diseaseReport == null ? "" : diseaseReport.getEvaluate());
platElderBreatheAnalysisService.save(platElderBreatheAnalysis);
// platElderBreatheAnalysis.setRemake(String.format("normalFlag:%s,hrFastFlag:%s,brStopFlag:%s,brFastFlag:%s,brSlowFlag:%s,hrSlowFlag:%s",
// normalFlag, hrFastFlag, brStopFlag, brFastFlag, brSlowFlag, hrSlowFlag));
result.add(platElderBreatheAnalysis);
}
return result;
}
......
......@@ -854,7 +854,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
}
List<PlatSpace> list = this.list(queryWrapper);
list = list.stream()
.filter(s -> (StringUtil.isNotEmpty(s.getParentPath()) && s.getParentPath().split(",").length <= 3)
.filter(s -> (StringUtil.isNotEmpty(s.getParentPath()) && s.getParentPath().split(",").length < 3)
|| StringUtil.isEmpty(s.getParentPath()))
.collect(Collectors.toList());
//父级
......@@ -1112,9 +1112,8 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
}
private void fixAllSpacePath() {
List<PlatSpace> allData = list();
List<PlatSpace> firstSpaceList = allData.stream().filter(f -> StrUtil.isBlank(f.getParentId())
&& StrUtil.isBlank(f.getParentPath())).collect(Collectors.toList());
List<PlatSpace> firstSpaceList = list(Wrappers.<PlatSpace>lambdaQuery().isNull(PlatSpace::getParentPath)
.isNull(PlatSpace::getParentId));
if (CollUtil.isEmpty(firstSpaceList)) {
return;
}
......
......@@ -51,7 +51,7 @@ public class PlatElderReportTask {
@TenantIdIgnore
public void elderHeartRespiratoryAnalysisTask() {
log.info("开始定时分析长者呼吸心率");
platElderBreatheAnalysisService.elderHeartRespiratoryAnalysisTask();
platElderBreatheAnalysisService.elderHeartRespiratoryAnalysisTask(null,null);
log.info("定时分析长者呼吸心率结束");
}
......
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