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
a8ef199e
authored
Sep 28, 2023
by
lzy
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' of git.xmmakeit.com:huangjiay/iot-platform-server into dev
parents
ec5db324
635e7a96
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
67 additions
and
30 deletions
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.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/platform/space/impl/PlatSpaceServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/elder/report/day/PlatElderSleepEvaluationVO.java
server-service/src/main/java/com/makeit/vo/platform/elder/report/week/PlatElderSleepDiagramWeekContentVO.java
server-service/src/main/java/com/makeit/vo/platform/space/PlatBedPanoramaVO.java
server-service/src/main/resources/mappers/PlatBedMapper.xml
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
View file @
a8ef199e
...
...
@@ -161,6 +161,9 @@ public class BehaviorAlarm implements IAlarm {
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
}
for
(
PlatElder
platElder
:
platElderList
)
{
if
(
StringUtils
.
isBlank
(
platElder
.
getRegionName
())){
continue
;
}
PlatDayDurationRecord
durationRecord
=
new
PlatDayDurationRecord
();
durationRecord
.
setElderIds
(
platElder
.
getId
());
durationRecord
.
setRegionName
(
platElder
.
getRegionName
());
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
a8ef199e
...
...
@@ -20,6 +20,7 @@ import com.makeit.service.platform.elder.*;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
import
com.makeit.utils.data.validate.CollectionUtils
;
import
com.makeit.utils.old.StringUtils
;
import
com.makeit.utils.time.LocalDateTimeUtils
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
...
...
@@ -100,6 +101,9 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
platElderSleepEvaluationVO
.
setSleepDuration
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getSleepTime
()
+
""
));
platElderSleepEvaluationVO
.
setRestDuration
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getRestTime
()
+
""
));
platElderSleepEvaluationVO
.
setSleepDurationHour
(
new
BigDecimal
(
platElderSleepEvaluationVO
.
getSleepDuration
()).
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
platElderSleepEvaluationVO
.
setRestDurationHour
(
new
BigDecimal
(
platElderSleepEvaluationVO
.
getRestDuration
()).
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
return
platElderSleepEvaluationVO
;
}
...
...
@@ -425,6 +429,11 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
});
voList
.
forEach
(
e
->
{
if
(
StringUtils
.
isBlank
(
e
.
getAreaName
()))
{
e
.
setAreaName
(
""
);
}
});
Map
<
String
,
List
<
PlatElderBehaviorDistributionVO
>>
map
=
StreamUtil
.
groupBy
(
voList
,
PlatElderBehaviorDistributionVO:
:
getAreaName
);
List
<
PlatElderBehaviorDistributionVO
>
newVoList
=
new
ArrayList
<>(
10
);
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
View file @
a8ef199e
...
...
@@ -29,6 +29,7 @@ import com.makeit.vo.platform.elder.report.week.PlatElderSleepDiagramWeekVO;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.time.DayOfWeek
;
import
java.time.Duration
;
import
java.time.LocalDate
;
...
...
@@ -262,20 +263,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List
<
PlatSleepRangeVO
>
sleepRecord
=
list
.
stream
().
flatMap
(
i
->
i
.
getSleepRecord
().
stream
()).
collect
(
Collectors
.
toList
());
vo
.
setSleepDeepDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_DEEP
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepModerateDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_MODERATE
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepLightnessDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_LIGHTNESS
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSoberDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SOBER
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
PlatElderSleepAnalysis
platElderSleepAnalysis
=
sleepAnalysisMap
.
get
(
dateTimeFormatter
.
format
(
e
));
if
(
platElderSleepAnalysis
!=
null
)
{
vo
.
setTurnedCount
(
platElderSleepAnalysis
.
getTurnedCount
());
vo
.
setBodyMoveCount
(
platElderSleepAnalysis
.
getActionCount
());
vo
.
setScore
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getSleepScore
()
+
""
));
}
return
vo
;
return
getPlatElderSleepDiagramWeekContentVO
(
dateTimeFormatter
,
sleepAnalysisMap
,
timeFormatter
,
e
,
vo
,
sleepRecord
);
});
...
...
@@ -287,20 +275,7 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List
<
PlatSleepRangeVO
>
sleepRecord
=
list
.
stream
().
flatMap
(
i
->
Optional
.
ofNullable
(
i
.
getSleepRecord
()).
orElse
(
new
ArrayList
<>(
10
)).
stream
()).
collect
(
Collectors
.
toList
());
vo
.
setSleepDeepDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_DEEP
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepModerateDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_MODERATE
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepLightnessDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_LIGHTNESS
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSoberDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SOBER
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
PlatElderSleepAnalysis
platElderSleepAnalysis
=
sleepAnalysisMap
.
get
(
dateTimeFormatter
.
format
(
e
));
if
(
platElderSleepAnalysis
!=
null
)
{
vo
.
setTurnedCount
(
platElderSleepAnalysis
.
getTurnedCount
());
vo
.
setBodyMoveCount
(
platElderSleepAnalysis
.
getActionCount
());
vo
.
setScore
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getSleepScore
()
+
""
));
}
return
vo
;
return
getPlatElderSleepDiagramWeekContentVO
(
dateTimeFormatter
,
sleepAnalysisMap
,
timeFormatter
,
e
,
vo
,
sleepRecord
);
});
...
...
@@ -311,6 +286,28 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
return
vo
;
}
private
PlatElderSleepDiagramWeekContentVO
getPlatElderSleepDiagramWeekContentVO
(
DateTimeFormatter
dateTimeFormatter
,
Map
<
String
,
PlatElderSleepAnalysis
>
sleepAnalysisMap
,
DateTimeFormatter
timeFormatter
,
LocalDate
e
,
PlatElderSleepDiagramWeekContentVO
vo
,
List
<
PlatSleepRangeVO
>
sleepRecord
)
{
vo
.
setSleepDeepDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_DEEP
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepModerateDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_MODERATE
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepLightnessDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SLEEP_LIGHTNESS
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSoberDuration
(
sleepRecord
.
stream
().
filter
(
i
->
SleepTypeEnum
.
SOBER
.
getCode
().
equals
(
i
.
getSleepType
())).
map
(
i
->
duration
(
timeFormatter
,
i
.
getStartTime
(),
i
.
getEndTime
())).
reduce
(
0L
,
Long:
:
sum
).
intValue
());
vo
.
setSleepDeepDurationHour
(
new
BigDecimal
(
vo
.
getSleepDeepDuration
()).
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
vo
.
setSleepModerateDurationHour
(
new
BigDecimal
(
vo
.
getSleepModerateDuration
()).
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
vo
.
setSleepLightnessDurationHour
(
new
BigDecimal
(
vo
.
getSleepLightnessDuration
()).
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
vo
.
setSoberDurationHour
(
new
BigDecimal
(
vo
.
getSoberDuration
()).
divide
(
new
BigDecimal
(
60
),
2
,
BigDecimal
.
ROUND_HALF_UP
));
PlatElderSleepAnalysis
platElderSleepAnalysis
=
sleepAnalysisMap
.
get
(
dateTimeFormatter
.
format
(
e
));
if
(
platElderSleepAnalysis
!=
null
)
{
vo
.
setTurnedCount
(
platElderSleepAnalysis
.
getTurnedCount
());
vo
.
setBodyMoveCount
(
platElderSleepAnalysis
.
getActionCount
());
vo
.
setScore
(
Integer
.
valueOf
(
platElderSleepAnalysis
.
getSleepScore
()
+
""
));
}
return
vo
;
}
@Override
public
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluationInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDate
weekStartDate
,
LocalDate
weekEndDate
)
{
...
...
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
View file @
a8ef199e
...
...
@@ -459,6 +459,7 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
spacePath
=
firstId
;
}
else
{
firstId
=
firstSpaceNameMap
.
get
(
item
.
getCommunity
());
spacePath
=
firstId
;
}
//第二层级
...
...
server-service/src/main/java/com/makeit/vo/platform/elder/report/day/PlatElderSleepEvaluationVO.java
View file @
a8ef199e
...
...
@@ -3,6 +3,8 @@ package com.makeit.vo.platform.elder.report.day;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
PlatElderSleepEvaluationVO
{
...
...
@@ -22,4 +24,12 @@ public class PlatElderSleepEvaluationVO {
private
Integer
restDuration
;
@ApiModelProperty
(
value
=
"睡眠时长"
)
private
BigDecimal
sleepDurationHour
;
@ApiModelProperty
(
value
=
"休息时长"
)
private
BigDecimal
restDurationHour
;
}
server-service/src/main/java/com/makeit/vo/platform/elder/report/week/PlatElderSleepDiagramWeekContentVO.java
View file @
a8ef199e
...
...
@@ -3,6 +3,7 @@ package com.makeit.vo.platform.elder.report.week;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDate
;
@Data
...
...
@@ -23,6 +24,7 @@ public class PlatElderSleepDiagramWeekContentVO {
@ApiModelProperty
(
value
=
"清醒时长"
)
private
Integer
soberDuration
;
@ApiModelProperty
(
value
=
"翻身次数"
)
private
Integer
turnedCount
;
...
...
@@ -33,5 +35,17 @@ public class PlatElderSleepDiagramWeekContentVO {
private
Integer
score
;
@ApiModelProperty
(
value
=
"深度睡眠时长"
)
private
BigDecimal
sleepDeepDurationHour
;
@ApiModelProperty
(
value
=
"中度睡眠时长"
)
private
BigDecimal
sleepModerateDurationHour
;
@ApiModelProperty
(
value
=
"浅度睡眠时长"
)
private
BigDecimal
sleepLightnessDurationHour
;
@ApiModelProperty
(
value
=
"清醒时长"
)
private
BigDecimal
soberDurationHour
;
}
server-service/src/main/java/com/makeit/vo/platform/space/PlatBedPanoramaVO.java
View file @
a8ef199e
...
...
@@ -21,6 +21,9 @@ public class PlatBedPanoramaVO extends BaseIdDTO {
@ApiModelProperty
(
"全路径名称"
)
private
String
spacePathName
;
@ApiModelProperty
(
"房间id"
)
private
String
roomId
;
@ApiModelProperty
(
"房间名称"
)
private
String
roomName
;
...
...
server-service/src/main/resources/mappers/PlatBedMapper.xml
View file @
a8ef199e
...
...
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.makeit.mapper.platform.space.PlatBedMapper"
>
<select
id=
"selectBySpaceIdAndStatus"
resultType=
"com.makeit.vo.platform.space.PlatBedPanoramaVO"
>
SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId
SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId
,pm.id as roomId
FROM `plat_bed` pb
LEFT JOIN plat_room pm on pb.room_id = pm.id
LEFT JOIN plat_elder pe on pe.bed_id = pb.id
...
...
@@ -20,7 +20,7 @@
</select>
<select
id=
"selectByRoomIdAndStatus"
resultType=
"com.makeit.vo.platform.space.PlatBedPanoramaVO"
>
SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId
SELECT pb.id,pb.`status`,pb.name bedName ,pm.`name` roomName,pm.space_path,pe.name as elderName,pe.id as elderId
,pm.id as roomId
FROM `plat_bed` pb
LEFT JOIN plat_room pm on pb.room_id = pm.id
LEFT JOIN plat_elder pe on pe.bed_id = pb.id and pe.del_flag = 0
...
...
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