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
279886ca
authored
Jan 08, 2024
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:bug 修改
parent
ba73f159
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
18 deletions
server-common/src/main/java/com/makeit/module/iot/vo/analysis/SleepTimeAnalysisVO.java
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.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/PlatElderSleepServiceImpl.java
server-common/src/main/java/com/makeit/module/iot/vo/analysis/SleepTimeAnalysisVO.java
View file @
279886ca
...
@@ -7,11 +7,22 @@ import java.util.List;
...
@@ -7,11 +7,22 @@ import java.util.List;
@Data
@Data
public
class
SleepTimeAnalysisVO
{
public
class
SleepTimeAnalysisVO
{
/**
* 满足入睡条件开始时间
*/
private
String
startTime
;
private
String
startTime
;
/**
* 不满足入睡条件的时间
*/
private
String
endTime
;
private
String
endTime
;
/**
/**
* 起床时间
*/
private
String
newEndTime
;
/**
* 间隔时间(分钟)
* 间隔时间(分钟)
*/
*/
private
Long
interval
;
private
Long
interval
;
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.java
View file @
279886ca
...
@@ -4,6 +4,8 @@ package com.makeit.module.controller.elder;
...
@@ -4,6 +4,8 @@ package com.makeit.module.controller.elder;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.global.annotation.AuthIgnore
;
import
com.makeit.global.aspect.tenant.TenantIdIgnore
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
...
@@ -42,6 +44,8 @@ public class PlatElderReportDayController {
...
@@ -42,6 +44,8 @@ public class PlatElderReportDayController {
@ApiOperation
(
"睡眠图表"
)
@ApiOperation
(
"睡眠图表"
)
@PostMapping
(
"sleepDiagram"
)
@PostMapping
(
"sleepDiagram"
)
@AuthIgnore
@TenantIdIgnore
public
ApiResponseEntity
<
List
<
PlatElderSleepDiagramVO
>>
sleepDiagram
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
public
ApiResponseEntity
<
List
<
PlatElderSleepDiagramVO
>>
sleepDiagram
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
sleepDiagram
(
platElderIdDTO
));
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
sleepDiagram
(
platElderIdDTO
));
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
279886ca
...
@@ -243,7 +243,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
...
@@ -243,7 +243,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
}
List
<
PlatElderSleep
>
wakeUpList
=
sleepList
.
stream
().
filter
(
f
->
f
.
getElderSleepType
().
equals
(
SleepTypeEnum
.
GETUP
.
getType
())).
collect
(
Collectors
.
toList
());
List
<
PlatElderSleep
>
wakeUpList
=
sleepList
.
stream
().
filter
(
f
->
f
.
getElderSleepType
().
equals
(
SleepTypeEnum
.
GETUP
.
getType
())).
collect
(
Collectors
.
toList
());
sleeps
.
forEach
(
s
->
{
sleeps
.
forEach
(
s
->
{
List
<
PlatElderSleep
>
wakeList
=
wakeUpList
.
stream
().
filter
(
f
->
s
.
getStartSleep
().
isAfter
(
s
.
getEndSleep
())).
collect
(
Collectors
.
toList
());
List
<
PlatElderSleep
>
wakeList
=
wakeUpList
.
stream
().
filter
(
f
->
f
.
getStartSleep
().
isAfter
(
s
.
getEndSleep
())).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isNotEmpty
(
wakeList
))
{
if
(
CollUtil
.
isNotEmpty
(
wakeList
))
{
final
long
[]
minute
=
{
24
*
60
};
final
long
[]
minute
=
{
24
*
60
};
wakeList
.
forEach
(
w
->
{
wakeList
.
forEach
(
w
->
{
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
279886ca
...
@@ -66,12 +66,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -66,12 +66,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
@Autowired
@Autowired
private
SaasSleepEvaluateReportService
saasSleepEvaluateReportService
;
private
SaasSleepEvaluateReportService
saasSleepEvaluateReportService
;
@Autowired
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
@Autowired
private
SaasSleepEvaluateStandardReportService
saasSleepEvaluateStandardReportService
;
private
SaasSleepEvaluateStandardReportService
saasSleepEvaluateStandardReportService
;
@Autowired
@Autowired
private
SaasDiseaseModelService
saasDiseaseModelService
;
@Autowired
private
IotProductDeviceService
productDeviceService
;
private
IotProductDeviceService
productDeviceService
;
@Autowired
@Autowired
private
PlatRoomBedDeviceService
roomBedDeviceService
;
private
PlatRoomBedDeviceService
roomBedDeviceService
;
...
@@ -82,13 +78,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -82,13 +78,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
@Autowired
@Autowired
private
PlatElderSleepAnalysisService
platElderSleepAnalysisService
;
private
PlatElderSleepAnalysisService
platElderSleepAnalysisService
;
@Autowired
@Autowired
private
PlatElderBreatheDayStatService
platElderBreatheDayStatService
;
@Autowired
private
PlatElderSleepService
platElderSleepService
;
private
PlatElderSleepService
platElderSleepService
;
@Autowired
private
PlatElderReportMonthService
platElderReportMonthService
;
private
TreeMap
<
String
,
AnalysisVO
>
getPerMinuteData
(
Map
<
String
,
List
<
DeviceInfoContentBreathe
>>
minuteMap
,
SaasSleepAnalysisModel
analysisModel
)
{
private
TreeMap
<
String
,
AnalysisVO
>
getPerMinuteData
(
Map
<
String
,
List
<
DeviceInfoContentBreathe
>>
minuteMap
,
SaasSleepAnalysisModel
analysisModel
)
{
int
turnedThreshold
=
Integer
.
parseInt
(
analysisModel
.
getTurnedThreshold
());
int
turnedThreshold
=
Integer
.
parseInt
(
analysisModel
.
getTurnedThreshold
());
...
@@ -225,12 +216,13 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -225,12 +216,13 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
*/
*/
private
TreeMap
<
String
,
TreeMap
<
String
,
AnalysisVO
>>
getFallAsleepData
(
TreeMap
<
String
,
AnalysisVO
>
totalMap
,
double
sleepTimeActionDuration
,
private
TreeMap
<
String
,
TreeMap
<
String
,
AnalysisVO
>>
getFallAsleepData
(
TreeMap
<
String
,
AnalysisVO
>
totalMap
,
double
sleepTimeActionDuration
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
)
{
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
)
{
// 入睡时间开始
String
startSleepTime
=
null
;
String
startSleepTime
=
null
;
int
sleepMinute
=
0
;
int
sleepMinute
=
0
;
boolean
isSleep
=
false
;
for
(
Map
.
Entry
<
String
,
AnalysisVO
>
entry
:
totalMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
AnalysisVO
>
entry
:
totalMap
.
entrySet
())
{
AnalysisVO
analysisVO
=
entry
.
getValue
();
AnalysisVO
analysisVO
=
entry
.
getValue
();
// 非离床且体动值<20
if
(!
analysisVO
.
getIsAction
()
&&
!
analysisVO
.
getIsMoveBed
())
{
if
(!
analysisVO
.
getIsAction
()
&&
!
analysisVO
.
getIsMoveBed
())
{
if
(
StrUtil
.
isBlank
(
startSleepTime
))
{
if
(
StrUtil
.
isBlank
(
startSleepTime
))
{
startSleepTime
=
entry
.
getKey
();
startSleepTime
=
entry
.
getKey
();
...
@@ -247,6 +239,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -247,6 +239,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
sleepTimeAnalysisVO
.
setEndTime
(
entry
.
getKey
());
sleepTimeAnalysisVO
.
setEndTime
(
entry
.
getKey
());
sleepTimeAnalysisVO
.
setType
(
SleepTypeEnum
.
DAY_SLEEP
.
getCode
());
sleepTimeAnalysisVO
.
setType
(
SleepTypeEnum
.
DAY_SLEEP
.
getCode
());
sleepTimeAnalysisVOList
.
add
(
sleepTimeAnalysisVO
);
sleepTimeAnalysisVOList
.
add
(
sleepTimeAnalysisVO
);
isSleep
=
true
;
}
}
startSleepTime
=
null
;
startSleepTime
=
null
;
sleepMinute
=
0
;
sleepMinute
=
0
;
...
@@ -286,10 +279,14 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -286,10 +279,14 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
*/
*/
private
void
getUp
(
TreeMap
<
String
,
AnalysisVO
>
totalMap
,
double
riseLeaveThreshold
,
int
riseActionDuration
,
private
void
getUp
(
TreeMap
<
String
,
AnalysisVO
>
totalMap
,
double
riseLeaveThreshold
,
int
riseActionDuration
,
double
repeatSleepThreshold
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
,
double
repeatSleepThreshold
,
List
<
SleepTimeAnalysisVO
>
sleepTimeAnalysisVOList
,
SleepCountDTO
sleepCountDTO
)
{
SleepCountDTO
sleepCountDTO
,
TreeMap
<
String
,
TreeMap
<
String
,
AnalysisVO
>>
sleepTypeMap
)
{
List
<
SleepTimeAnalysisVO
>
sleepList
=
sleepTimeAnalysisVOList
.
stream
()
.
filter
(
f
->
SleepTypeEnum
.
SLEEP
.
getCode
().
equals
(
f
.
getType
())).
collect
(
Collectors
.
toList
());
if
(
CollUtil
.
isEmpty
(
sleepList
))
{
return
;
}
Integer
actionCount
=
0
;
Integer
actionCount
=
0
;
Integer
turnedCount
=
0
;
Integer
turnedCount
=
0
;
// 起床时间
String
startGetupTime
=
null
;
String
startGetupTime
=
null
;
int
getupMinute
=
0
;
int
getupMinute
=
0
;
for
(
Map
.
Entry
<
String
,
AnalysisVO
>
entry
:
totalMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
AnalysisVO
>
entry
:
totalMap
.
entrySet
())
{
...
@@ -318,8 +315,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -318,8 +315,6 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
}
sleepCountDTO
.
setTotalActionCount
(
actionCount
);
sleepCountDTO
.
setTotalActionCount
(
actionCount
);
sleepCountDTO
.
setTotalTurnedCount
(
turnedCount
);
sleepCountDTO
.
setTotalTurnedCount
(
turnedCount
);
List
<
SleepTimeAnalysisVO
>
sleepList
=
sleepTimeAnalysisVOList
.
stream
().
filter
(
f
->
SleepTypeEnum
.
SLEEP
.
getCode
().
equals
(
f
.
getType
())).
collect
(
Collectors
.
toList
());
String
startGetupTime2
=
null
;
String
startGetupTime2
=
null
;
int
getupMinute2
=
0
;
int
getupMinute2
=
0
;
...
@@ -557,6 +552,30 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -557,6 +552,30 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
return
sleepTimeDTO
;
return
sleepTimeDTO
;
}
}
private
void
setWakeUp
(
List
<
SleepTimeAnalysisVO
>
sleepList
,
List
<
SleepTimeAnalysisVO
>
getUpList
)
{
if
(
CollUtil
.
isEmpty
(
sleepList
)
||
CollUtil
.
isEmpty
(
getUpList
))
{
return
;
}
sleepList
.
forEach
(
s
->
{
List
<
SleepTimeAnalysisVO
>
wakeList
=
getUpList
.
stream
().
filter
(
f
->
LocalDateTime
.
parse
(
f
.
getStartTime
(),
DEFAULT_FORMATTER
)
.
isAfter
(
LocalDateTime
.
parse
(
s
.
getStartTime
(),
DEFAULT_FORMATTER
))).
collect
(
Collectors
.
toList
());
// 查询最近的清醒时间,设置
if
(
CollUtil
.
isNotEmpty
(
wakeList
))
{
final
long
[]
minute
=
{
24
*
60
};
wakeList
.
forEach
(
w
->
{
long
between
=
Duration
.
between
(
LocalDateTime
.
parse
(
s
.
getStartTime
(),
DEFAULT_FORMATTER
),
LocalDateTime
.
parse
(
w
.
getStartTime
(),
DEFAULT_FORMATTER
)).
toMinutes
();
if
(
between
<
minute
[
0
])
{
minute
[
0
]
=
between
;
s
.
setNewEndTime
(
w
.
getStartTime
());
}
});
}
});
}
private
PlatElderSleepAnalysis
savePlatElderSleepAnalysis
(
SleepTimeDTO
sleepTimeDTO
,
private
PlatElderSleepAnalysis
savePlatElderSleepAnalysis
(
SleepTimeDTO
sleepTimeDTO
,
SaasSleepEvaluateStandardReport
evaluateStandardReport
,
SaasSleepEvaluateStandardReport
evaluateStandardReport
,
String
elderId
,
String
currentDate
,
SleepCountDTO
sleepCountDTO
,
String
elderId
,
String
currentDate
,
SleepCountDTO
sleepCountDTO
,
...
@@ -584,7 +603,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -584,7 +603,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepAnalysis
.
setTenantId
(
tenantId
);
elderSleepAnalysis
.
setTenantId
(
tenantId
);
elderSleepAnalysis
.
setSleepEvaluate
(
sleepReport
.
getEvaluate
());
elderSleepAnalysis
.
setSleepEvaluate
(
sleepReport
.
getEvaluate
());
elderSleepAnalysis
.
setOriDeviceId
(
oriDeviceId
);
elderSleepAnalysis
.
setOriDeviceId
(
oriDeviceId
);
platElderSleepAnalysisService
.
save
(
elderSleepAnalysis
);
//
platElderSleepAnalysisService.save(elderSleepAnalysis);
return
elderSleepAnalysis
;
return
elderSleepAnalysis
;
}
}
...
@@ -723,7 +742,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -723,7 +742,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepList
.
add
(
platElderSleep
);
elderSleepList
.
add
(
platElderSleep
);
}
}
}
}
platElderSleepService
.
saveBatch
(
elderSleepList
);
//
platElderSleepService.saveBatch(elderSleepList);
return
elderSleepList
;
return
elderSleepList
;
}
}
...
@@ -815,7 +834,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -815,7 +834,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
// 清醒
// 清醒
sober
(
sleepTypeMap
,
sleepTimeAnalysisVOList
);
sober
(
sleepTypeMap
,
sleepTimeAnalysisVOList
);
// 起床
// 起床
getUp
(
totalMap
,
riseLeaveThreshold
,
riseActionDuration
,
repeatSleepThreshold
,
sleepTimeAnalysisVOList
,
sleepCountDTO
);
getUp
(
totalMap
,
riseLeaveThreshold
,
riseActionDuration
,
repeatSleepThreshold
,
sleepTimeAnalysisVOList
,
sleepCountDTO
,
sleepTypeMap
);
//浅睡
//浅睡
SleepTimeDTO
sleepTimeDTO
=
groupSleepData
(
sleepTimeAnalysisVOList
);
SleepTimeDTO
sleepTimeDTO
=
groupSleepData
(
sleepTimeAnalysisVOList
);
List
<
PlatElderSleep
>
platElderSleeps
=
saveElderSleep
(
sleepTimeDTO
,
elder
.
getId
(),
currentDate
);
List
<
PlatElderSleep
>
platElderSleeps
=
saveElderSleep
(
sleepTimeDTO
,
elder
.
getId
(),
currentDate
);
...
@@ -866,6 +885,9 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
...
@@ -866,6 +885,9 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
lightScore
=
Integer
.
parseInt
(
lightnessConfig
.
getScore
())
*
multiplier
;
lightScore
=
Integer
.
parseInt
(
lightnessConfig
.
getScore
())
*
multiplier
;
}
}
Integer
totalScore
=
sleepScore
.
get
()
+
deepScore
.
get
()
+
lightScore
-
soberScore
.
get
();
Integer
totalScore
=
sleepScore
.
get
()
+
deepScore
.
get
()
+
lightScore
-
soberScore
.
get
();
if
(
totalScore
<
0
)
{
totalScore
=
0
;
}
return
String
.
valueOf
(
totalScore
);
return
String
.
valueOf
(
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