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
70f55b67
authored
Sep 19, 2023
by
杨伟程
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
老人报告
parent
78e4757d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
300 additions
and
66 deletions
db/inti-elder.sql
server-generator/src/test/java/CodeGenerator.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportWeekController.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheDayStat.java
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderBreatheDayStatMapper.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheDayStatService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportDayService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheDayStatServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/SaasElderReportConfigService.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasElderReportConfigServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasSleepEvaluateReportServiceImpl.java
db/inti-elder.sql
View file @
70f55b67
...
...
@@ -37,12 +37,12 @@ CREATE TABLE `plat_elder`
floor_space_id
varchar
(
64
)
NULL
COMMENT
'楼层id'
,
`room_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'房间id'
,
`bed_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'床位id'
,
`space_path`
varchar
(
300
)
DEFAULT
NULL
COMMENT
'空间-房间-床位路径'
,
`space_path`
varchar
(
300
)
DEFAULT
NULL
COMMENT
'空间-房间-床位路径'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
`remark`
varchar
(
1024
)
DEFAULT
NULL
COMMENT
'备注'
,
avatar
varchar
(
64
)
NULL
COMMENT
'头像文件id'
,
check_in_time
datetime
DEFAULT
NULL
COMMENT
'入住时间'
,
...
...
@@ -151,22 +151,22 @@ CREATE TABLE `plat_elder_medical_examination_info`
CREATE
TABLE
`plat_elder_children_info`
(
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`elder_id`
varchar
(
64
)
NULL
COMMENT
'长者id'
,
`openid`
varchar
(
64
)
NOT
NULL
COMMENT
'openid'
,
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`elder_id`
varchar
(
64
)
NULL
COMMENT
'长者id'
,
`openid`
varchar
(
64
)
NOT
NULL
COMMENT
'openid'
,
`name`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'姓名'
,
`phone`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'手机号码'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
avatar
varchar
(
64
)
NULL
COMMENT
'微信头像路径'
,
avatar
varchar
(
64
)
NULL
COMMENT
'微信头像路径'
,
`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是 '
,
del_flag
char
(
1
)
not
null
comment
' 删除标志 0否 1是 '
,
`tenant_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
' 租户id '
,
PRIMARY
KEY
(
`id`
),
KEY
`index_elder_id`
(
`elder_id`
)
USING
BTREE
...
...
@@ -209,13 +209,13 @@ CREATE TABLE `plat_dict_info`
CREATE
TABLE
`plat_alarm_config`
(
`id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'id'
,
`id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'id'
,
`alarm_type`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常'
,
`status`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'状态 数据字典 1 启用 0 禁用'
,
`org_id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'所属组织机构id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
`org_id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'所属组织机构id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
`rule_config`
VARCHAR
(
512
)
DEFAULT
NULL
COMMENT
'规则配置'
,
`content`
VARCHAR
(
512
)
DEFAULT
NULL
COMMENT
'内容'
,
...
...
@@ -251,7 +251,7 @@ CREATE TABLE `plat_device`
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
`create_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'创建者'
,
`create_date`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`update_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'更新者'
,
...
...
@@ -350,3 +350,26 @@ CREATE TABLE `plat_elder_report_month`
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'长者月报'
;
CREATE
TABLE
`plat_elder_breathe_day_stat`
(
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`elder_id`
VARCHAR
(
64
)
NULL
COMMENT
'长者id'
,
device_id
varchar
(
64
)
NULL
COMMENT
'设备id'
,
ori_device_id
varchar
(
64
)
NULL
COMMENT
'原始设备id'
,
day
date
NOT
NULL
COMMENT
'日期'
,
heart_rate_max
int
NULL
COMMENT
'心率最大值'
,
heart_rate_min
int
NULL
COMMENT
'心率最小值'
,
heart_rate_avg
int
NULL
COMMENT
'心率平均值'
,
respiratory_rate_max
int
NULL
COMMENT
'呼吸率最大值'
,
respiratory_rate_min
int
NULL
COMMENT
'呼吸率最小值'
,
respiratory_rate_avg
int
NULL
COMMENT
'呼吸率平均值'
,
`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 '
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'长者呼吸心率日统计'
;
server-generator/src/test/java/CodeGenerator.java
View file @
70f55b67
...
...
@@ -106,7 +106,7 @@ public class CodeGenerator {
// 使用重点 下列字段填写表名 运行方法
// strategy.setInclude("edu_teacher","..."); // 多表-逆向工程
strategy
.
setInclude
(
"plat_elder_
report_month
"
);
strategy
.
setInclude
(
"plat_elder_
breathe_day_stat
"
);
strategy
.
setNaming
(
NamingStrategy
.
underline_to_camel
);
//数据库表映射到实体的命名策略
strategy
.
setTablePrefix
(
pc
.
getModuleName
()
+
"_"
);
//生成实体属性时去掉表"_"前缀并且第一个字母大写 如:gmt_create -> gmtCreate
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.java
View file @
70f55b67
...
...
@@ -73,13 +73,13 @@ public class PlatElderReportDayController {
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
failRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"坐标记录"
)
...
...
@@ -91,7 +91,7 @@ public class PlatElderReportDayController {
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
behaviorDistribution
(
platElderIdDTO
))
;
}
}
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportWeekController.java
View file @
70f55b67
...
...
@@ -39,13 +39,13 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"综合评价"
)
@PostMapping
(
"comprehensiveEvaluation"
)
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
comprehensiveEvaluation
(
platElderIdDTO
))
;
}
@ApiOperation
(
"睡眠评价"
)
@PostMapping
(
"sleepEvaluation"
)
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
sleepEvaluation
(
platElderIdDTO
))
;
}
@ApiOperation
(
"睡眠图表"
)
...
...
@@ -57,37 +57,37 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"心率呼吸评价"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartRespiratoryEvaluation
(
platElderIdDTO
))
;
}
@ApiOperation
(
"心率异常记录"
)
@PostMapping
(
"heartExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
heartExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"呼吸率异常记录"
)
@PostMapping
(
"respiratoryExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
respiratoryExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
respiratoryExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"心率呼吸率"
)
@PostMapping
(
"heartRespiratory"
)
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
public
ApiResponseEntity
<
List
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
>
heartRespiratory
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartRespiratory
(
platElderIdDTO
))
;
}
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
failRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"坐标记录"
)
...
...
@@ -99,7 +99,7 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
behaviorDistribution
(
platElderIdDTO
))
;
}
}
...
...
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheDayStat.java
0 → 100644
View file @
70f55b67
package
com
.
makeit
.
entity
.
platform
.
elder
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
java.time.LocalDate
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.makeit.common.entity.BaseBusEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 长者呼吸心率日统计
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"PlatElderBreatheDayStat对象"
,
description
=
"长者呼吸心率日统计"
)
public
class
PlatElderBreatheDayStat
extends
BaseBusEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"长者id"
)
private
String
elderId
;
@ApiModelProperty
(
value
=
"设备id"
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"原始设备id"
)
private
String
oriDeviceId
;
@ApiModelProperty
(
value
=
"日期"
)
private
LocalDate
day
;
@ApiModelProperty
(
value
=
"心率最大值"
)
private
Integer
heartRateMax
;
@ApiModelProperty
(
value
=
"心率最小值"
)
private
Integer
heartRateMin
;
@ApiModelProperty
(
value
=
"心率平均值"
)
private
Integer
heartRateAvg
;
@ApiModelProperty
(
value
=
"呼吸率最大值"
)
private
Integer
respiratoryRateMax
;
@ApiModelProperty
(
value
=
"呼吸率最小值"
)
private
Integer
respiratoryRateMin
;
@ApiModelProperty
(
value
=
"呼吸率平均值"
)
private
Integer
respiratoryRateAvg
;
}
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderBreatheDayStatMapper.java
0 → 100644
View file @
70f55b67
package
com
.
makeit
.
mapper
.
platform
.
elder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.entity.platform.elder.PlatElderBreatheDayStat
;
/**
* <p>
* 长者呼吸心率日统计 Mapper 接口
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
public
interface
PlatElderBreatheDayStatMapper
extends
BaseMapper
<
PlatElderBreatheDayStat
>
{
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheDayStatService.java
0 → 100644
View file @
70f55b67
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.entity.platform.elder.PlatElderBreatheDayStat
;
/**
* <p>
* 长者呼吸心率日统计 服务类
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
public
interface
PlatElderBreatheDayStatService
extends
IService
<
PlatElderBreatheDayStat
>
{
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportDayService.java
View file @
70f55b67
...
...
@@ -5,6 +5,7 @@ import com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
...
...
@@ -24,20 +25,28 @@ public interface PlatElderDayReportDayService {
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartRespiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
,
String
alarmType
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
respiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
String
>
failRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistributionInternal
(
PlatElderReportDTO
platElderIdDTO
,
List
<
LocalDate
>
nowList
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
);
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.java
View file @
70f55b67
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.PlatElderSleepEvaluationVO
;
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
java.util.List
;
...
...
@@ -16,8 +20,24 @@ import java.util.List;
*/
public
interface
PlatElderDayReportWeekService
{
PlatElderComprehensiveEvaluationVO
comprehensiveEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
PlatElderSleepEvaluationVO
sleepEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
respiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
);
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheDayStatServiceImpl.java
0 → 100644
View file @
70f55b67
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.entity.platform.elder.PlatElderBreatheDayStat
;
import
com.makeit.mapper.platform.elder.PlatElderBreatheDayStatMapper
;
import
com.makeit.service.platform.elder.PlatElderBreatheDayStatService
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 长者呼吸心率日统计 服务实现类
* </p>
*
* @author eugene young
* @since 2023-09-19
*/
@Service
public
class
PlatElderBreatheDayStatServiceImpl
extends
ServiceImpl
<
PlatElderBreatheDayStatMapper
,
PlatElderBreatheDayStat
>
implements
PlatElderBreatheDayStatService
{
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
70f55b67
...
...
@@ -16,7 +16,6 @@ import com.makeit.module.iot.vo.fall.DeviceInfoContentFall;
import
com.makeit.module.iot.vo.space.DeviceInfoContentSpace
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.alarm.PlatDayDurationRecordService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
...
...
@@ -34,8 +33,6 @@ import java.time.LocalDate;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
@Service
public
class
PlatElderDayReportDayServiceImpl
implements
PlatElderDayReportDayService
{
...
...
@@ -180,6 +177,19 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
private
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartRespiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
,
String
alarmType
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
return
heartRespiratoryExceptionRecordList
(
platElderIdDTO
,
alarmType
,
start
,
end
);
}
@Override
public
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartRespiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
,
String
alarmType
,
LocalDateTime
start
,
LocalDateTime
end
)
{
PlatDevice
device
=
platElderRealTimeService
.
getBreathDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
device
==
null
)
{
return
new
ArrayList
<>(
10
);
...
...
@@ -188,6 +198,8 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
alarmType
)
.
eq
(
PlatAlarmRecord:
:
getDeviceId
,
device
.
getId
())
.
ge
(
PlatAlarmRecord:
:
getAlarmDate
,
start
)
.
le
(
PlatAlarmRecord:
:
getAlarmDate
,
end
)
.
orderByDesc
(
PlatAlarmRecord:
:
getAlarmDate
)
);
...
...
@@ -247,18 +259,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
@Override
public
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
public
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
Internal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
return
new
ArrayList
<>(
10
);
}
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BEHAVIOR
.
getValue
())
.
in
(
PlatAlarmRecord:
:
getDeviceId
,
StreamUtil
.
mapId
(
platDeviceList
,
PlatDevice:
:
getId
))
...
...
@@ -283,19 +290,27 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
@Override
public
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getFallDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
return
new
ArrayList
<>(
10
);
}
@Override
public
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
return
behaviorExceptionRecordListInternal
(
platElderIdDTO
,
start
,
end
);
}
@Override
public
List
<
String
>
failRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getFallDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
return
new
ArrayList
<>(
10
);
}
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
List
<
String
>
voList
=
new
ArrayList
<>(
10
);
...
...
@@ -314,6 +329,18 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
return
voList
;
}
@Override
public
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
return
failRecordListInternal
(
platElderIdDTO
,
start
,
end
);
}
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
elderId
,
deviceId
);
...
...
@@ -355,7 +382,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
@Override
public
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
)
{
public
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
Internal
(
PlatElderReportDTO
platElderIdDTO
,
List
<
LocalDate
>
nowList
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
...
...
@@ -365,18 +392,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatElderBehaviorDistributionVO
>
voList
=
new
ArrayList
<>(
10
);
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
);
List
<
PlatElderBehaviorDistributionVO
>
finalVoList
=
voList
;
platDeviceList
.
forEach
(
e
->
{
List
<
PlatDayDurationRecord
>
recordList
=
platDayDurationRecordService
.
list
(
new
QueryWrapper
<
PlatDayDurationRecord
>().
lambda
()
.
eq
(
PlatDayDurationRecord:
:
getDeviceId
,
e
.
getId
())
.
eq
(
PlatDayDurationRecord:
:
getDay
,
dateTimeFormatter
.
format
(
now
))
.
in
(
PlatDayDurationRecord:
:
getDay
,
StreamUtil
.
map
(
nowList
,
dateTimeFormatter:
:
format
))
);
finalVoList
.
addAll
(
StreamUtil
.
map
(
recordList
,
i
->
{
...
...
@@ -408,4 +430,16 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
return
voList
;
}
@Override
public
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
return
behaviorDistributionInternal
(
platElderIdDTO
,
Arrays
.
asList
(
now
));
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
View file @
70f55b67
This diff is collapsed.
Click to expand it.
server-service/src/main/java/com/makeit/service/saas/SaasElderReportConfigService.java
View file @
70f55b67
...
...
@@ -3,6 +3,7 @@ package com.makeit.service.saas;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
/**
* <p>
...
...
@@ -19,4 +20,8 @@ public interface SaasElderReportConfigService extends IService<SaasElderReportCo
void
add
(
SaasElderReportConfigDTO
dto
);
void
edit
(
SaasElderReportConfigDTO
dto
);
EvaluateReportVO
getByScoreInternal
(
String
resultContent
,
long
totalScore
);
EvaluateReportVO
getByScore
(
long
totalScore
);
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasElderReportConfigServiceImpl.java
View file @
70f55b67
package
com
.
makeit
.
service
.
saas
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.mapper.saas.analysis.SaasElderReportConfigMapper
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* <p>
* 长者报告配置 服务实现类
...
...
@@ -38,4 +45,36 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
BeanUtils
.
copyProperties
(
dto
,
entity
);
saveOrUpdate
(
entity
);
}
@Override
public
EvaluateReportVO
getByScoreInternal
(
String
resultContent
,
long
totalScore
)
{
List
<
EvaluateReportVO
>
evaluateReportList
=
JSON
.
parseArray
(
resultContent
,
EvaluateReportVO
.
class
);
// 根据睡眠报告结果配置得出最后的睡眠评分
EvaluateReportVO
finalReport
=
new
EvaluateReportVO
();
for
(
EvaluateReportVO
evaluateReportVO
:
evaluateReportList
)
{
String
[]
scoreRange
=
evaluateReportVO
.
getScoreRange
().
split
(
"~"
);
long
scoreRangeStart
=
Long
.
parseLong
(
scoreRange
[
0
]);
long
scoreRangeEnd
=
Long
.
parseLong
(
scoreRange
[
1
]);
if
(
scoreRangeStart
<=
totalScore
&&
scoreRangeEnd
>=
totalScore
)
{
finalReport
=
evaluateReportVO
;
}
}
return
finalReport
;
}
@Override
public
EvaluateReportVO
getByScore
(
long
totalScore
)
{
SaasElderReportConfig
saasElderReportConfig
=
getOne
(
new
QueryWrapper
<
SaasElderReportConfig
>().
lambda
()
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
last
(
"limit 1"
));
String
resultContent
=
saasElderReportConfig
.
getResultContent
();
return
getByScoreInternal
(
resultContent
,
totalScore
);
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasSleepEvaluateReportServiceImpl.java
View file @
70f55b67
...
...
@@ -8,8 +8,10 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.mapper.saas.analysis.SaasSleepEvaluateReportMapper
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
@@ -25,6 +27,8 @@ import java.util.List;
@Service
public
class
SaasSleepEvaluateReportServiceImpl
extends
ServiceImpl
<
SaasSleepEvaluateReportMapper
,
SaasSleepEvaluateReport
>
implements
SaasSleepEvaluateReportService
{
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
@Override
public
SaasSleepEvaluateReport
view
(
String
id
)
{
...
...
@@ -51,18 +55,8 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
last
(
"limit 1"
));
String
resultContent
=
sleepEvaluateReport
.
getResultContent
();
List
<
EvaluateReportVO
>
evaluateReportList
=
JSON
.
parseArray
(
resultContent
,
EvaluateReportVO
.
class
);
// 根据睡眠报告结果配置得出最后的睡眠评分
EvaluateReportVO
finalReport
=
new
EvaluateReportVO
();
for
(
EvaluateReportVO
evaluateReportVO
:
evaluateReportList
)
{
String
[]
scoreRange
=
evaluateReportVO
.
getScoreRange
().
split
(
"~"
);
long
scoreRangeStart
=
Long
.
parseLong
(
scoreRange
[
0
]);
long
scoreRangeEnd
=
Long
.
parseLong
(
scoreRange
[
1
]);
if
(
scoreRangeStart
<=
totalScore
&&
scoreRangeEnd
>=
totalScore
)
{
finalReport
=
evaluateReportVO
;
}
}
return
finalReport
;
return
saasElderReportConfigService
.
getByScoreInternal
(
resultContent
,
totalScore
);
}
}
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