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
c32dd433
authored
Sep 20, 2023
by
杨伟程
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
老人报表更新
parent
98095577
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
78 additions
and
5 deletions
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
server-service/src/main/java/com/makeit/task/HeartRespiratoryTask.java
server-service/src/main/java/com/makeit/task/ReportMonthJob.java → server-service/src/main/java/com/makeit/task/ReportMonthTask.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.java
View file @
c32dd433
...
...
@@ -48,4 +48,6 @@ public interface PlatElderDayReportWeekService {
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
);
void
heartRespiratoryJob
();
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportWeekServiceImpl.java
View file @
c32dd433
...
...
@@ -4,14 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
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.PlatElderSleepAnalysis
;
import
com.makeit.entity.platform.elder.*
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.report.SleepTypeEnum
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.service.saas.PlatTenantService
;
import
com.makeit.service.saas.SaasDiseaseReportService
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
...
...
@@ -45,6 +45,12 @@ import java.util.stream.Collectors;
public
class
PlatElderDayReportWeekServiceImpl
implements
PlatElderDayReportWeekService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatTenantService
platTenantService
;
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Autowired
...
...
@@ -71,6 +77,9 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
@Autowired
private
PlatElderBreatheDayStatService
platElderBreatheDayStatService
;
@Autowired
private
IotProductDeviceService
iotProductDeviceService
;
private
LocalDateTime
weekStartDateTime
(
LocalDateTime
defaultTime
)
{
return
weekStartDateTime
(
LocalDate
.
now
().
minusDays
(
1
),
defaultTime
);
}
...
...
@@ -423,7 +432,51 @@ public class PlatElderDayReportWeekServiceImpl implements PlatElderDayReportWeek
List
<
LocalDate
>
dateList
=
LocalDateTimeUtils
.
getDateSeries
(
weekStartDate
,
weekEndDate
);
return
platElderDayReportDayService
.
behaviorDistributionInternal
(
platElderIdDTO
,
dateList
);
}
@Override
public
void
heartRespiratoryJob
()
{
LocalDate
nowDate
=
LocalDate
.
now
();
LocalDate
yesDate
=
nowDate
.
minusDays
(
1
);
LocalDateTime
yesStart
=
LocalDateTimeUtils
.
getDayStart
(
yesDate
);
LocalDateTime
yesEnd
=
LocalDateTimeUtils
.
getDayEnd
(
yesDate
);
List
<
PlatElderBreatheDayStat
>
breatheDayStatList
=
new
ArrayList
<>(
10
);
platTenantService
.
executeTenantList
(()
->
{
List
<
PlatElder
>
elderList
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
isNotNull
(
PlatElder:
:
getBedId
));
elderList
.
forEach
(
e
->
{
PlatDevice
platDevice
=
platElderRealTimeService
.
getBreathDevice
(
e
.
getId
(),
null
);
PlatElderBreatheDayStat
platElderBreatheDayStat
=
new
PlatElderBreatheDayStat
();
platElderBreatheDayStat
.
setElderId
(
e
.
getId
());
platElderBreatheDayStat
.
setDeviceId
(
platDevice
.
getId
());
platElderBreatheDayStat
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
platElderBreatheDayStat
.
setDay
(
yesDate
);
List
<
DeviceInfoContentBreathe
>
breatheList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeBreathe
(
platDevice
.
getOriDeviceId
(),
2
*
24
*
3600
,
yesStart
,
yesEnd
);
platElderBreatheDayStat
.
setHeartRateMax
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getHr
()).
max
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setHeartRateMin
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getHr
()).
min
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setHeartRateAvg
((
int
)
(
StreamUtil
.
reduce
(
breatheList
,
i
->
(
long
)
i
.
getProperties
().
getHr
(),
0L
,
Long:
:
sum
)
/
breatheList
.
size
()));
platElderBreatheDayStat
.
setRespiratoryRateMax
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getBr
()).
max
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setRespiratoryRateMin
(
breatheList
.
stream
().
map
(
i
->
i
.
getProperties
().
getBr
()).
min
(
Integer:
:
compareTo
).
orElse
(
null
));
platElderBreatheDayStat
.
setRespiratoryRateAvg
((
int
)
(
StreamUtil
.
reduce
(
breatheList
,
i
->
(
long
)
i
.
getProperties
().
getBr
(),
0L
,
Long:
:
sum
)
/
breatheList
.
size
()));
breatheDayStatList
.
add
(
platElderBreatheDayStat
);
});
platElderBreatheDayStatService
.
saveBatch
(
breatheDayStatList
);
});
}
}
server-service/src/main/java/com/makeit/task/HeartRespiratoryTask.java
0 → 100644
View file @
c32dd433
package
com
.
makeit
.
task
;
import
com.makeit.service.platform.elder.PlatElderDayReportWeekService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
@Component
public
class
HeartRespiratoryTask
{
@Autowired
private
PlatElderDayReportWeekService
platElderDayReportWeekService
;
@Scheduled
(
cron
=
"0 0 2 * * ? "
)
public
void
job
(){
platElderDayReportWeekService
.
heartRespiratoryJob
();
}
}
server-service/src/main/java/com/makeit/task/ReportMonth
Job
.java
→
server-service/src/main/java/com/makeit/task/ReportMonth
Task
.java
View file @
c32dd433
...
...
@@ -6,7 +6,7 @@ import org.springframework.scheduling.annotation.Scheduled;
import
org.springframework.stereotype.Component
;
@Component
public
class
ReportMonth
Job
{
public
class
ReportMonth
Task
{
@Autowired
private
PlatElderReportMonthService
platElderReportMonthService
;
...
...
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