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
0f0a77ee
authored
Dec 27, 2023
by
汪志阳
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix:bug修复
parent
1f3154f5
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
84 additions
and
15 deletions
db/上线后sql/update.sql
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleepAnalysis.java
server-service/src/main/java/com/makeit/enums/report/SleepTypeEnum.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheAnalysisServiceImpl.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
db/上线后sql/update.sql
View file @
0f0a77ee
ALTER
TABLE
`plat_device_other`
ALTER
TABLE
`plat_device_other`
...
...
@@ -116,3 +116,9 @@ CREATE TABLE `plat_elder_breathe_heart_rate_record` (
ALTER
TABLE
`plat_alarm_record`
ADD
COLUMN
`device_time`
varchar
(
64
)
COMMENT
'当前上报时间'
AFTER
`wechat_read_flag`
;
alter
table
plat_elder_sleep_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
alter
table
plat_elder_breathe_analysis
add
column
`ori_device_id`
varchar
(
64
)
default
NULL
COMMENT
'iot设备id'
;
\ No newline at end of file
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
View file @
0f0a77ee
...
...
@@ -42,7 +42,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
happenDate
;
// @TableField(exist = false
)
// private String remake
;
@ApiModelProperty
(
value
=
"原始设备ID"
)
private
String
oriDeviceId
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleepAnalysis.java
View file @
0f0a77ee
...
...
@@ -47,5 +47,8 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
@ApiModelProperty
(
value
=
"翻身次数"
)
private
Integer
turnedCount
;
@ApiModelProperty
(
value
=
"原始设备ID"
)
private
String
oriDeviceId
;
}
server-service/src/main/java/com/makeit/enums/report/SleepTypeEnum.java
View file @
0f0a77ee
...
...
@@ -19,5 +19,15 @@ public enum SleepTypeEnum {
private
String
value
;
public
static
SleepTypeEnum
getSleepType
(
String
code
)
{
for
(
SleepTypeEnum
typeEnum
:
SleepTypeEnum
.
values
())
{
if
(
typeEnum
.
getCode
().
equals
(
code
))
{
return
typeEnum
;
}
}
return
null
;
}
}
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheAnalysisServiceImpl.java
View file @
0f0a77ee
...
...
@@ -454,6 +454,7 @@ public class PlatElderBreatheAnalysisServiceImpl extends ServiceImpl<PlatElderBr
platElderBreatheAnalysis
.
setHappenDate
(
String
.
valueOf
(
yesDate
));
platElderBreatheAnalysis
.
setTenantId
(
platElder
.
getTenantId
());
platElderBreatheAnalysis
.
setBreatheEvaluate
(
diseaseReport
==
null
?
""
:
diseaseReport
.
getEvaluate
());
platElderBreatheAnalysis
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
// 修复数据
PlatElderBreatheAnalysis
breatheAnalysis
=
analysisMap
.
get
(
platElder
.
getId
());
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderDayReportDayServiceImpl.java
View file @
0f0a77ee
package
com
.
makeit
.
service
.
platform
.
elder
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.google.common.collect.Lists
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
...
...
@@ -13,6 +15,7 @@ import com.makeit.entity.platform.elder.*;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateStandardReport
;
import
com.makeit.enums.CommonEnum
;
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.fall.DeviceInfoContentFall
;
...
...
@@ -36,11 +39,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.time.Duration
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -97,9 +102,6 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
public
PlatElderSleepEvaluationVO
sleepEvaluation
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
PlatElderSleepEvaluationVO
platElderSleepEvaluationVO
=
new
PlatElderSleepEvaluationVO
();
String
nowString
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
).
format
(
now
);
...
...
@@ -122,14 +124,12 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
if
(
platElderSleepAnalysis
==
null
)
{
return
platElderSleepEvaluationVO
;
}
SaasSleepEvaluateStandardReport
evaluateStandardReport
=
saasSleepEvaluateStandardReportService
.
getOne
(
new
QueryWrapper
<
SaasSleepEvaluateStandardReport
>().
lambda
().
orderByDesc
(
BaseEntity:
:
getCreateDate
)
.
last
(
"limit 1"
));
// String sleepScore = platElderSleepAnalysis.getSleepScore();
String
sleepScore
=
platElderSleepService
.
calculateScores
(
Long
.
parseLong
(
platElderSleepAnalysis
.
getSleepTime
()),
Long
.
parseLong
(
platElderSleepAnalysis
.
getRestTime
()),
0
,
0
,
0
,
evaluateStandardReport
);
EvaluateReportVO
evaluateReport
=
sleepEvaluateReportService
.
getByScore
(
Long
.
parseLong
(
sleepScore
));
Long
sleepScore
=
getSleepScore
(
platElderSleepAnalysis
);
EvaluateReportVO
evaluateReport
=
sleepEvaluateReportService
.
getByScore
(
sleepScore
);
platElderSleepEvaluationVO
.
setScore
(
Integer
.
valueOf
(
sleepScore
+
""
));
platElderSleepEvaluationVO
.
setResult
(
platElderSleepAnalysis
.
getSleepResult
());
...
...
@@ -144,6 +144,52 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
private
Long
getSleepScore
(
PlatElderSleepAnalysis
platElderSleepAnalysis
)
{
SaasSleepEvaluateStandardReport
evaluateStandardReport
=
saasSleepEvaluateStandardReportService
.
getOne
(
new
QueryWrapper
<
SaasSleepEvaluateStandardReport
>().
lambda
().
orderByDesc
(
BaseEntity:
:
getCreateDate
)
.
last
(
"limit 1"
));
List
<
PlatElderSleep
>
sleepList
=
platElderSleepService
.
list
(
Wrappers
.<
PlatElderSleep
>
lambdaQuery
()
.
eq
(
PlatElderSleep:
:
getHappenDate
,
platElderSleepAnalysis
.
getHappenDate
())
.
eq
(
PlatElderSleep:
:
getElderId
,
platElderSleepAnalysis
.
getElderId
()));
String
baseScore
=
platElderSleepService
.
calculateScores
(
Long
.
parseLong
(
platElderSleepAnalysis
.
getSleepTime
()),
Long
.
parseLong
(
platElderSleepAnalysis
.
getRestTime
()),
0
,
0
,
0
,
evaluateStandardReport
);
if
(
CollUtil
.
isEmpty
(
sleepList
)){
return
Long
.
parseLong
(
baseScore
);
}
AtomicReference
<
Long
>
score
=
new
AtomicReference
<>(
0L
);
sleepList
.
forEach
(
s
->
{
List
<
PlatSleepRangeVO
>
sleepRecord
=
s
.
getSleepRecord
();
sleepRecord
.
forEach
(
l
->
{
LocalDateTime
start
=
LocalDateTime
.
parse
(
l
.
getStartTime
(),
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm"
));
LocalDateTime
end
=
LocalDateTime
.
parse
(
l
.
getEndTime
(),
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm"
));
long
minutes
=
Duration
.
between
(
start
,
end
).
toMinutes
();
SleepTypeEnum
sleepType
=
SleepTypeEnum
.
getSleepType
(
l
.
getSleepType
());
if
(
sleepType
==
null
)
{
return
;
}
String
sleepScore
=
"0"
;
switch
(
sleepType
)
{
case
SLEEP_LIGHTNESS:
sleepScore
=
platElderSleepService
.
calculateScores
(
0
,
0
,
0
,
0
,
minutes
,
evaluateStandardReport
);
break
;
case
SLEEP_DEEP:
sleepScore
=
platElderSleepService
.
calculateScores
(
0
,
0
,
minutes
,
0
,
0
,
evaluateStandardReport
);
break
;
default
:
}
String
finalSleepScore
=
sleepScore
;
score
.
updateAndGet
(
v
->
v
+
Long
.
parseLong
(
finalSleepScore
));
});
});
return
Long
.
parseLong
(
baseScore
)
+
score
.
get
();
}
@Override
public
List
<
PlatElderSleepDiagramVO
>
sleepDiagram
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderSleepServiceImpl.java
View file @
0f0a77ee
...
...
@@ -705,7 +705,7 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
dayRestTime
+=
elderSleep
.
getInterval
();
}
}
platElderSleepService
.
saveBatch
(
elderSleepList
);
//
platElderSleepService.saveBatch(elderSleepList);
String
score
=
calculateScores
(
daySleepTime
,
dayRestTime
,
deepTime
,
soberTime
,
lightTime
,
evaluateStandardReport
);
EvaluateReportVO
sleepReport
=
saasSleepEvaluateReportService
.
getByScore
(
Long
.
parseLong
(
score
));
...
...
@@ -721,8 +721,9 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
elderSleepAnalysis
.
setSleepResult
(
sleepReport
.
getResult
());
elderSleepAnalysis
.
setTenantId
(
tenantId
);
elderSleepAnalysis
.
setSleepEvaluate
(
sleepReport
.
getEvaluate
());
elderSleepAnalysis
.
setOriDeviceId
(
platDevice
.
getOriDeviceId
());
result
.
add
(
elderSleepAnalysis
);
platElderSleepAnalysisService
.
save
(
elderSleepAnalysis
);
//
platElderSleepAnalysisService.save(elderSleepAnalysis);
}
return
result
;
}
...
...
@@ -761,7 +762,8 @@ public class PlatElderSleepServiceImpl extends ServiceImpl<PlatElderSleepMapper,
}
});
if
(
Integer
.
parseInt
(
lightnessConfig
.
getHour
())
<=
lightHour
)
{
lightScore
=
Integer
.
parseInt
(
lightnessConfig
.
getScore
());
int
multiplier
=
(
int
)
lightHour
/
Integer
.
parseInt
(
lightnessConfig
.
getHour
());
lightScore
=
Integer
.
parseInt
(
lightnessConfig
.
getScore
())
*
multiplier
;
}
Integer
totalScore
=
sleepScore
.
get
()
+
deepScore
.
get
()
+
lightScore
-
soberScore
.
get
();
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