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
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
463 additions
and
58 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
...
@@ -350,3 +350,26 @@ CREATE TABLE `plat_elder_report_month`
...
@@ -350,3 +350,26 @@ CREATE TABLE `plat_elder_report_month`
PRIMARY
KEY
(
`id`
)
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'长者月报'
;
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 {
...
@@ -106,7 +106,7 @@ public class CodeGenerator {
// 使用重点 下列字段填写表名 运行方法
// 使用重点 下列字段填写表名 运行方法
// strategy.setInclude("edu_teacher","..."); // 多表-逆向工程
// strategy.setInclude("edu_teacher","..."); // 多表-逆向工程
strategy
.
setInclude
(
"plat_elder_
report_month
"
);
strategy
.
setInclude
(
"plat_elder_
breathe_day_stat
"
);
strategy
.
setNaming
(
NamingStrategy
.
underline_to_camel
);
//数据库表映射到实体的命名策略
strategy
.
setNaming
(
NamingStrategy
.
underline_to_camel
);
//数据库表映射到实体的命名策略
strategy
.
setTablePrefix
(
pc
.
getModuleName
()
+
"_"
);
//生成实体属性时去掉表"_"前缀并且第一个字母大写 如:gmt_create -> gmtCreate
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 {
...
@@ -73,13 +73,13 @@ public class PlatElderReportDayController {
@ApiOperation
(
"行为异常记录"
)
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"跌倒记录"
)
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
failRecordList
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"坐标记录"
)
@ApiOperation
(
"坐标记录"
)
...
@@ -91,7 +91,7 @@ public class PlatElderReportDayController {
...
@@ -91,7 +91,7 @@ public class PlatElderReportDayController {
@ApiOperation
(
"行为辐射"
)
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
@PostMapping
(
"behaviorDistribution"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
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 {
...
@@ -39,13 +39,13 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"综合评价"
)
@ApiOperation
(
"综合评价"
)
@PostMapping
(
"comprehensiveEvaluation"
)
@PostMapping
(
"comprehensiveEvaluation"
)
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
comprehensiveEvaluation
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"睡眠评价"
)
@ApiOperation
(
"睡眠评价"
)
@PostMapping
(
"sleepEvaluation"
)
@PostMapping
(
"sleepEvaluation"
)
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
sleepEvaluation
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"睡眠图表"
)
@ApiOperation
(
"睡眠图表"
)
...
@@ -57,37 +57,37 @@ public class PlatElderReportWeekController {
...
@@ -57,37 +57,37 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"心率呼吸评价"
)
@ApiOperation
(
"心率呼吸评价"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartRespiratoryEvaluation
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"心率异常记录"
)
@ApiOperation
(
"心率异常记录"
)
@PostMapping
(
"heartExceptionRecordList"
)
@PostMapping
(
"heartExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
heartExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
heartExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartExceptionRecordList
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"呼吸率异常记录"
)
@ApiOperation
(
"呼吸率异常记录"
)
@PostMapping
(
"respiratoryExceptionRecordList"
)
@PostMapping
(
"respiratoryExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
respiratoryExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
respiratoryExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
respiratoryExceptionRecordList
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"心率呼吸率"
)
@ApiOperation
(
"心率呼吸率"
)
@PostMapping
(
"heartRespiratory"
)
@PostMapping
(
"heartRespiratory"
)
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
>
heartRespiratory
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartRespiratory
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"行为异常记录"
)
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"跌倒记录"
)
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
failRecordList
(
platElderIdDTO
))
;
}
}
@ApiOperation
(
"坐标记录"
)
@ApiOperation
(
"坐标记录"
)
...
@@ -99,7 +99,7 @@ public class PlatElderReportWeekController {
...
@@ -99,7 +99,7 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"行为辐射"
)
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
@PostMapping
(
"behaviorDistribution"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
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;
...
@@ -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.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
...
@@ -24,20 +25,28 @@ public interface PlatElderDayReportDayService {
...
@@ -24,20 +25,28 @@ public interface PlatElderDayReportDayService {
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartRespiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
,
String
alarmType
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
respiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
respiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
String
>
failRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistributionInternal
(
PlatElderReportDTO
platElderIdDTO
,
List
<
LocalDate
>
nowList
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
);
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
;
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
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
;
import
java.util.List
;
...
@@ -16,8 +20,24 @@ import java.util.List;
...
@@ -16,8 +20,24 @@ import java.util.List;
*/
*/
public
interface
PlatElderDayReportWeekService
{
public
interface
PlatElderDayReportWeekService
{
PlatElderComprehensiveEvaluationVO
comprehensiveEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
PlatElderSleepEvaluationVO
sleepEvaluation
(
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
<
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;
...
@@ -16,7 +16,6 @@ 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.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
...
@@ -34,8 +33,6 @@ import java.time.LocalDate;
...
@@ -34,8 +33,6 @@ import java.time.LocalDate;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
PlatElderDayReportDayServiceImpl
implements
PlatElderDayReportDayService
{
public
class
PlatElderDayReportDayServiceImpl
implements
PlatElderDayReportDayService
{
...
@@ -180,6 +177,19 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -180,6 +177,19 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
private
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartRespiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
,
String
alarmType
)
{
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
());
PlatDevice
device
=
platElderRealTimeService
.
getBreathDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
device
==
null
)
{
if
(
device
==
null
)
{
return
new
ArrayList
<>(
10
);
return
new
ArrayList
<>(
10
);
...
@@ -188,6 +198,8 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -188,6 +198,8 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
alarmType
)
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
alarmType
)
.
eq
(
PlatAlarmRecord:
:
getDeviceId
,
device
.
getId
())
.
eq
(
PlatAlarmRecord:
:
getDeviceId
,
device
.
getId
())
.
ge
(
PlatAlarmRecord:
:
getAlarmDate
,
start
)
.
le
(
PlatAlarmRecord:
:
getAlarmDate
,
end
)
.
orderByDesc
(
PlatAlarmRecord:
:
getAlarmDate
)
.
orderByDesc
(
PlatAlarmRecord:
:
getAlarmDate
)
);
);
...
@@ -247,18 +259,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -247,18 +259,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
}
@Override
@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
());
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
return
new
ArrayList
<>(
10
);
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
()
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BEHAVIOR
.
getValue
())
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BEHAVIOR
.
getValue
())
.
in
(
PlatAlarmRecord:
:
getDeviceId
,
StreamUtil
.
mapId
(
platDeviceList
,
PlatDevice:
:
getId
))
.
in
(
PlatAlarmRecord:
:
getDeviceId
,
StreamUtil
.
mapId
(
platDeviceList
,
PlatDevice:
:
getId
))
...
@@ -283,19 +290,27 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -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
))
{
@Override
return
new
ArrayList
<>(
10
);
public
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
}
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
);
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"
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
List
<
String
>
voList
=
new
ArrayList
<>(
10
);
List
<
String
>
voList
=
new
ArrayList
<>(
10
);
...
@@ -314,6 +329,18 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -314,6 +329,18 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
return
voList
;
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
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
)
{
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
elderId
,
deviceId
);
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
elderId
,
deviceId
);
...
@@ -355,7 +382,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -355,7 +382,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
}
@Override
@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
());
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
...
@@ -365,18 +392,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -365,18 +392,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatElderBehaviorDistributionVO
>
voList
=
new
ArrayList
<>(
10
);
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"
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
);
List
<
PlatElderBehaviorDistributionVO
>
finalVoList
=
voList
;
List
<
PlatElderBehaviorDistributionVO
>
finalVoList
=
voList
;
platDeviceList
.
forEach
(
e
->
{
platDeviceList
.
forEach
(
e
->
{
List
<
PlatDayDurationRecord
>
recordList
=
platDayDurationRecordService
.
list
(
new
QueryWrapper
<
PlatDayDurationRecord
>().
lambda
()
List
<
PlatDayDurationRecord
>
recordList
=
platDayDurationRecordService
.
list
(
new
QueryWrapper
<
PlatDayDurationRecord
>().
lambda
()
.
eq
(
PlatDayDurationRecord:
:
getDeviceId
,
e
.
getId
())
.
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
->
{
finalVoList
.
addAll
(
StreamUtil
.
map
(
recordList
,
i
->
{
...
@@ -408,4 +430,16 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -408,4 +430,16 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
return
voList
;
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
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
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.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElderBreatheAnalysis
;
import
com.makeit.entity.platform.elder.PlatElderBreatheDayStat
;
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.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.platform.elder.PlatElderDayReportWeekService
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.platform.elder.PlatElderSleepAnalysisService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.validate.CollectionUtils
;
import
com.makeit.utils.data.validate.CollectionUtils
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
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.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.time.DayOfWeek
;
import
java.time.DayOfWeek
;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.TemporalAdjusters
;
import
java.time.temporal.TemporalAdjusters
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Service
@Service
public
class
PlatElderDayReportWeekServiceImpl
implements
PlatElderDayReportWeekService
{
public
class
PlatElderDayReportWeekServiceImpl
implements
PlatElderDayReportWeekService
{
@Autowired
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Autowired
private
PlatElderDayReportDayService
platElderDayReportDayService
;
private
PlatElderDayReportDayService
platElderDayReportDayService
;
@Autowired
@Autowired
private
PlatElderSleepAnalysisService
platElderSleepAnalysisService
;
private
PlatElderSleepAnalysisService
platElderSleepAnalysisService
;
@Autowired
@Autowired
private
PlatElderService
platElderService
;
private
SaasSleepEvaluateReportService
saasSleepEvaluateReportService
;
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
@Autowired
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
@Autowired
@Autowired
private
IotProductDeviceService
iotProductDevice
Service
;
private
PlatElderBreatheDayStatService
platElderBreatheDayStat
Service
;
private
LocalDateTime
weekStartDateTime
(
LocalDateTime
defaultTime
)
{
private
LocalDateTime
weekStartDateTime
(
LocalDateTime
defaultTime
)
{
return
weekStartDateTime
(
LocalDate
.
now
(),
defaultTime
);
return
weekStartDateTime
(
LocalDate
.
now
(),
defaultTime
);
...
@@ -104,6 +125,23 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
...
@@ -104,6 +125,23 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
return
sunday
;
return
sunday
;
}
}
@Override
public
PlatElderComprehensiveEvaluationVO
comprehensiveEvaluation
(
PlatElderReportDTO
platElderIdDTO
)
{
PlatElderSleepEvaluationVO
platElderSleepEvaluationVO
=
sleepEvaluation
(
platElderIdDTO
);
PlatElderHeartRespiratoryEvaluationVO
platElderHeartRespiratoryEvaluationVO
=
heartRespiratoryEvaluation
(
platElderIdDTO
);
PlatElderComprehensiveEvaluationVO
platElderComprehensiveEvaluationVO
=
new
PlatElderComprehensiveEvaluationVO
();
platElderComprehensiveEvaluationVO
.
setScore
((
platElderSleepEvaluationVO
.
getScore
()
+
platElderHeartRespiratoryEvaluationVO
.
getScore
())
/
2
);
EvaluateReportVO
evaluateReportVO
=
saasElderReportConfigService
.
getByScore
(
platElderSleepEvaluationVO
.
getScore
());
if
(
evaluateReportVO
!=
null
)
{
platElderComprehensiveEvaluationVO
.
setEvaluation
(
evaluateReportVO
.
getEvaluate
());
}
return
platElderComprehensiveEvaluationVO
;
}
@Override
@Override
public
PlatElderSleepEvaluationVO
sleepEvaluation
(
PlatElderReportDTO
platElderIdDTO
)
{
public
PlatElderSleepEvaluationVO
sleepEvaluation
(
PlatElderReportDTO
platElderIdDTO
)
{
...
@@ -135,15 +173,148 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
...
@@ -135,15 +173,148 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
platElderSleepEvaluationVO
.
setSleepDuration
(
sleepDuration
);
platElderSleepEvaluationVO
.
setSleepDuration
(
sleepDuration
);
platElderSleepEvaluationVO
.
setRestDuration
(
restDuration
);
platElderSleepEvaluationVO
.
setRestDuration
(
restDuration
);
// platElderSleepEvaluationVO.setResult();
EvaluateReportVO
evaluateReportVO
=
saasSleepEvaluateReportService
.
getByScore
(
platElderSleepEvaluationVO
.
getScore
());
// platElderSleepEvaluationVO.setEvaluation();
if
(
evaluateReportVO
!=
null
)
{
platElderSleepEvaluationVO
.
setResult
(
evaluateReportVO
.
getResult
());
platElderSleepEvaluationVO
.
setEvaluation
(
evaluateReportVO
.
getEvaluate
());
}
return
platElderSleepEvaluationVO
;
}
@Override
public
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluation
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
weekStartDate
=
weekStartDate
(
platElderIdDTO
.
getStartTime
());
LocalDate
weekEndDate
=
weekStartDate
(
platElderIdDTO
.
getEndTime
());
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
List
<
PlatElderBreatheAnalysis
>
breatheAnalyses
=
platElderBreatheAnalysisService
.
list
(
new
QueryWrapper
<
PlatElderBreatheAnalysis
>().
lambda
()
.
ge
(
PlatElderBreatheAnalysis:
:
getCurrentDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
le
(
PlatElderBreatheAnalysis:
:
getCurrentDate
,
dateTimeFormatter
.
format
(
weekEndDate
))
);
int
score
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
breatheAnalyses
))
{
score
=
StreamUtil
.
reduce
(
breatheAnalyses
,
e
->
Integer
.
valueOf
(
e
.
getBreatheScore
()
+
""
),
0
,
Integer:
:
sum
)
/
breatheAnalyses
.
size
();
}
PlatElderHeartRespiratoryEvaluationVO
platElderSleepEvaluationVO
=
new
PlatElderHeartRespiratoryEvaluationVO
();
platElderSleepEvaluationVO
.
setScore
(
score
);
//TODO ywc 缺这两个
//platElderSleepEvaluationVO.setResult();
//platElderSleepEvaluationVO.setEvaluation();
return
platElderSleepEvaluationVO
;
return
platElderSleepEvaluationVO
;
}
}
@Override
@Override
public
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDateTime
weekStartDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getStartTime
());
LocalDateTime
weekEndDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getEndTime
());
return
platElderDayReportDayService
.
heartRespiratoryExceptionRecordList
(
platElderIdDTO
,
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
.
getValue
(),
weekStartDateTime
,
weekEndDateTime
);
}
@Override
public
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
respiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDateTime
weekStartDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getStartTime
());
LocalDateTime
weekEndDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getEndTime
());
return
platElderDayReportDayService
.
heartRespiratoryExceptionRecordList
(
platElderIdDTO
,
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
.
getValue
(),
weekStartDateTime
,
weekEndDateTime
);
}
@Override
public
List
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
weekStartDate
=
weekStartDate
(
platElderIdDTO
.
getStartTime
());
LocalDate
weekEndDate
=
weekStartDate
(
platElderIdDTO
.
getEndTime
());
List
<
LocalDate
>
dateList
=
LocalDateTimeUtils
.
getDateSeries
(
weekStartDate
,
weekEndDate
);
String
deviceId
=
null
;
String
oriDeviceId
=
null
;
PlatDevice
platDevice
=
platElderRealTimeService
.
getBreathDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
platDevice
!=
null
)
{
deviceId
=
platDevice
.
getId
();
oriDeviceId
=
platDevice
.
getOriDeviceId
();
}
LambdaQueryWrapper
<
PlatElderBreatheDayStat
>
lambdaQueryWrapper
=
new
QueryWrapper
<
PlatElderBreatheDayStat
>().
lambda
();
if
(
StringUtils
.
isNotBlank
(
platElderIdDTO
.
getElderId
()))
{
lambdaQueryWrapper
.
eq
(
PlatElderBreatheDayStat:
:
getElderId
,
platElderIdDTO
.
getElderId
());
}
if
(
StringUtils
.
isNotBlank
(
deviceId
))
{
lambdaQueryWrapper
.
or
().
eq
(
PlatElderBreatheDayStat:
:
getDeviceId
,
deviceId
);
}
if
(
StringUtils
.
isNotBlank
(
oriDeviceId
))
{
lambdaQueryWrapper
.
or
().
eq
(
PlatElderBreatheDayStat:
:
getOriDeviceId
,
oriDeviceId
);
}
lambdaQueryWrapper
.
orderByAsc
(
PlatElderBreatheDayStat:
:
getDay
);
List
<
PlatElderBreatheDayStat
>
breatheDayStatList
=
platElderBreatheDayStatService
.
list
(
lambdaQueryWrapper
);
Map
<
LocalDate
,
PlatElderBreatheDayStat
>
map
=
StreamUtil
.
toMap
(
breatheDayStatList
,
PlatElderBreatheDayStat:
:
getDay
);
List
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
voList
=
new
ArrayList
<>(
10
);
dateList
.
forEach
(
e
->
{
PlatElderBreatheDayStat
stat
=
map
.
get
(
e
);
if
(
stat
!=
null
)
{
voList
.
add
(
BeanDtoVoUtils
.
convert
(
stat
,
PlatElderRealTimeHeartRespiratoryWeekVO
.
class
));
}
else
{
PlatElderRealTimeHeartRespiratoryWeekVO
vo
=
new
PlatElderRealTimeHeartRespiratoryWeekVO
();
vo
.
setDay
(
e
);
voList
.
add
(
vo
);
}
});
return
voList
;
}
@Override
public
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDateTime
weekStartDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getStartTime
());
LocalDateTime
weekEndDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getEndTime
());
return
platElderDayReportDayService
.
behaviorExceptionRecordListInternal
(
platElderIdDTO
,
weekStartDateTime
,
weekEndDateTime
);
}
@Override
public
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDateTime
weekStartDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getStartTime
());
LocalDateTime
weekEndDateTime
=
weekStartDateTime
(
platElderIdDTO
.
getEndTime
());
return
platElderDayReportDayService
.
failRecordListInternal
(
platElderIdDTO
,
weekStartDateTime
,
weekEndDateTime
);
}
@Override
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
)
{
public
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
)
{
return
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
(),
weekStartDateTime
(
platElderIdDTO
.
getStartTime
()),
weekEndDateTime
(
platElderIdDTO
.
getEndTime
()));
return
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
(),
weekStartDateTime
(
platElderIdDTO
.
getStartTime
()),
weekEndDateTime
(
platElderIdDTO
.
getEndTime
()));
}
}
@Override
public
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
weekStartDate
=
weekStartDate
(
platElderIdDTO
.
getStartTime
());
LocalDate
weekEndDate
=
weekStartDate
(
platElderIdDTO
.
getEndTime
());
List
<
LocalDate
>
dateList
=
LocalDateTimeUtils
.
getDateSeries
(
weekStartDate
,
weekEndDate
);
return
platElderDayReportDayService
.
behaviorDistributionInternal
(
platElderIdDTO
,
dateList
);
}
}
}
server-service/src/main/java/com/makeit/service/saas/SaasElderReportConfigService.java
View file @
70f55b67
...
@@ -3,6 +3,7 @@ package com.makeit.service.saas;
...
@@ -3,6 +3,7 @@ package com.makeit.service.saas;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
/**
/**
* <p>
* <p>
...
@@ -19,4 +20,8 @@ public interface SaasElderReportConfigService extends IService<SaasElderReportCo
...
@@ -19,4 +20,8 @@ public interface SaasElderReportConfigService extends IService<SaasElderReportCo
void
add
(
SaasElderReportConfigDTO
dto
);
void
add
(
SaasElderReportConfigDTO
dto
);
void
edit
(
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
;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.mapper.saas.analysis.SaasElderReportConfigMapper
;
import
com.makeit.mapper.saas.analysis.SaasElderReportConfigMapper
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 长者报告配置 服务实现类
* 长者报告配置 服务实现类
...
@@ -38,4 +45,36 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
...
@@ -38,4 +45,36 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
BeanUtils
.
copyProperties
(
dto
,
entity
);
BeanUtils
.
copyProperties
(
dto
,
entity
);
saveOrUpdate
(
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;
...
@@ -8,8 +8,10 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.mapper.saas.analysis.SaasSleepEvaluateReportMapper
;
import
com.makeit.mapper.saas.analysis.SaasSleepEvaluateReportMapper
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
...
@@ -25,6 +27,8 @@ import java.util.List;
...
@@ -25,6 +27,8 @@ import java.util.List;
@Service
@Service
public
class
SaasSleepEvaluateReportServiceImpl
extends
ServiceImpl
<
SaasSleepEvaluateReportMapper
,
SaasSleepEvaluateReport
>
implements
SaasSleepEvaluateReportService
{
public
class
SaasSleepEvaluateReportServiceImpl
extends
ServiceImpl
<
SaasSleepEvaluateReportMapper
,
SaasSleepEvaluateReport
>
implements
SaasSleepEvaluateReportService
{
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
@Override
@Override
public
SaasSleepEvaluateReport
view
(
String
id
)
{
public
SaasSleepEvaluateReport
view
(
String
id
)
{
...
@@ -51,18 +55,8 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
...
@@ -51,18 +55,8 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
last
(
"limit 1"
));
.
last
(
"limit 1"
));
String
resultContent
=
sleepEvaluateReport
.
getResultContent
();
String
resultContent
=
sleepEvaluateReport
.
getResultContent
();
List
<
EvaluateReportVO
>
evaluateReportList
=
JSON
.
parseArray
(
resultContent
,
EvaluateReportVO
.
class
);
// 根据睡眠报告结果配置得出最后的睡眠评分
return
saasElderReportConfigService
.
getByScoreInternal
(
resultContent
,
totalScore
);
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
;
}
}
}
}
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