Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0f7be56b
authored
Dec 22, 2023
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:bug修复
parent
ef54568b
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
77 additions
and
29 deletions
server-common/src/main/java/com/makeit/module/iot/vo/analysis/DiseaseReportVO.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
server-service/src/main/java/com/makeit/enums/report/ConditionTypeEnum.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmConfigServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheAnalysisService.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheAnalysisServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
server-common/src/main/java/com/makeit/module/iot/vo/analysis/DiseaseReportVO.java
View file @
0f7be56b
...
...
@@ -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
;
}
}
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderSleepController.java
View file @
0f7be56b
...
...
@@ -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
(
"测试"
)
@
Pos
tMapping
(
"test3"
)
@
Ge
tMapping
(
"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
(
"测试"
)
...
...
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
View file @
0f7be56b
...
...
@@ -42,5 +42,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
happenDate
;
// @TableField(exist = false)
// private String remake;
}
server-service/src/main/java/com/makeit/enums/report/ConditionTypeEnum.java
0 → 100644
View file @
0f7be56b
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
;
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmConfigServiceImpl.java
View file @
0f7be56b
...
...
@@ -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
();
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheAnalysisService.java
View file @
0f7be56b
...
...
@@ -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
);
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheAnalysisServiceImpl.java
View file @
0f7be56b
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
(
result
Relational
.
equals
(
"normal"
))
{
if
(
result
Condition
.
equals
(
ConditionTypeEnum
.
NORMAL
.
getCode
()
))
{
conditionFlag
=
normalFlag
&&
conditionFlag
;
}
if
(
result
Relational
.
equals
(
BreatheTypeEnum
.
APNEA
.
getCode
()))
{
if
(
result
Condition
.
equals
(
ConditionTypeEnum
.
BREATHE_STOP
.
getCode
()))
{
conditionFlag
=
brStopFlag
&&
conditionFlag
;
}
if
(
result
Relational
.
equals
(
BreatheTypeEnum
.
TACHYPNEA
.
getCode
()))
{
if
(
result
Condition
.
equals
(
ConditionTypeEnum
.
BREATHE_FAST
.
getCode
()))
{
conditionFlag
=
brFastFlag
&&
conditionFlag
;
}
if
(
result
Relational
.
equals
(
BreatheTypeEnum
.
BRADYPNEA
.
getCode
()))
{
if
(
result
Condition
.
equals
(
ConditionTypeEnum
.
BREATHE_SLOW
.
getCode
()))
{
conditionFlag
=
brSlowFlag
&&
conditionFlag
;
}
if
(
result
Relational
.
equals
(
HeartRateTypeEnum
.
TACHYCARDIA
.
getCode
()))
{
if
(
result
Condition
.
equals
(
ConditionTypeEnum
.
HEART_FAST
.
getCode
()))
{
conditionFlag
=
hrFastFlag
&&
conditionFlag
;
}
if
(
result
Relational
.
equals
(
HeartRateTypeEnum
.
BRADYCARDIA
.
getCode
()))
{
if
(
result
Condition
.
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
;
}
...
...
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
View file @
0f7be56b
...
...
@@ -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
;
}
...
...
server-service/src/main/java/com/makeit/task/PlatElderReportTask.java
View file @
0f7be56b
...
...
@@ -51,7 +51,7 @@ public class PlatElderReportTask {
@TenantIdIgnore
public
void
elderHeartRespiratoryAnalysisTask
()
{
log
.
info
(
"开始定时分析长者呼吸心率"
);
platElderBreatheAnalysisService
.
elderHeartRespiratoryAnalysisTask
();
platElderBreatheAnalysisService
.
elderHeartRespiratoryAnalysisTask
(
null
,
null
);
log
.
info
(
"定时分析长者呼吸心率结束"
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment