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
9114b029
authored
Sep 19, 2023
by
朱淼
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'dev' of
http://git.xmmakeit.com/huangjiay/iot-platform-server
into dev
parents
87a6fc7e
6df9701a
Hide whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
1308 additions
and
208 deletions
db/inti-elder.sql
saas-module/src/main/java/com/makeit/controller/device/SaasDeviceReportDayController.java
saas-module/src/main/java/com/makeit/controller/saas/SaasPlatUserController.java
server-api/server-api.iml
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatUserQueryDTO.java
server-common/src/main/java/com/makeit/module/admin/vo/plat/PlatTenantVO.java
server-common/src/main/java/com/makeit/module/iot/enums/DeviceInfoContentFallEnum.java
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
server-common/src/main/java/com/makeit/module/iot/vo/analysis/AnalysisVO.java
server-common/src/main/java/com/makeit/module/iot/vo/analysis/BreatheAbnormalVO.java
server-common/src/main/java/com/makeit/module/iot/vo/breathe/DeviceInfoContentBreathe.java
server-common/src/main/resources/locale/business_messages.properties
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-module/src/main/java/com/makeit/module/controller/space/PlatSpaceController.java
server-service/src/main/java/com/makeit/dto/platform/auth/PlatUserRoleDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceImportDTO.java
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceVO.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheDayStat.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleep.java
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleepAnalysis.java
server-service/src/main/java/com/makeit/entity/saas/PlatTenant.java
server-service/src/main/java/com/makeit/enums/report/BreatheTypeEnum.java
server-service/src/main/java/com/makeit/mapper/platform/auth/PlatUserRoleMapper.java
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderBreatheDayStatMapper.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserRoleService.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserService.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserRoleServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.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/PlatElderRealTimeService.java
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderService.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/platform/elder/impl/PlatElderRealTimeServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomBedDeviceService.java
server-service/src/main/java/com/makeit/service/platform/space/PlatSpaceService.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/SaasElderReportConfigService.java
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
server-service/src/main/java/com/makeit/service/saas/impl/SaasDiseaseReportServiceImpl.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
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
server-service/src/main/java/com/makeit/task/IotSyncTask.java
server-service/src/main/java/com/makeit/vo/platform/auth/PlatPersonDTOVO.java
db/inti-elder.sql
View file @
9114b029
...
...
@@ -37,12 +37,12 @@ CREATE TABLE `plat_elder`
floor_space_id
varchar
(
64
)
NULL
COMMENT
'楼层id'
,
`room_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'房间id'
,
`bed_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'床位id'
,
`space_path`
varchar
(
300
)
DEFAULT
NULL
COMMENT
'空间-房间-床位路径'
,
`space_path`
varchar
(
300
)
DEFAULT
NULL
COMMENT
'空间-房间-床位路径'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
`remark`
varchar
(
1024
)
DEFAULT
NULL
COMMENT
'备注'
,
avatar
varchar
(
64
)
NULL
COMMENT
'头像文件id'
,
check_in_time
datetime
DEFAULT
NULL
COMMENT
'入住时间'
,
...
...
@@ -151,22 +151,22 @@ CREATE TABLE `plat_elder_medical_examination_info`
CREATE
TABLE
`plat_elder_children_info`
(
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`elder_id`
varchar
(
64
)
NULL
COMMENT
'长者id'
,
`openid`
varchar
(
64
)
NOT
NULL
COMMENT
'openid'
,
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'id'
,
`elder_id`
varchar
(
64
)
NULL
COMMENT
'长者id'
,
`openid`
varchar
(
64
)
NOT
NULL
COMMENT
'openid'
,
`name`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'姓名'
,
`phone`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'手机号码'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_id
varchar
(
64
)
NULL
COMMENT
'组织id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
avatar
varchar
(
64
)
NULL
COMMENT
'微信头像路径'
,
avatar
varchar
(
64
)
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是 '
,
del_flag
char
(
1
)
not
null
comment
' 删除标志 0否 1是 '
,
`tenant_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
' 租户id '
,
PRIMARY
KEY
(
`id`
),
KEY
`index_elder_id`
(
`elder_id`
)
USING
BTREE
...
...
@@ -209,13 +209,13 @@ CREATE TABLE `plat_dict_info`
CREATE
TABLE
`plat_alarm_config`
(
`id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'id'
,
`id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'id'
,
`alarm_type`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'告警类型 数据字典 1 长者跌倒 2 呼吸异常 3 心率异常 4 行为异常'
,
`status`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'状态 数据字典 1 启用 0 禁用'
,
`org_id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'所属组织机构id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
`org_id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'所属组织机构id'
,
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
`rule_config`
VARCHAR
(
512
)
DEFAULT
NULL
COMMENT
'规则配置'
,
`content`
VARCHAR
(
512
)
DEFAULT
NULL
COMMENT
'内容'
,
...
...
@@ -251,7 +251,7 @@ CREATE TABLE `plat_device`
city_org_id
varchar
(
64
)
NULL
COMMENT
'城市组织id'
,
district_org_id
varchar
(
64
)
NULL
COMMENT
'区组织id'
,
street_org_id
varchar
(
64
)
NULL
COMMENT
'街道组织id'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
org_path
varchar
(
300
)
NULL
COMMENT
'组织路径'
,
`create_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'创建者'
,
`create_date`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`update_by`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'更新者'
,
...
...
@@ -293,13 +293,13 @@ CREATE TABLE `plat_elder_sleep`
`elder_id`
VARCHAR
(
64
)
NOT
NULL
COMMENT
'长者id'
,
`start_sleep`
datetime
DEFAULT
NULL
COMMENT
'入睡时间'
,
`end_sleep`
datetime
DEFAULT
NULL
COMMENT
'起床时间'
,
`
current
_date`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'当前日期 yyyy-mm-dd'
,
`
happen
_date`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'当前日期 yyyy-mm-dd'
,
`sleep_record`
text
DEFAULT
NULL
COMMENT
'睡眠记录 区分时间段记录 [{"sleepType":"","startTime":"","endTime":""},{}]'
,
`create_date`
datetime
NO
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NO
T
NULL
COMMENT
'更新时间'
,
`create_date`
datetime
DEFAUL
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
DEFAUL
T
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
VARCHAR
(
64
)
NO
T
NULL
COMMENT
'创建人'
,
`update_by`
VARCHAR
(
64
)
NO
T
NULL
COMMENT
'更新人'
,
`create_by`
VARCHAR
(
64
)
DEFAUL
T
NULL
COMMENT
'创建人'
,
`update_by`
VARCHAR
(
64
)
DEFAUL
T
NULL
COMMENT
'更新人'
,
`tenant_id`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'租户id'
,
PRIMARY
KEY
(
`id`
),
KEY
`index_elder_id`
(
`elder_id`
)
USING
BTREE
...
...
@@ -316,12 +316,12 @@ CREATE TABLE `plat_elder_sleep_analysis`
`sleep_time`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'睡眠时长'
,
`rest_time`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'休息时长'
,
`sleep_evaluate`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'评价'
,
`
current
_date`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'当前日期 yyyy-mm-dd'
,
`create_date`
datetime
NO
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NO
T
NULL
COMMENT
'更新时间'
,
`
happen
_date`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'当前日期 yyyy-mm-dd'
,
`create_date`
datetime
DEFAUL
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
DEFAUL
T
NULL
COMMENT
'更新时间'
,
`del_flag`
CHAR
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
VARCHAR
(
64
)
NO
T
NULL
COMMENT
'创建人'
,
`update_by`
VARCHAR
(
64
)
NO
T
NULL
COMMENT
'更新人'
,
`create_by`
VARCHAR
(
64
)
DEFAUL
T
NULL
COMMENT
'创建人'
,
`update_by`
VARCHAR
(
64
)
DEFAUL
T
NULL
COMMENT
'更新人'
,
`tenant_id`
VARCHAR
(
64
)
DEFAULT
NULL
COMMENT
'租户id'
,
PRIMARY
KEY
(
`id`
),
KEY
`index_elder_id`
(
`elder_id`
)
USING
BTREE
...
...
@@ -336,11 +336,11 @@ CREATE TABLE `plat_elder_breathe_abnormal` (
`happen_time`
datetime
NOT
NULL
COMMENT
'发生时间'
,
`type`
varchar
(
32
)
DEFAULT
NULL
COMMENT
'异常类型'
,
`value`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'值'
,
`create_date`
datetime
NO
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NO
T
NULL
COMMENT
'更新时间'
,
`create_date`
datetime
DEFAUL
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
DEFAUL
T
NULL
COMMENT
'更新时间'
,
`del_flag`
char
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NO
T
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NO
T
NULL
COMMENT
'更新人'
,
`create_by`
varchar
(
64
)
DEFAUL
T
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
DEFAUL
T
NULL
COMMENT
'更新人'
,
`tenant_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'租户id'
,
PRIMARY
KEY
(
`id`
),
KEY
`index_elder_id`
(
`elder_id`
)
USING
BTREE
...
...
@@ -354,12 +354,12 @@ CREATE TABLE `plat_elder_breathe_analysis` (
`breathe_evaluate`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'评价'
,
`avg_heart_rate`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'平均心率'
,
`avg_breathe_rate`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'平均呼吸率'
,
`
current
_date`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'当前日期 yyyy-mm-dd'
,
`create_date`
datetime
NO
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
NO
T
NULL
COMMENT
'更新时间'
,
`
happen
_date`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'当前日期 yyyy-mm-dd'
,
`create_date`
datetime
DEFAUL
T
NULL
COMMENT
'创建时间'
,
`update_date`
datetime
DEFAUL
T
NULL
COMMENT
'更新时间'
,
`del_flag`
char
(
1
)
DEFAULT
NULL
COMMENT
'删除标识'
,
`create_by`
varchar
(
64
)
NO
T
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
NO
T
NULL
COMMENT
'更新人'
,
`create_by`
varchar
(
64
)
DEFAUL
T
NULL
COMMENT
'创建人'
,
`update_by`
varchar
(
64
)
DEFAUL
T
NULL
COMMENT
'更新人'
,
`tenant_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'租户id'
,
PRIMARY
KEY
(
`id`
),
KEY
`index_elder_id`
(
`elder_id`
)
USING
BTREE
...
...
@@ -386,3 +386,30 @@ CREATE TABLE `plat_elder_report_month`
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'长者月报'
;
ALTER
TABLE
`dev_iot_yanglao_platform`
.
`plat_elder_sleep_analysis`
ADD
COLUMN
`action_count`
int
(
4
)
COMMENT
'体动次数'
AFTER
`happen_date`
,
ADD
COLUMN
`turned_count`
int
(
4
)
COMMENT
'翻身次数'
AFTER
`action_count`
;
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
=
'长者呼吸心率日统计'
;
saas-module/src/main/java/com/makeit/controller/device/SaasDeviceReportDayController.java
View file @
9114b029
...
...
@@ -9,12 +9,7 @@ import com.makeit.global.aspect.tenant.TenantIdIgnore;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderBehaviorDistributionVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderBehaviorExceptionRecordVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationRecordVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderHeartRespiratoryEvaluationVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderSleepDiagramVO
;
import
com.makeit.vo.platform.elder.report.day.PlatElderSleepEvaluationVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -86,15 +81,15 @@ public class SaasDeviceReportDayController {
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
@TenantIdIgnore
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
return
null
;
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
@TenantIdIgnore
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
return
null
;
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
failRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"坐标记录"
)
...
...
@@ -107,8 +102,8 @@ public class SaasDeviceReportDayController {
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
@TenantIdIgnore
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElder
Id
DTO
platElderIdDTO
)
{
return
null
;
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElder
Report
DTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
behaviorDistribution
(
platElderIdDTO
))
;
}
}
...
...
saas-module/src/main/java/com/makeit/controller/saas/SaasPlatUserController.java
View file @
9114b029
...
...
@@ -51,9 +51,10 @@ public class SaasPlatUserController {
}
@Action
(
module
=
"saas端-租户账号"
,
name
=
"列表"
,
code
=
"saas.plat.user.listTenant"
)
@ApiOperation
(
"列表"
)
@ApiOperation
(
"列表
-未关联租户
"
)
@PostMapping
(
"listTenant"
)
public
ApiResponseEntity
<
List
<
PlatUserDTOVO
>>
listTenant
(
@RequestBody
PlatUserQueryDTO
dto
){
dto
.
setLinkTenant
(
CommonEnum
.
NO
.
getValue
());
return
ApiResponseUtils
.
success
(
platUserService
.
listTenant
(
dto
));
}
...
...
server-api/server-api.iml
View file @
9114b029
...
...
@@ -157,6 +157,7 @@
<orderEntry
type=
"library"
name=
"Maven: org.springframework.integration:spring-integration-core:5.5.5"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework:spring-messaging:5.3.12"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.retry:spring-retry:1.3.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.annotation:javax.annotation-api:1.3.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.springframework.integration:spring-integration-mqtt:5.5.5"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.aliyun:dysmsapi20170525:2.0.9"
level=
"project"
/>
...
...
@@ -183,7 +184,6 @@
<orderEntry
type=
"library"
name=
"Maven: org.apache.poi:poi-ooxml:5.2.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.poi:poi-ooxml-lite:5.2.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlbeans:xmlbeans:5.0.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: xml-apis:xml-apis:1.4.01"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.commons:commons-compress:1.21"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: com.github.virtuald:curvesapi:1.07"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: cn.hutool:hutool-all:5.3.5"
level=
"project"
/>
...
...
@@ -205,6 +205,7 @@
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlgraphics:batik-bridge:1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlgraphics:batik-script:1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlgraphics:batik-dom:1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: xml-apis:xml-apis:1.4.01"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlgraphics:batik-gvt:1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlgraphics:batik-shared-resources:1.14"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.xmlgraphics:batik-svggen:1.14"
level=
"project"
/>
...
...
server-common/src/main/java/com/makeit/enums/CodeMessageEnum.java
View file @
9114b029
...
...
@@ -29,6 +29,7 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_NAME_DUPLICATE
(
500
,
"SYSTEM.ERROR.NAME.DUPLICATE"
),
SYSTEM_ERROR_NAME_ENG_DUPLICATE
(
500
,
"SYSTEM.ERROR.NAME.ENG.DUPLICATE"
),
SYSTEM_ERROR_CODE_DUPLICATE
(
500
,
"SYSTEM.ERROR.CODE.DUPLICATE"
),
SYSTEM_ERROR_TENANT_CODE_DUPLICATE
(
500
,
"SYSTEM.ERROR.TENANT.CODE.DUPLICATE"
),
SYSTEM_ERROR_DICT_VALUE_DUPLICATE
(
500
,
"SYSTEM.ERROR.DICT.VALUE.DUPLICATE"
),
SYSTEM_ERROR_DICT_NOT_EXIST
(
500
,
"SYSTEM.ERROR.DICT.NOT.EXIST"
),
...
...
@@ -110,6 +111,8 @@ public enum CodeMessageEnum {
SYSTEM_ERROR_TENANT_NOT_EXIST
(
510
,
"SYSTEM.ERROR.TENANT.NOT.EXIST"
),
SYSTEM_ERROR_ROLE_ADMIN_CANT_ADD
(
500
,
"SYSTEM.ERROR.ROLE.ADMIN.CANT.ADD"
),
SYSTEM_ERROR_ROLE_ADMIN_CANT_EDIT
(
500
,
"SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT"
),
SYSTEM_ERROR_TENANT_FORBIDDEN
(
500
,
"SYSTEM.ERROR.TENANT.FORBIDDEN"
),
SYSTEM_ERROR_ORG_FORBIDDEN
(
500
,
"SYSTEM.ERROR.ORG.FORBIDDEN"
),
PLATFORM_ERROR_ALARM_NOT_FOUND_SPACE
(
500
,
"PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE"
),
...
...
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatTenantDTOVO.java
View file @
9114b029
...
...
@@ -54,4 +54,10 @@ public class PlatTenantDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"菜单id集合"
)
private
List
<
String
>
menuIdList
;
@ApiModelProperty
(
value
=
"租户标识"
)
private
String
code
;
@ApiModelProperty
(
value
=
"租户平台地址"
)
private
String
url
;
}
server-common/src/main/java/com/makeit/module/admin/dto/plat/PlatUserQueryDTO.java
View file @
9114b029
...
...
@@ -26,27 +26,15 @@ public class PlatUserQueryDTO extends BaseOrgDTO {
@ApiModelProperty
(
value
=
"状态 0禁用 1启用"
)
private
String
status
;
@ApiModelProperty
(
value
=
"邮箱"
)
private
String
email
;
@ApiModelProperty
(
value
=
"角色id roleId和notRoleId只能用一个"
)
private
String
roleId
;
@ApiModelProperty
(
value
=
"要排除的角色id roleId和notRoleId只能用一个"
)
private
String
notRoleId
;
// @ApiModelProperty(value = "关键词 用来搜姓名或者工号")
// private String keyword;
//
// @ApiModelProperty(value = "职级")
// private Integer postLevel;
//
// @ApiModelProperty(value = "是否从酒店开始 0否 1是")
// private String fromHotel;
//
// @ApiModelProperty(value = "是否常用人员 0否 1是")
// private String isFrequent;
//
// @ApiModelProperty(value = "标签id")
// private String labelId;
@ApiModelProperty
(
value
=
"用户工号集合"
)
private
List
<
String
>
accountList
;
...
...
@@ -62,4 +50,7 @@ public class PlatUserQueryDTO extends BaseOrgDTO {
@ApiModelProperty
(
value
=
"部门id集合"
)
private
List
<
String
>
orgIdList
;
@ApiModelProperty
(
value
=
"已关联租户 0-未关联 1-已关联"
)
private
String
linkTenant
;
}
server-common/src/main/java/com/makeit/module/admin/vo/plat/PlatTenantVO.java
View file @
9114b029
...
...
@@ -28,7 +28,7 @@ public class PlatTenantVO extends BaseIdDTO implements Serializable {
private
LocalDate
endTime
;
@ApiModelProperty
(
value
=
"租户管理员id"
)
private
String
tn
tUserId
;
private
String
pla
tUserId
;
@ApiModelProperty
(
value
=
"租户管理员账号"
)
private
String
userAccount
;
...
...
server-common/src/main/java/com/makeit/module/iot/enums/DeviceInfoContentFallEnum.java
0 → 100644
View file @
9114b029
package
com
.
makeit
.
module
.
iot
.
enums
;
import
com.makeit.enums.BaseEnum
;
import
com.makeit.utils.sys.SysDictUtil
;
public
class
DeviceInfoContentFallEnum
{
public
enum
PersonStateEnum
{
NOBODY
(
0
,
"无人"
),
//0
FALL
(
1
,
"跌倒"
);
//3
private
Integer
value
;
private
String
name
;
PersonStateEnum
(
Integer
value
,
String
name
)
{
this
.
value
=
value
;
this
.
name
=
name
;
}
public
Integer
getValue
()
{
return
value
;
}
public
String
getName
()
{
return
name
;
}
}
}
server-common/src/main/java/com/makeit/module/iot/service/IotProductDeviceService.java
View file @
9114b029
...
...
@@ -150,9 +150,9 @@ public class IotProductDeviceService extends IotCommonService {
List
<
DeviceOperationLogEntity
>
deviceOperationLogEntityList
=
getDeviceLogByTimeRange
(
deviceId
,
"reportProperty"
,
pageSize
,
dateTimeFormatter
.
format
(
startTime
),
dateTimeFormatter
.
format
(
endTime
));
List
<
DeviceInfoContentFall
>
deviceInfoContent
Space
List
=
StreamUtil
.
map
(
deviceOperationLogEntityList
,
e
->
JsonUtil
.
toObj
((
String
)
e
.
getContent
(),
DeviceInfoContentFall
.
class
));
List
<
DeviceInfoContentFall
>
deviceInfoContent
Fall
List
=
StreamUtil
.
map
(
deviceOperationLogEntityList
,
e
->
JsonUtil
.
toObj
((
String
)
e
.
getContent
(),
DeviceInfoContentFall
.
class
));
return
deviceInfoContent
Space
List
;
return
deviceInfoContent
Fall
List
;
}
...
...
server-common/src/main/java/com/makeit/module/iot/vo/analysis/AnalysisVO.java
View file @
9114b029
...
...
@@ -5,7 +5,10 @@ import lombok.Data;
@Data
public
class
AnalysisVO
{
private
Integer
br
;
private
Integer
totalHr
;
private
Integer
avgHr
;
private
Integer
totalBr
;
private
Integer
avgBr
;
private
Integer
actionCount
=
0
;
// 体动次数
private
Integer
turnedCount
=
0
;
// 翻身次数
...
...
@@ -19,12 +22,27 @@ public class AnalysisVO {
private
Boolean
awakeMinuteActionFlag
;
// 清醒每分钟体动是否满足要求
private
int
brStopThreshold
;
//
每分钟呼吸
阈值
private
int
br
FastThreshold
;
// 每分钟呼吸阈值
private
int
brSlowThreshold
;
// 每分钟呼吸阈值
private
int
brStopThreshold
;
//
发生次数
阈值
private
int
br
Stop
;
// 当前呼吸率
private
String
brStopTime
;
// 发生时间
private
int
hrFastThreshold
;
// 每分钟心率阈值
private
int
hrSlowThreshold
;
// 每分钟心率阈值
private
int
brFastThreshold
;
// 发生次数阈值
private
int
brFast
;
// 当前呼吸率
private
String
brFastTime
;
// 发生时间
private
int
brSlowThreshold
;
// 发生次数阈值
private
int
brSlow
;
// 当前呼吸率
private
String
brSlowTime
;
// 发生时间
private
int
hrFastThreshold
;
// 发生次数阈值
private
int
hrFast
;
// 当前心率
private
String
hrFastTime
;
// 发生时间
private
int
hrSlowThreshold
;
// 发生次数阈值
private
int
hrSlow
;
// 当前心率
private
String
hrSlowTime
;
// 发生时间
...
...
server-common/src/main/java/com/makeit/module/iot/vo/analysis/BreatheAbnormalVO.java
0 → 100644
View file @
9114b029
package
com
.
makeit
.
module
.
iot
.
vo
.
analysis
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
BreatheAbnormalVO
{
@ApiModelProperty
(
value
=
"发生时间"
)
private
LocalDateTime
happenTime
;
@ApiModelProperty
(
value
=
"异常类型"
)
private
String
type
;
@ApiModelProperty
(
value
=
"值"
)
private
String
value
;
}
server-common/src/main/java/com/makeit/module/iot/vo/breathe/DeviceInfoContentBreathe.java
View file @
9114b029
...
...
@@ -19,6 +19,8 @@ public class DeviceInfoContentBreathe {
private
Properties
properties
;
@JsonProperty
(
"timestamp"
)
private
Long
timestamp
;
@JsonProperty
(
"reportTime"
)
private
String
reportTime
;
@NoArgsConstructor
@Data
...
...
@@ -52,18 +54,25 @@ public class DeviceInfoContentBreathe {
@Data
public
static
class
Properties
{
@JsonProperty
(
"br"
)
// 呼吸率 "最小值":0,"最大值":500,"步进":1,"单位":"rpm"
private
Integer
br
;
@JsonProperty
(
"distance"
)
// 距离
private
Integer
distance
;
@JsonProperty
(
"bodymove"
)
// 体动指数 "最小值":0,"最大值":100,"步进":1,"单位":""
private
Integer
bodymove
;
@JsonProperty
(
"personState"
)
// 运动状态 0:无人1:运动2:呼吸3:进入呼吸
private
Integer
personState
;
@JsonProperty
(
"person"
)
// 有人无人 0无人,1有人
private
Integer
person
;
@JsonProperty
(
"hr"
)
// 心率 最小值":0,"最大值":500,"步进:1,"单位":"bpm"
private
Integer
hr
;
@JsonProperty
(
"point"
)
// 呼吸波形
private
List
<
Integer
>
point
;
}
}
server-common/src/main/resources/locale/business_messages.properties
View file @
9114b029
...
...
@@ -19,6 +19,7 @@ SYSTEM.ERROR.NAME.DUPLICATE=该名称已存在
SYSTEM.ERROR.NAME.ENG.DUPLICATE
=
该英文名称已存在
SYSTEM.ERROR.CODE.DUPLICATE
=
该编码已存在
SYSTEM.ERROR.TENANT.CODE.DUPLICATE
=
该标识已存在
SYSTEM.ERROR.DICT.VALUE.DUPLICATE
=
该字典值已存在
SYSTEM.ERROR.DICT.NOT.EXIST
=
该字典值不存在
...
...
@@ -108,3 +109,7 @@ SYSTEM.ERROR.ROLE.ADMIN.CANT.EDIT=管理员角色不能修改
PLATFORM.ERROR.ALARM.NOT.FOUND.SPACE
=
设备未绑定空间
PLATFORM.ERROR.ALARM.NOT.FOUND.ELDER
=
设备空间下无长者
SYSTEM.ERROR.TENANT.FORBIDDEN
=
该租户被禁用
SYSTEM.ERROR.ORG.FORBIDDEN
=
该组织被禁用
server-generator/src/test/java/CodeGenerator.java
View file @
9114b029
...
...
@@ -106,7 +106,7 @@ public class CodeGenerator {
// 使用重点 下列字段填写表名 运行方法
// strategy.setInclude("edu_teacher","..."); // 多表-逆向工程
strategy
.
setInclude
(
"plat_elder_
report_month
"
);
strategy
.
setInclude
(
"plat_elder_
breathe_day_stat
"
);
strategy
.
setNaming
(
NamingStrategy
.
underline_to_camel
);
//数据库表映射到实体的命名策略
strategy
.
setTablePrefix
(
pc
.
getModuleName
()
+
"_"
);
//生成实体属性时去掉表"_"前缀并且第一个字母大写 如:gmt_create -> gmtCreate
...
...
server-module/src/main/java/com/makeit/module/controller/elder/PlatElderReportDayController.java
View file @
9114b029
...
...
@@ -73,13 +73,13 @@ public class PlatElderReportDayController {
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportDayService
.
failRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"坐标记录"
)
...
...
@@ -91,7 +91,7 @@ public class PlatElderReportDayController {
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
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 @
9114b029
...
...
@@ -39,13 +39,13 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"综合评价"
)
@PostMapping
(
"comprehensiveEvaluation"
)
public
ApiResponseEntity
<
PlatElderComprehensiveEvaluationVO
>
comprehensiveEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
comprehensiveEvaluation
(
platElderIdDTO
))
;
}
@ApiOperation
(
"睡眠评价"
)
@PostMapping
(
"sleepEvaluation"
)
public
ApiResponseEntity
<
PlatElderSleepEvaluationVO
>
sleepEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
sleepEvaluation
(
platElderIdDTO
))
;
}
@ApiOperation
(
"睡眠图表"
)
...
...
@@ -57,37 +57,37 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"心率呼吸评价"
)
@PostMapping
(
"heartRespiratoryEvaluation"
)
public
ApiResponseEntity
<
PlatElderHeartRespiratoryEvaluationVO
>
heartRespiratoryEvaluation
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartRespiratoryEvaluation
(
platElderIdDTO
))
;
}
@ApiOperation
(
"心率异常记录"
)
@PostMapping
(
"heartExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
heartExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"呼吸率异常记录"
)
@PostMapping
(
"respiratoryExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>>
respiratoryExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
respiratoryExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"心率呼吸率"
)
@PostMapping
(
"heartRespiratory"
)
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
heartRespiratory
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
public
ApiResponseEntity
<
List
<
PlatElderRealTimeHeartRespiratoryWeekVO
>
>
heartRespiratory
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
heartRespiratory
(
platElderIdDTO
))
;
}
@ApiOperation
(
"行为异常记录"
)
@PostMapping
(
"behaviorExceptionRecordList"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorExceptionRecordVO
>>
behaviorExceptionRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
behaviorExceptionRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"跌倒记录"
)
@PostMapping
(
"failRecordList"
)
public
ApiResponseEntity
<
List
<
String
>>
failRecordList
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
failRecordList
(
platElderIdDTO
))
;
}
@ApiOperation
(
"坐标记录"
)
...
...
@@ -99,7 +99,7 @@ public class PlatElderReportWeekController {
@ApiOperation
(
"行为辐射"
)
@PostMapping
(
"behaviorDistribution"
)
public
ApiResponseEntity
<
List
<
PlatElderBehaviorDistributionVO
>>
behaviorDistribution
(
@RequestBody
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
return
ApiResponseUtils
.
success
(
platElderDayReportWeekService
.
behaviorDistribution
(
platElderIdDTO
))
;
}
}
...
...
server-module/src/main/java/com/makeit/module/controller/space/PlatSpaceController.java
View file @
9114b029
...
...
@@ -3,10 +3,14 @@ package com.makeit.module.controller.space;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderImportDTO
;
import
com.makeit.dto.platform.space.PlatSpaceAddDTO
;
import
com.makeit.dto.platform.space.PlatSpaceImportDTO
;
import
com.makeit.dto.platform.space.PlatSpaceQueryDTO
;
import
com.makeit.dto.platform.space.PlatSpaceVO
;
import
com.makeit.enums.FileSuffixEnum
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
com.makeit.utils.data.excel.ExcelUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -16,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
...
...
@@ -80,4 +85,11 @@ public class PlatSpaceController {
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
value
=
"导出模板"
)
@PostMapping
(
"/exportTemplate"
)
public
void
exportTemplate
(
HttpServletResponse
response
)
{
ExcelUtil
.
exportTemplate
(
response
,
"空间导入模板"
+
FileSuffixEnum
.
EXCEL
.
getSuffix
(),
PlatSpaceImportDTO
.
class
);
}
}
server-service/src/main/java/com/makeit/dto/platform/auth/PlatUserRoleDTO.java
View file @
9114b029
...
...
@@ -15,4 +15,6 @@ public class PlatUserRoleDTO extends BaseTenantDTO implements Serializable {
@ApiModelProperty
(
value
=
"角色id"
)
private
String
roleId
;
private
String
roleName
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceImportDTO.java
0 → 100644
View file @
9114b029
package
com
.
makeit
.
dto
.
platform
.
space
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Author:lzy
* @Date:2023/9/18 11:38
* @Describe:
*/
@Data
@ApiModel
(
value
=
"空间导入"
)
public
class
PlatSpaceImportDTO
{
public
static
final
String
BIG_TITLE
=
"导入说明:\n"
+
"\n"
+
"1.表头带有*必填\n"
+
"2.同一层级下的房间名或空间名不能重名"
;
@ExcelProperty
({
BIG_TITLE
,
"一级*"
})
@ApiModelProperty
(
value
=
"小区/社区/街道"
)
private
String
community
;
@ExcelProperty
({
BIG_TITLE
,
"二级"
})
@ApiModelProperty
(
value
=
"楼栋"
)
private
String
building
;
@ExcelProperty
({
BIG_TITLE
,
"三级"
})
@ApiModelProperty
(
value
=
"单元"
)
private
String
unit
;
@ExcelProperty
({
BIG_TITLE
,
"四级"
})
@ApiModelProperty
(
value
=
"楼层"
)
private
String
floor
;
@ExcelProperty
({
BIG_TITLE
,
"房间名*"
})
@ApiModelProperty
(
value
=
"房间名"
)
private
String
roomName
;
@ExcelProperty
({
BIG_TITLE
,
"床位数量"
})
@ApiModelProperty
(
value
=
"床位数量"
)
private
Integer
bedNumber
;
}
server-service/src/main/java/com/makeit/dto/platform/space/PlatSpaceVO.java
View file @
9114b029
...
...
@@ -22,6 +22,9 @@ public class PlatSpaceVO extends BaseIdDTO {
@ApiModelProperty
(
"父级Id"
)
private
String
parentId
;
@ApiModelProperty
(
"父级名称"
)
private
String
parentName
;
@ApiModelProperty
(
"子集"
)
private
List
<
PlatSpaceVO
>
children
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheAnalysis.java
View file @
9114b029
...
...
@@ -24,10 +24,10 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
@ApiModelProperty
(
value
=
"长者id"
)
private
String
elderId
;
@ApiModelProperty
(
value
=
"
睡眠
评分"
)
@ApiModelProperty
(
value
=
"
呼吸
评分"
)
private
String
breatheScore
;
@ApiModelProperty
(
value
=
"
睡眠
结果"
)
@ApiModelProperty
(
value
=
"
呼吸
结果"
)
private
String
breatheResult
;
@ApiModelProperty
(
value
=
"评价"
)
...
...
@@ -40,7 +40,7 @@ public class PlatElderBreatheAnalysis extends BaseBusEntity {
private
String
avgBreatheRate
;
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
current
Date
;
private
String
happen
Date
;
}
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderBreatheDayStat.java
0 → 100644
View file @
9114b029
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/entity/platform/elder/PlatElderSleep.java
View file @
9114b029
...
...
@@ -2,7 +2,6 @@ package com.makeit.entity.platform.elder;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.makeit.common.entity.BaseBusEntity
;
import
com.makeit.common.typehandler.ListStringJsonTypeHandler
;
import
com.makeit.typehandler.ElderListStringJsonTypeHandler
;
import
com.makeit.vo.platform.elder.report.day.PlatSleepRangeVO
;
import
io.swagger.annotations.ApiModel
;
...
...
@@ -38,7 +37,7 @@ public class PlatElderSleep extends BaseBusEntity {
private
LocalDateTime
endSleep
;
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
current
Date
;
private
String
happen
Date
;
@ApiModelProperty
(
value
=
"睡眠记录 区分时间段记录 [{\"sleepType\":\"\",\"startTime\":\"\",\"endTime\":\"\"},{}]"
)
@TableField
(
typeHandler
=
ElderListStringJsonTypeHandler
.
class
)
...
...
server-service/src/main/java/com/makeit/entity/platform/elder/PlatElderSleepAnalysis.java
View file @
9114b029
...
...
@@ -40,7 +40,12 @@ public class PlatElderSleepAnalysis extends BaseBusEntity {
private
String
sleepEvaluate
;
@ApiModelProperty
(
value
=
"当前日期 yyyy-mm-dd"
)
private
String
currentDate
;
private
String
happenDate
;
@ApiModelProperty
(
value
=
"体动次数"
)
private
Integer
actionCount
;
@ApiModelProperty
(
value
=
"翻身次数"
)
private
Integer
turnedCount
;
}
server-service/src/main/java/com/makeit/entity/saas/PlatTenant.java
View file @
9114b029
...
...
@@ -54,5 +54,15 @@ public class PlatTenant extends BaseEntity {
*/
private
String
iotOrgId
;
/**
* 租户标识
*/
private
String
code
;
/**
* 租户平台地址
*/
private
String
url
;
}
\ No newline at end of file
server-service/src/main/java/com/makeit/enums/report/BreatheTypeEnum.java
View file @
9114b029
...
...
@@ -9,7 +9,7 @@ public enum BreatheTypeEnum {
APNEA
(
"apnea"
,
"呼吸暂停"
),
TACHYPNEA
(
"tachypnea"
,
"呼吸
暂停
"
),
TACHYPNEA
(
"tachypnea"
,
"呼吸
过速
"
),
BRADYPNEA
(
"bradypnea"
,
"呼吸过缓"
);
private
String
code
;
...
...
server-service/src/main/java/com/makeit/mapper/platform/auth/PlatUserRoleMapper.java
View file @
9114b029
...
...
@@ -2,8 +2,11 @@ package com.makeit.mapper.platform.auth;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.makeit.dto.platform.auth.PlatUserRoleDTO
;
import
com.makeit.entity.platform.auth.PlatUserRole
;
import
java.util.List
;
/**
* @author lixl
* @description 针对表【plat_user_role(租户端用户角色关联表)】的数据库操作Mapper
...
...
@@ -13,4 +16,5 @@ import com.makeit.entity.platform.auth.PlatUserRole;
public
interface
PlatUserRoleMapper
extends
BaseMapper
<
PlatUserRole
>
{
List
<
PlatUserRoleDTO
>
getByUserIdList
(
List
<
String
>
userIdList
);
}
server-service/src/main/java/com/makeit/mapper/platform/elder/PlatElderBreatheDayStatMapper.java
0 → 100644
View file @
9114b029
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/auth/PlatUserRoleService.java
View file @
9114b029
...
...
@@ -2,6 +2,7 @@ package com.makeit.service.platform.auth;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.dto.platform.auth.PlatUserRoleDTO
;
import
com.makeit.entity.platform.auth.PlatUserRole
;
import
java.util.List
;
...
...
@@ -19,4 +20,7 @@ public interface PlatUserRoleService extends IService<PlatUserRole> {
* @return
*/
List
<
PlatUserRole
>
getByUserId
(
String
userId
);
List
<
PlatUserRoleDTO
>
getByUserIdList
(
List
<
String
>
userIdList
);
}
server-service/src/main/java/com/makeit/service/platform/auth/PlatUserService.java
View file @
9114b029
...
...
@@ -125,4 +125,6 @@ public interface PlatUserService extends IService<PlatUser> {
void
delBatch
(
List
<
String
>
idList
);
ExcelImportVo
importExcel
(
MultipartFile
excelFile
)
throws
Exception
;
void
checkTenantOrgStatus
(
PlatUser
platUser
);
}
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
View file @
9114b029
...
...
@@ -13,6 +13,7 @@ import com.makeit.entity.platform.auth.PlatOrg;
import
com.makeit.entity.platform.auth.PlatRole
;
import
com.makeit.entity.platform.auth.PlatRoleOrg
;
import
com.makeit.entity.platform.auth.PlatUserRole
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.id.TreeConst
;
import
com.makeit.exception.BusinessException
;
...
...
@@ -287,10 +288,10 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
private
void
check
(
PlatOrg
dto
)
{
LambdaQueryWrapper
<
PlatOrg
>
platOrgLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
platOrgLambdaQueryWrapper
.
eq
(
PlatOrg:
:
getParentId
,
dto
.
getParentId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getId
()),
PlatOrg:
:
getName
,
dto
.
getName
())
.
eq
(
PlatOrg:
:
getName
,
dto
);
.
ne
(
StringUtils
.
isNotBlank
(
dto
.
getId
()),
PlatOrg:
:
getId
,
dto
.
getId
())
.
eq
(
PlatOrg:
:
getName
,
dto
.
getName
()
);
if
(
count
(
platOrgLambdaQueryWrapper
)>
0
){
throw
new
BusinessException
(
"名称重复"
);
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_NAME_DUPLICATE
);
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserRoleServiceImpl.java
View file @
9114b029
...
...
@@ -2,6 +2,7 @@ package com.makeit.service.platform.auth.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.dto.platform.auth.PlatUserRoleDTO
;
import
com.makeit.entity.platform.auth.PlatUserRole
;
import
com.makeit.mapper.platform.auth.PlatUserRoleMapper
;
import
com.makeit.service.platform.auth.PlatRoleOrgService
;
...
...
@@ -36,5 +37,9 @@ implements PlatUserRoleService{
return
list
(
queryWrapper
);
}
@Override
public
List
<
PlatUserRoleDTO
>
getByUserIdList
(
List
<
String
>
userIdList
)
{
return
baseMapper
.
getByUserIdList
(
userIdList
);
}
}
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatUserServiceImpl.java
View file @
9114b029
...
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.dto.LoginDTO
;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.entity.BaseBusEntity
;
...
...
@@ -16,6 +17,7 @@ import com.makeit.common.page.PageVO;
import
com.makeit.common.vo.ExcelErrorVo
;
import
com.makeit.common.vo.ExcelImportVo
;
import
com.makeit.dto.platform.auth.PlatUserImportDTO
;
import
com.makeit.dto.platform.auth.PlatUserRoleDTO
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.auth.PlatRole
;
import
com.makeit.entity.platform.auth.PlatRoleMenu
;
...
...
@@ -133,9 +135,9 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getUsername
()),
PlatUser:
:
getUsername
,
dto
.
getUsername
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getMobile
()),
PlatUser:
:
getMobile
,
dto
.
getMobile
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getStatus
()),
PlatUser:
:
getStatus
,
dto
.
getStatus
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTenantId
())
,
PlatUser:
:
getTenantId
,
dto
.
getTenantId
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getOrgId
()),
PlatUser:
:
getOrgPath
,
dto
.
getOrg
Id
())
;
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getTenantId
())
&&
StringUtils
.
isBlank
(
dto
.
getLinkTenant
()),
PlatUser:
:
getTenantId
,
dto
.
getTenant
Id
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getOrgId
()),
PlatUser:
:
getOrgPath
,
dto
.
getOrgId
())
;
if
(
consumer
!=
null
)
{
consumer
.
accept
(
lambdaQueryWrapper
);
...
...
@@ -179,8 +181,17 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
@Override
public
List
<
PlatUserDTOVO
>
listTenant
(
PlatUserQueryDTO
dto
)
{
//查询未关联租户的管理员和原本管理员 租户编辑下拉框
return
BeanDtoVoUtils
.
listVo
(
list
(
listTenantLambdaQueryWrapper
(
dto
,
qw
->
qw
.
eq
(
PlatUser:
:
getIsTenant
,
IsTenantAccountEnum
.
YES
.
getValue
()))),
list
(
listTenantLambdaQueryWrapper
(
dto
,
qw
->
qw
.
eq
(
PlatUser:
:
getIsTenant
,
IsTenantAccountEnum
.
YES
.
getValue
())
.
and
(
StringUtils
.
equals
(
dto
.
getLinkTenant
(),
CommonEnum
.
NO
.
getValue
())
&&
StringUtils
.
isNotBlank
(
dto
.
getTenantId
()),
sq
->
sq
.
isNull
(
PlatUser:
:
getTenantId
)
.
or
()
.
eq
(
PlatUser:
:
getTenantId
,
dto
.
getTenantId
())
)
)),
PlatUserDTOVO
.
class
);
}
...
...
@@ -324,7 +335,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_TENANT_NOT_EXIST
);
}
}
else
{
}
else
{
PlatTenant
platTenant
=
platTenantService
.
getById
(
tntUserLoginVO
.
getTenantId
());
PlatTenantVO
vo
=
BeanDtoVoUtils
.
convert
(
platTenant
,
PlatTenantVO
.
class
);
//没有值的情况:登陆后无法跳转
...
...
@@ -361,6 +372,9 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
.
or
()
.
eq
(
PlatUser:
:
getMobile
,
loginDTO
.
getAccount
())
);
checkTenantOrgStatus
(
platUser
);
//这样在所有租户内工号不能重复
if
(
platUser
==
null
)
{
...
...
@@ -390,24 +404,36 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
return
userLoginVO
;
}
public
void
checkTenantOrgStatus
(
PlatUser
platUser
)
{
PlatTenant
platTenant
=
platTenantService
.
getById
(
platUser
.
getTenantId
());
if
(
platTenant
==
null
||
StringUtils
.
equals
(
platTenant
.
getStatus
(),
CommonEnum
.
NO
.
getValue
())){
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_TENANT_FORBIDDEN
);
}
PlatOrg
platOrg
=
platOrgService
.
getById
(
platUser
.
getOrgId
());
if
(
platOrg
==
null
||
StringUtils
.
equals
(
platOrg
.
getStatus
(),
CommonEnum
.
NO
.
getValue
())){
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_ORG_FORBIDDEN
);
}
}
/**
* 校验组织
*
* @param platUser
*/
private
void
checkUserOrg
(
PlatUser
platUser
)
{
String
orgId
=
platUser
.
getOrgId
();
//禁用的子公司其下属账号无法登录
PlatOrg
platOrg
=
platOrgService
.
getById
(
orgId
);
if
(
platOrg
==
null
)
{
if
(
platOrg
==
null
)
{
throw
new
BusinessException
(
"找不到组织"
);
}
String
path
=
platOrg
.
getPath
();
String
[]
split
=
StringUtils
.
split
(
path
,
","
);
LambdaQueryWrapper
<
PlatOrg
>
platOrgLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
platOrgLambdaQueryWrapper
.
in
(
BaseEntity:
:
getId
,
split
)
.
eq
(
PlatOrg:
:
getStatus
,
CommonEnum
.
NO
.
getValue
());
platOrgLambdaQueryWrapper
.
in
(
BaseEntity:
:
getId
,
split
)
.
eq
(
PlatOrg:
:
getStatus
,
CommonEnum
.
NO
.
getValue
());
long
count
=
platOrgService
.
count
(
platOrgLambdaQueryWrapper
);
if
(
count
>
0
)
{
if
(
count
>
0
)
{
throw
new
BusinessException
(
"禁用的子公司其下属账号无法登录"
);
}
}
...
...
@@ -427,7 +453,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
buttonList
.
add
(
e
);
}
if
(
catalogue
.
equals
(
e
.
getCategory
())
||
menu
.
equals
(
e
.
getCategory
())
||
button
.
equals
(
e
.
getCategory
()))
{
if
(
catalogue
.
equals
(
e
.
getCategory
())
||
menu
.
equals
(
e
.
getCategory
())
||
button
.
equals
(
e
.
getCategory
()))
{
nonButtonList
.
add
(
e
);
}
...
...
@@ -636,8 +662,8 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
.
in
(
CollectionUtils
.
isNotEmpty
(
dto
.
getNameList
()),
PlatUser:
:
getUsername
,
dto
.
getUsername
())
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getMobile
()),
PlatUser:
:
getMobile
,
dto
.
getMobile
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getStatus
()),
PlatUser:
:
getStatus
,
dto
.
getStatus
())
.
eq
(
PlatUser:
:
getTenantId
,
TenantIdUtil
.
getTenantId
())
;
.
like
(
StringUtils
.
isNotBlank
(
dto
.
getEmail
()),
PlatUser:
:
getEmail
,
dto
.
getEmail
())
.
eq
(
PlatUser:
:
getTenantId
,
TenantIdUtil
.
getTenantId
())
;
roleIdFilter
(
lambdaQueryWrapper
,
dto
);
...
...
@@ -670,10 +696,30 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
List
<
PlatPersonDTOVO
>
tntUserDTOVOList
=
BeanDtoVoUtils
.
listVo
(
pageList
.
getRecords
(),
PlatPersonDTOVO
.
class
);
fillDept
(
tntUserDTOVOList
);
fillRole
(
tntUserDTOVOList
);
return
PageUtil
.
toPageVO
(
tntUserDTOVOList
,
pageList
);
}
private
void
fillRole
(
List
<
PlatPersonDTOVO
>
tntUserDTOVOList
)
{
if
(
CollectionUtils
.
isEmpty
(
tntUserDTOVOList
)){
return
;
}
List
<
String
>
userIdList
=
tntUserDTOVOList
.
stream
().
map
(
BaseIdDTO:
:
getId
).
collect
(
Collectors
.
toList
());
List
<
PlatUserRoleDTO
>
userRoleDTOList
=
platUserRoleService
.
getByUserIdList
(
userIdList
);
Map
<
String
,
List
<
PlatUserRoleDTO
>>
userRoleMap
=
userRoleDTOList
.
stream
().
collect
(
Collectors
.
groupingBy
(
PlatUserRoleDTO:
:
getUserId
));
for
(
PlatPersonDTOVO
platPersonDTOVO
:
tntUserDTOVOList
)
{
List
<
PlatUserRoleDTO
>
platUserRoleDTOS
=
userRoleMap
.
get
(
platPersonDTOVO
.
getId
());
if
(
CollectionUtils
.
isEmpty
(
platUserRoleDTOS
)){
continue
;
}
String
roleNameJoin
=
platUserRoleDTOS
.
stream
().
map
(
PlatUserRoleDTO:
:
getRoleName
).
collect
(
Collectors
.
joining
(
","
));
platPersonDTOVO
.
setRoleNameJoin
(
roleNameJoin
);
}
}
@Override
public
List
<
PlatPersonDTOVO
>
list
(
PlatUserQueryDTO
dto
)
{
List
<
PlatPersonDTOVO
>
tntUserList
=
BeanDtoVoUtils
.
listVo
(
list
(
listLambdaQueryWrapper
(
dto
)),
PlatPersonDTOVO
.
class
);
...
...
@@ -801,7 +847,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
private
void
fillOrgPath
(
PlatPersonDTOVO
dto
,
PlatUser
user
)
{
PlatOrg
platOrg
=
platOrgService
.
getById
(
dto
.
getId
());
if
(
platOrg
!=
null
)
{
if
(
platOrg
!=
null
)
{
user
.
setOrgPath
(
platOrg
.
getPath
()
+
","
+
platOrg
.
getId
());
}
}
...
...
@@ -1015,8 +1061,8 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
public
void
updatePlatUserTenantId
(
String
tenantId
,
String
platUserId
)
{
LambdaUpdateWrapper
<
PlatUser
>
updateWrapper
=
Wrappers
.
lambdaUpdate
(
PlatUser
.
class
)
.
set
(
PlatUser:
:
getTenantId
,
tenantId
)
.
set
(
PlatUser:
:
getOrgId
,
tenantId
)
.
set
(
PlatUser:
:
getOrgPath
,
tenantId
)
.
set
(
PlatUser:
:
getOrgId
,
tenantId
)
.
set
(
PlatUser:
:
getOrgPath
,
tenantId
)
.
eq
(
BaseEntity:
:
getId
,
platUserId
);
this
.
update
(
updateWrapper
);
}
...
...
@@ -1029,6 +1075,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
/**
* 导入人员
*
* @param excelFile
*/
@Override
...
...
@@ -1036,16 +1083,16 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
List
<
PlatUserImportDTO
>
platUserImportDTOS
=
ExcelUtil
.
importExcel
(
null
,
3
,
excelFile
,
PlatUserImportDTO
.
class
);
LambdaQueryWrapper
<
PlatOrg
>
orgLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
orgLambdaQueryWrapper
.
select
(
BaseEntity:
:
getId
,
PlatOrg:
:
getName
);
orgLambdaQueryWrapper
.
select
(
BaseEntity:
:
getId
,
PlatOrg:
:
getName
);
List
<
PlatOrg
>
orgList
=
platOrgService
.
list
(
orgLambdaQueryWrapper
);
LambdaQueryWrapper
<
PlatRole
>
roleLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
roleLambdaQueryWrapper
.
select
(
BaseEntity:
:
getId
,
PlatRole:
:
getName
);
roleLambdaQueryWrapper
.
select
(
BaseEntity:
:
getId
,
PlatRole:
:
getName
);
List
<
PlatRole
>
roleList
=
platRoleService
.
list
(
roleLambdaQueryWrapper
);
Map
<
String
,
PlatOrg
>
orgNameMap
=
orgList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatOrg:
:
getName
,
vo
->
vo
,
(
a
,
b
)
->
a
));
Map
<
String
,
PlatOrg
>
orgNameMap
=
orgList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatOrg:
:
getName
,
vo
->
vo
,
(
a
,
b
)
->
a
));
Map
<
String
,
String
>
roleNameMap
=
roleList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatRole:
:
getName
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
LambdaQueryWrapper
<
PlatUser
>
userLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
userLambdaQueryWrapper
.
select
(
PlatUser:
:
getMobile
,
PlatUser:
:
getEmail
,
BaseEntity:
:
getId
);
userLambdaQueryWrapper
.
select
(
PlatUser:
:
getMobile
,
PlatUser:
:
getEmail
,
BaseEntity:
:
getId
);
List
<
PlatUser
>
userList
=
this
.
list
(
userLambdaQueryWrapper
);
Map
<
String
,
String
>
mobileMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatUser:
:
getMobile
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
Map
<
String
,
String
>
emailMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
PlatUser:
:
getEmail
,
BaseEntity:
:
getId
,
(
a
,
b
)
->
a
));
...
...
@@ -1055,19 +1102,19 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
int
start
=
3
;
for
(
int
i
=
0
;
i
<
platUserImportDTOS
.
size
();
i
++)
{
PlatUserImportDTO
dto
=
platUserImportDTOS
.
get
(
i
);
ExcelErrorVo
.
isNotNull
(
dto
.
getUsername
(),
errorVoList
,
start
+
i
,
"姓名*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getMobile
(),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getRoleName
(),
errorVoList
,
start
+
i
,
"*角色"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getOrgName
(),
errorVoList
,
start
+
i
,
"*所属组织"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getUsername
(),
errorVoList
,
start
+
i
,
"姓名*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getMobile
(),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getRoleName
(),
errorVoList
,
start
+
i
,
"*角色"
);
ExcelErrorVo
.
isNotNull
(
dto
.
getOrgName
(),
errorVoList
,
start
+
i
,
"*所属组织"
);
PlatOrg
platOrg
=
Optional
.
ofNullable
(
orgNameMap
.
get
(
dto
.
getOrgName
())).
orElse
(
new
PlatOrg
());
ExcelErrorVo
.
notExists
(
platOrg
.
getId
(),
errorVoList
,
start
+
i
,
"*所属组织"
);
ExcelErrorVo
.
notExists
(
roleNameMap
.
get
(
dto
.
getRoleName
()),
errorVoList
,
start
+
i
,
"*角色"
);
ExcelErrorVo
.
exists
(
mobileMap
,
mobileMap
.
get
(
dto
.
getMobile
()),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
exists
(
emailMap
,
emailMap
.
get
(
dto
.
getEmail
()),
errorVoList
,
start
+
i
,
"邮箱"
);
ExcelErrorVo
.
notExists
(
platOrg
.
getId
(),
errorVoList
,
start
+
i
,
"*所属组织"
);
ExcelErrorVo
.
notExists
(
roleNameMap
.
get
(
dto
.
getRoleName
()),
errorVoList
,
start
+
i
,
"*角色"
);
ExcelErrorVo
.
exists
(
mobileMap
,
mobileMap
.
get
(
dto
.
getMobile
()),
errorVoList
,
start
+
i
,
"手机号*"
);
ExcelErrorVo
.
exists
(
emailMap
,
emailMap
.
get
(
dto
.
getEmail
()),
errorVoList
,
start
+
i
,
"邮箱"
);
}
if
(
errorVoList
.
isEmpty
())
{
if
(
errorVoList
.
isEmpty
())
{
List
<
PlatUser
>
platUsers
=
new
ArrayList
<>();
platUserImportDTOS
.
forEach
(
vo
->
{
platUserImportDTOS
.
forEach
(
vo
->
{
PlatUser
platUser
=
BeanDtoVoUtils
.
convert
(
vo
,
PlatUser
.
class
);
vo
.
setPassword
(
PasswordUtils
.
encryptPassword
(
vo
.
getPassword
()));
platUser
.
setStatus
(
CommonEnum
.
YES
.
getValue
());
...
...
@@ -1076,7 +1123,7 @@ public class PlatUserServiceImpl extends ServiceImpl<PlatUserMapper, PlatUser>
platUser
.
setIsTenant
(
CommonEnum
.
NO
.
getValue
());
PlatOrg
platOrg
=
Optional
.
ofNullable
(
orgNameMap
.
get
(
vo
.
getOrgName
())).
orElse
(
new
PlatOrg
());
platUser
.
setOrgId
(
platOrg
.
getId
());
platUser
.
setOrgPath
(
platOrg
.
getPath
()
+
","
+
platOrg
.
getId
());
platUser
.
setOrgPath
(
platOrg
.
getPath
()
+
","
+
platOrg
.
getId
());
platUsers
.
add
(
platUser
);
});
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderBreatheDayStatService.java
0 → 100644
View file @
9114b029
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 @
9114b029
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.report.day.*
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
...
...
@@ -28,18 +25,28 @@ public interface PlatElderDayReportDayService {
PlatElderHeartRespiratoryEvaluationVO
heartRespiratoryEvaluation
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartRespiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
,
String
alarmType
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
heartExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderHeartRespiratoryEvaluationRecordVO
>
respiratoryExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
String
>
failRecordListInternal
(
PlatElderReportDTO
platElderIdDTO
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
String
elderId
,
String
deviceId
,
LocalDateTime
start
,
LocalDateTime
end
);
List
<
PlatElderCoordinateVO
>
coordinateList
(
PlatElderReportDTO
platElderIdDTO
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistributionInternal
(
PlatElderReportDTO
platElderIdDTO
,
List
<
LocalDate
>
nowList
);
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
);
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderDayReportWeekService.java
View file @
9114b029
package
com
.
makeit
.
service
.
platform
.
elder
;
import
com.makeit.
dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.
common.response.ApiResponseEntity
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
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
;
...
...
@@ -17,6 +20,24 @@ import java.util.List;
*/
public
interface
PlatElderDayReportWeekService
{
PlatElderComprehensiveEvaluationVO
comprehensiveEvaluation
(
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
<
PlatElderBehaviorDistributionVO
>
behaviorDistribution
(
PlatElderReportDTO
platElderIdDTO
);
}
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderRealTimeService.java
View file @
9114b029
...
...
@@ -23,6 +23,8 @@ public interface PlatElderRealTimeService {
List
<
PlatDevice
>
getSpaceDevice
(
String
elderId
,
String
deviceId
);
List
<
PlatDevice
>
getFallDevice
(
String
elderId
,
String
deviceId
);
PlatElderRealTimeNowVO
nowStatus
(
PlatElderIdDTO
platElderIdDTO
);
PlatElderRealTimeHeartRespiratoryVO
heartRespiratory
(
PlatElderIdDTO
platElderIdDTO
);
...
...
server-service/src/main/java/com/makeit/service/platform/elder/PlatElderService.java
View file @
9114b029
...
...
@@ -54,6 +54,8 @@ public interface PlatElderService extends IService<PlatElder> {
List
<
PlatDevice
>
getSpaceDevice
(
String
id
);
List
<
PlatDevice
>
getFallDevice
(
String
id
);
/*小程序*/
List
<
PlatElderWechatSimpleVO
>
listMy
();
/*小程序*/
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderBreatheDayStatServiceImpl.java
0 → 100644
View file @
9114b029
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 @
9114b029
...
...
@@ -3,16 +3,19 @@ package com.makeit.service.platform.elder.impl;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.alarm.PlatDayDurationRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElderBreatheAnalysis
;
import
com.makeit.entity.platform.elder.PlatElderSleep
;
import
com.makeit.entity.platform.elder.PlatElderSleepAnalysis
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.module.iot.enums.DeviceInfoContentFallEnum
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.module.iot.vo.breathe.DeviceInfoContentBreathe
;
import
com.makeit.module.iot.vo.fall.DeviceInfoContentFall
;
import
com.makeit.module.iot.vo.space.DeviceInfoContentSpace
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.
device.PlatDevice
Service
;
import
com.makeit.service.platform.
alarm.PlatDayDurationRecord
Service
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.utils.LongTimestampUtil
;
import
com.makeit.utils.data.convert.StreamUtil
;
...
...
@@ -29,20 +32,12 @@ import java.math.RoundingMode;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.*
;
@Service
public
class
PlatElderDayReportDayServiceImpl
implements
PlatElderDayReportDayService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatDeviceService
platDeviceService
;
@Autowired
private
PlatElderSleepService
platElderSleepService
;
@Autowired
...
...
@@ -51,9 +46,13 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
@Autowired
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
@Autowired
private
PlatAlarmRecordService
platAlarmRecordService
;
@Autowired
private
PlatDayDurationRecordService
platDayDurationRecordService
;
@Autowired
private
IotProductDeviceService
iotProductDeviceService
;
@Autowired
...
...
@@ -88,7 +87,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
PlatElderSleepAnalysis
platElderSleepAnalysis
=
platElderSleepAnalysisService
.
getOne
(
new
QueryWrapper
<
PlatElderSleepAnalysis
>().
lambda
()
.
eq
(
PlatElderSleepAnalysis:
:
getElderId
,
platElderIdDTO
.
getElderId
())
.
eq
(
PlatElderSleepAnalysis:
:
get
Current
Date
,
nowString
)
.
eq
(
PlatElderSleepAnalysis:
:
get
Happen
Date
,
nowString
)
);
if
(
platElderSleepAnalysis
==
null
)
{
...
...
@@ -118,7 +117,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatElderSleep
>
sleepList
=
platElderSleepService
.
list
(
new
QueryWrapper
<
PlatElderSleep
>().
lambda
()
.
eq
(
PlatElderSleep:
:
getElderId
,
platElderIdDTO
.
getElderId
())
.
eq
(
PlatElderSleep:
:
get
Current
Date
,
nowString
)
.
eq
(
PlatElderSleep:
:
get
Happen
Date
,
nowString
)
.
orderByAsc
(
PlatElderSleep:
:
getStartSleep
)
);
...
...
@@ -159,7 +158,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
PlatElderBreatheAnalysis
platElderSleepAnalysis
=
platElderBreatheAnalysisService
.
getOne
(
new
QueryWrapper
<
PlatElderBreatheAnalysis
>().
lambda
()
.
eq
(
PlatElderBreatheAnalysis:
:
getElderId
,
platElderIdDTO
.
getElderId
())
.
eq
(
PlatElderBreatheAnalysis:
:
get
Current
Date
,
nowString
)
.
eq
(
PlatElderBreatheAnalysis:
:
get
Happen
Date
,
nowString
)
);
if
(
platElderSleepAnalysis
==
null
)
{
...
...
@@ -178,6 +177,19 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
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
());
if
(
device
==
null
)
{
return
new
ArrayList
<>(
10
);
...
...
@@ -186,6 +198,8 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
alarmType
)
.
eq
(
PlatAlarmRecord:
:
getDeviceId
,
device
.
getId
())
.
ge
(
PlatAlarmRecord:
:
getAlarmDate
,
start
)
.
le
(
PlatAlarmRecord:
:
getAlarmDate
,
end
)
.
orderByDesc
(
PlatAlarmRecord:
:
getAlarmDate
)
);
...
...
@@ -245,7 +259,7 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
@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
());
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
...
...
@@ -255,6 +269,8 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
List
<
PlatAlarmRecord
>
recordList
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getAlarmType
,
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BEHAVIOR
.
getValue
())
.
in
(
PlatAlarmRecord:
:
getDeviceId
,
StreamUtil
.
mapId
(
platDeviceList
,
PlatDevice:
:
getId
))
.
ge
(
PlatAlarmRecord:
:
getAlarmDate
,
start
)
.
le
(
PlatAlarmRecord:
:
getAlarmDate
,
end
)
.
orderByDesc
(
PlatAlarmRecord:
:
getAlarmDate
)
);
...
...
@@ -274,9 +290,55 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
}
@Override
public
List
<
PlatElderBehaviorExceptionRecordVO
>
behaviorExceptionRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
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"
);
List
<
String
>
voList
=
new
ArrayList
<>(
10
);
platDeviceList
.
forEach
(
e
->
{
List
<
DeviceInfoContentFall
>
fallList
=
iotProductDeviceService
.
getDeviceLogByTimeRangeFall
(
e
.
getOriDeviceId
(),
2
*
24
*
3600
,
start
,
end
);
fallList
=
StreamUtil
.
filter
(
fallList
,
i
->
DeviceInfoContentFallEnum
.
PersonStateEnum
.
FALL
.
getValue
().
equals
(
i
.
getProperties
().
getPersonState
()));
voList
.
addAll
(
StreamUtil
.
map
(
fallList
,
i
->
dateTimeFormatter
.
format
(
LongTimestampUtil
.
toLocalDateTime
(
i
.
getTimestamp
()))));
});
voList
.
sort
(
String:
:
compareTo
);
return
voList
;
}
@Override
public
List
<
String
>
failRecordList
(
PlatElderReportDTO
platElderIdDTO
)
{
return
null
;
LocalDate
now
=
Optional
.
ofNullable
(
platElderIdDTO
.
getNow
()).
orElse
(
LocalDate
.
now
());
LocalDateTime
start
=
dayStartNow
(
now
);
LocalDateTime
end
=
dayEndNow
(
now
);
return
failRecordListInternal
(
platElderIdDTO
,
start
,
end
);
}
@Override
...
...
@@ -318,4 +380,66 @@ public class PlatElderDayReportDayServiceImpl implements PlatElderDayReportDaySe
return
coordinateList
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
(),
start
,
end
);
}
@Override
public
List
<
PlatElderBehaviorDistributionVO
>
behaviorDistributionInternal
(
PlatElderReportDTO
platElderIdDTO
,
List
<
LocalDate
>
nowList
)
{
List
<
PlatDevice
>
platDeviceList
=
platElderRealTimeService
.
getSpaceDevice
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
());
if
(
CollectionUtils
.
isEmpty
(
platDeviceList
))
{
return
new
ArrayList
<>(
10
);
}
List
<
PlatElderBehaviorDistributionVO
>
voList
=
new
ArrayList
<>(
10
);
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
);
List
<
PlatElderBehaviorDistributionVO
>
finalVoList
=
voList
;
platDeviceList
.
forEach
(
e
->
{
List
<
PlatDayDurationRecord
>
recordList
=
platDayDurationRecordService
.
list
(
new
QueryWrapper
<
PlatDayDurationRecord
>().
lambda
()
.
eq
(
PlatDayDurationRecord:
:
getDeviceId
,
e
.
getId
())
.
in
(
PlatDayDurationRecord:
:
getDay
,
StreamUtil
.
map
(
nowList
,
dateTimeFormatter:
:
format
))
);
finalVoList
.
addAll
(
StreamUtil
.
map
(
recordList
,
i
->
{
PlatElderBehaviorDistributionVO
vo
=
new
PlatElderBehaviorDistributionVO
();
vo
.
setAreaName
(
i
.
getRegionName
());
vo
.
setDuration
(
Integer
.
valueOf
(
i
.
getDuration
()
+
""
));
return
vo
;
}));
});
Map
<
String
,
List
<
PlatElderBehaviorDistributionVO
>>
map
=
StreamUtil
.
groupBy
(
voList
,
PlatElderBehaviorDistributionVO:
:
getAreaName
);
List
<
PlatElderBehaviorDistributionVO
>
newVoList
=
new
ArrayList
<>(
10
);
map
.
forEach
((
k
,
v
)
->
{
PlatElderBehaviorDistributionVO
vo
=
new
PlatElderBehaviorDistributionVO
();
vo
.
setAreaName
(
k
);
vo
.
setDuration
(
StreamUtil
.
reduce
(
v
,
PlatElderBehaviorDistributionVO:
:
getDuration
,
0
,
Integer:
:
sum
));
newVoList
.
add
(
vo
);
});
voList
=
newVoList
;
voList
.
sort
(
Comparator
.
comparing
(
PlatElderBehaviorDistributionVO:
:
getDuration
));
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 @
9114b029
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.makeit.dto.platform.elder.PlatElderReportDTO
;
import
com.makeit.module.iot.service.IotProductDeviceService
;
import
com.makeit.service.platform.elder.PlatElderDayReportDayService
;
import
com.makeit.service.platform.elder.PlatElderDayReportWeekService
;
import
com.makeit.service.platform.elder.PlatElderService
;
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.PlatElderSleepAnalysis
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.platform.elder.*
;
import
com.makeit.service.saas.SaasDiseaseReportService
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
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.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.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.stereotype.Service
;
import
java.time.DayOfWeek
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.TemporalAdjusters
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
PlatElderDayReportWeekServiceImpl
implements
PlatElderDayReportWeekService
{
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Autowired
private
PlatElderDayReportDayService
platElderDayReportDayService
;
@Autowired
private
PlatElderService
platElderService
;
private
PlatElderSleepAnalysisService
platElderSleepAnalysisService
;
@Autowired
private
SaasSleepEvaluateReportService
saasSleepEvaluateReportService
;
@Autowired
private
SaasDiseaseReportService
saasDiseaseReportService
;
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
@Autowired
private
IotProductDeviceService
iotProductDeviceService
;
private
PlatElderBreatheAnalysisService
platElderBreatheAnalysisService
;
@Autowired
private
PlatElderBreatheDayStatService
platElderBreatheDayStatService
;
private
LocalDateTime
weekStartDateTime
(
LocalDateTime
defaultTime
)
{
return
weekStartDateTime
(
LocalDate
.
now
(),
defaultTime
);
}
private
LocalDateTime
weekStartDateTime
(
LocalDate
now
,
LocalDateTime
defaultTime
)
{
if
(
defaultTime
!=
null
)
{
return
defaultTime
;
}
LocalDate
monday
=
now
.
with
(
TemporalAdjusters
.
previousOrSame
(
DayOfWeek
.
MONDAY
));
LocalDateTime
start
=
LocalDateTimeUtils
.
getDayStart
(
monday
);
return
start
;
}
private
LocalDateTime
weekEndDateTime
(
LocalDateTime
defaultTime
)
{
return
weekStartDateTime
(
LocalDate
.
now
(),
defaultTime
);
}
private
LocalDateTime
weekEndDateTime
(
LocalDate
now
,
LocalDateTime
defaultTime
)
{
if
(
defaultTime
!=
null
)
{
return
defaultTime
;
}
LocalDate
sunday
=
now
.
with
(
TemporalAdjusters
.
nextOrSame
(
DayOfWeek
.
SUNDAY
));
LocalDateTime
start
=
LocalDateTimeUtils
.
getDayStart
(
sunday
);
return
start
;
}
private
LocalDate
weekStartDate
(
LocalDateTime
defaultTime
)
{
return
weekStartDate
(
LocalDate
.
now
(),
defaultTime
);
}
private
LocalDate
weekStartDate
(
LocalDate
now
,
LocalDateTime
defaultTime
)
{
if
(
defaultTime
!=
null
)
{
return
defaultTime
.
toLocalDate
();
}
LocalDate
monday
=
now
.
with
(
TemporalAdjusters
.
previousOrSame
(
DayOfWeek
.
MONDAY
));
return
monday
;
}
private
LocalDate
weekEndDate
(
LocalDateTime
defaultTime
)
{
return
weekStartDate
(
LocalDate
.
now
(),
defaultTime
);
}
private
LocalDate
weekEndDate
(
LocalDate
now
,
LocalDateTime
defaultTime
)
{
if
(
defaultTime
!=
null
)
{
return
defaultTime
.
toLocalDate
();
}
LocalDate
sunday
=
now
.
with
(
TemporalAdjusters
.
nextOrSame
(
DayOfWeek
.
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
public
PlatElderSleepEvaluationVO
sleepEvaluation
(
PlatElderReportDTO
platElderIdDTO
)
{
LocalDate
weekStartDate
=
weekStartDate
(
platElderIdDTO
.
getStartTime
());
LocalDate
weekEndDate
=
weekStartDate
(
platElderIdDTO
.
getEndTime
());
DateTimeFormatter
dateTimeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
List
<
PlatElderSleepAnalysis
>
sleepAnalysisList
=
platElderSleepAnalysisService
.
list
(
new
QueryWrapper
<
PlatElderSleepAnalysis
>().
lambda
()
.
ge
(
PlatElderSleepAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
le
(
PlatElderSleepAnalysis:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekEndDate
))
);
int
score
=
0
;
int
sleepDuration
=
0
;
int
restDuration
=
0
;
if
(
CollectionUtils
.
isNotEmpty
(
sleepAnalysisList
))
{
score
=
StreamUtil
.
reduce
(
sleepAnalysisList
,
e
->
Integer
.
valueOf
(
e
.
getSleepScore
()
+
""
),
0
,
Integer:
:
sum
)
/
sleepAnalysisList
.
size
();
sleepDuration
=
StreamUtil
.
reduce
(
sleepAnalysisList
,
e
->
Integer
.
valueOf
(
e
.
getSleepTime
()
+
""
),
0
,
Integer:
:
sum
)
/
sleepAnalysisList
.
size
();
restDuration
=
StreamUtil
.
reduce
(
sleepAnalysisList
,
e
->
Integer
.
valueOf
(
e
.
getRestTime
()
+
""
),
0
,
Integer:
:
sum
)
/
sleepAnalysisList
.
size
();
}
PlatElderSleepEvaluationVO
platElderSleepEvaluationVO
=
new
PlatElderSleepEvaluationVO
();
platElderSleepEvaluationVO
.
setScore
(
score
);
platElderSleepEvaluationVO
.
setSleepDuration
(
sleepDuration
);
platElderSleepEvaluationVO
.
setRestDuration
(
restDuration
);
EvaluateReportVO
evaluateReportVO
=
saasSleepEvaluateReportService
.
getByScore
(
platElderSleepEvaluationVO
.
getScore
());
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:
:
getHappenDate
,
dateTimeFormatter
.
format
(
weekStartDate
))
.
le
(
PlatElderBreatheAnalysis:
:
getHappenDate
,
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
platElderHeartRespiratoryEvaluationVO
=
new
PlatElderHeartRespiratoryEvaluationVO
();
platElderHeartRespiratoryEvaluationVO
.
setScore
(
score
);
EvaluateReportVO
evaluateReportVO
=
saasDiseaseReportService
.
getByScore
(
platElderHeartRespiratoryEvaluationVO
.
getScore
());
if
(
evaluateReportVO
!=
null
)
{
platElderHeartRespiratoryEvaluationVO
.
setResult
(
evaluateReportVO
.
getResult
());
platElderHeartRespiratoryEvaluationVO
.
setEvaluation
(
evaluateReportVO
.
getEvaluate
());
}
return
platElderHeartRespiratoryEvaluationVO
;
}
@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
)
{
return
platElderDayReportDayService
.
coordinateList
(
platElderIdDTO
.
getElderId
(),
platElderIdDTO
.
getDeviceId
(),
platElderIdDTO
.
getStartTime
(),
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/platform/elder/impl/PlatElderRealTimeServiceImpl.java
View file @
9114b029
...
...
@@ -78,6 +78,22 @@ public class PlatElderRealTimeServiceImpl implements PlatElderRealTimeService {
return
deviceList
;
}
@Override
public
List
<
PlatDevice
>
getFallDevice
(
String
elderId
,
String
deviceId
)
{
List
<
PlatDevice
>
deviceList
=
null
;
if
(
StringUtils
.
isNotBlank
(
elderId
))
{
deviceList
=
platElderService
.
getFallDevice
(
elderId
);
}
if
(
StringUtils
.
isNotBlank
(
deviceId
))
{
deviceList
=
Arrays
.
asList
(
platDeviceService
.
getById
(
deviceId
));
}
return
deviceList
;
}
private
DeviceInfoContentBreathe
getNowDataBreathe
(
String
elderId
,
String
deviceId
)
{
PlatDevice
platDevice
=
getBreathDevice
(
elderId
,
deviceId
);
...
...
server-service/src/main/java/com/makeit/service/platform/elder/impl/PlatElderServiceImpl.java
View file @
9114b029
...
...
@@ -739,6 +739,17 @@ public class PlatElderServiceImpl extends ServiceImpl<PlatElderMapper, PlatElder
}
@Override
public
List
<
PlatDevice
>
getFallDevice
(
String
id
)
{
PlatElder
platElder
=
getById
(
id
);
if
(
StringUtils
.
isBlank
(
platElder
.
getBedId
()))
{
return
null
;
}
return
platRoomBedDeviceService
.
getFallDevice
(
platElder
.
getBedId
());
}
@Override
public
List
<
PlatElderWechatSimpleVO
>
listMy
()
{
PlatElderChildrenInfoWechatVO
childrenInfo
=
platElderChildrenInfoService
.
view
();
...
...
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomBedDeviceService.java
View file @
9114b029
...
...
@@ -53,4 +53,6 @@ public interface PlatRoomBedDeviceService extends IService<PlatRoomBedDevice> {
PlatDevice
getBreathDevice
(
String
bedId
);
List
<
PlatDevice
>
getSpaceDevice
(
String
bedId
);
List
<
PlatDevice
>
getFallDevice
(
String
bedId
);
}
server-service/src/main/java/com/makeit/service/platform/space/PlatSpaceService.java
View file @
9114b029
...
...
@@ -2,11 +2,13 @@ package com.makeit.service.platform.space;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.common.vo.ExcelImportVo
;
import
com.makeit.dto.platform.space.PlatSpaceAddDTO
;
import
com.makeit.dto.platform.space.PlatSpaceQueryDTO
;
import
com.makeit.dto.platform.space.PlatSpaceVO
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.vo.platform.space.PlatSpaceAndRoomVO
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -66,4 +68,12 @@ public interface PlatSpaceService extends IService<PlatSpace> {
PlatSpaceVO
child
(
PlatSpaceVO
vo
,
Map
<
String
,
List
<
PlatSpace
>>
map
);
PlatSpaceVO
convertToVO
(
PlatSpace
space
);
/**
* 导入
* @param excelFile
* @return
*/
public
ExcelImportVo
importSpaceExcel
(
MultipartFile
excelFile
);
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomBedDeviceServiceImpl.java
View file @
9114b029
...
...
@@ -109,34 +109,34 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
public
List
<
PlatDeviceDTO
>
listBindDevice
(
PlatBedDeviceQueryDTO
dto
)
{
LambdaQueryWrapper
<
PlatRoomBedDevice
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper1
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getBedId
()),
PlatRoomBedDevice:
:
getBedId
,
dto
.
getBedId
());
queryWrapper1
.
eq
(
PlatRoomBedDevice:
:
getRoomId
,
dto
.
getRoomId
());
queryWrapper1
.
eq
(
StringUtil
.
isNotEmpty
(
dto
.
getBedId
()),
PlatRoomBedDevice:
:
getBedId
,
dto
.
getBedId
());
List
<
PlatRoomBedDevice
>
list
=
list
(
queryWrapper1
);
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listEquipmentIds
=
list
.
stream
().
map
(
item
->
item
.
getDeviceId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listBedIds
=
list
.
stream
().
map
(
item
->
item
.
getBedId
()).
collect
(
Collectors
.
toList
());
List
<
String
>
listBedIds
=
list
.
stream
().
map
(
item
->
item
.
getBedId
()).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
PlatBed
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
queryWrapper2
.
in
(
PlatBed:
:
getId
,
listBedIds
);
queryWrapper2
.
in
(
PlatBed:
:
getId
,
listBedIds
);
List
<
PlatBed
>
listBeds
=
platBedService
.
list
(
queryWrapper2
);
Map
<
String
,
String
>
map
=
listBeds
.
stream
().
collect
(
Collectors
.
toMap
(
PlatBed:
:
getId
,
PlatBed:
:
getName
,(
k1
,
k2
)->
k1
));
Map
<
String
,
String
>
mapName
=
new
HashMap
<>(
20
);
Map
<
String
,
String
>
mapBedId
=
new
HashMap
<>(
20
);
list
.
forEach
(
item
->
{
if
(
map
.
containsKey
(
item
.
getBedId
()))
{
mapName
.
put
(
item
.
getDeviceId
(),
map
.
get
(
item
.
getBedId
()));
mapBedId
.
put
(
item
.
getDeviceId
(),
item
.
getBedId
());
Map
<
String
,
String
>
map
=
listBeds
.
stream
().
collect
(
Collectors
.
toMap
(
PlatBed:
:
getId
,
PlatBed:
:
getName
,
(
k1
,
k2
)
->
k1
));
Map
<
String
,
String
>
mapName
=
new
HashMap
<>(
20
);
Map
<
String
,
String
>
mapBedId
=
new
HashMap
<>(
20
);
list
.
forEach
(
item
->
{
if
(
map
.
containsKey
(
item
.
getBedId
()))
{
mapName
.
put
(
item
.
getDeviceId
(),
map
.
get
(
item
.
getBedId
()));
mapBedId
.
put
(
item
.
getDeviceId
(),
item
.
getBedId
());
}
});
List
<
PlatDeviceDTO
>
data
=
new
ArrayList
<>();
if
(!
listEquipmentIds
.
isEmpty
())
{
if
(!
listEquipmentIds
.
isEmpty
())
{
LambdaQueryWrapper
<
PlatDevice
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
//queryWrapper.eq(PlatDevice::getCategory, PlatDeviceEnum.CategoryEnum.HEART);
queryWrapper
.
in
(
PlatDevice:
:
getId
,
listEquipmentIds
);
queryWrapper
.
in
(
PlatDevice:
:
getId
,
listEquipmentIds
);
List
<
PlatDevice
>
listDevices
=
platDeviceService
.
list
(
queryWrapper
);
data
=
BeanDtoVoUtils
.
listVo
(
listDevices
,
PlatDeviceDTO
.
class
);
data
=
BeanDtoVoUtils
.
listVo
(
listDevices
,
PlatDeviceDTO
.
class
);
data
.
forEach
(
item
->
{
data
.
forEach
(
item
->
{
item
.
setBedName
(
mapName
.
get
(
item
.
getId
()));
item
.
setBedId
(
mapBedId
.
get
(
item
.
getId
()));
});
...
...
@@ -182,9 +182,7 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
}
@Override
public
List
<
PlatDevice
>
getSpaceDevice
(
String
bedId
)
{
private
List
<
PlatDevice
>
getDeviceInternal
(
String
bedId
,
String
category
)
{
PlatBed
bed
=
platBedService
.
getById
(
bedId
);
List
<
PlatRoomBedDevice
>
deviceList
=
list
(
new
QueryWrapper
<
PlatRoomBedDevice
>().
lambda
()
...
...
@@ -192,10 +190,17 @@ public class PlatRoomBedDeviceServiceImpl extends ServiceImpl<PlatRoomBedDeviceM
return
platDeviceService
.
list
(
new
QueryWrapper
<
PlatDevice
>().
lambda
()
.
in
(
PlatDevice:
:
getId
,
StreamUtil
.
mapId
(
deviceList
,
PlatRoomBedDevice:
:
getDeviceId
))
.
eq
(
PlatDevice:
:
getCategory
,
PlatDeviceEnum
.
CategoryEnum
.
SPACE
.
getValue
()
)
.
eq
(
PlatDevice:
:
getCategory
,
category
)
);
}
@Override
public
List
<
PlatDevice
>
getSpaceDevice
(
String
bedId
)
{
return
getDeviceInternal
(
bedId
,
PlatDeviceEnum
.
CategoryEnum
.
SPACE
.
getValue
());
}
@Override
public
List
<
PlatDevice
>
getFallDevice
(
String
bedId
)
{
return
getDeviceInternal
(
bedId
,
PlatDeviceEnum
.
CategoryEnum
.
FALL
.
getValue
());
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
View file @
9114b029
...
...
@@ -4,14 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.makeit.common.dto.BaseIdDTO
;
import
com.makeit.
dto.platform.space.PlatSpaceAddDTO
;
import
com.makeit.
dto.platform.space.PlatSpaceQueryDTO
;
import
com.makeit.dto.platform.space.
PlatSpaceVO
;
import
com.makeit.
common.vo.ExcelErrorVo
;
import
com.makeit.
common.vo.ExcelImportVo
;
import
com.makeit.dto.platform.space.
*
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.platform.space.PlatSpaceEnum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.platform.space.PlatSpaceMapper
;
import
com.makeit.service.platform.auth.PlatOrgService
;
...
...
@@ -19,6 +20,8 @@ import com.makeit.service.platform.space.PlatBedService;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.excel.ExcelUtil
;
import
com.makeit.utils.user.TokenUtil
;
import
com.makeit.utils.user.plat.PlatUserUtil
;
import
com.makeit.utils.user.plat.PlatUserVO
;
import
com.makeit.vo.platform.space.PlatSpaceAndRoomVO
;
...
...
@@ -26,8 +29,10 @@ import jodd.util.StringUtil;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -267,5 +272,193 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
return
vo
;
}
@Override
@Transactional
public
ExcelImportVo
importSpaceExcel
(
MultipartFile
excelFile
)
{
ExcelImportVo
excelImportVo
=
new
ExcelImportVo
();
try
{
List
<
PlatSpace
>
listPlatSpace
=
list
(
new
LambdaQueryWrapper
<>());
List
<
PlatSpace
>
firstSpace
=
listPlatSpace
.
stream
().
filter
(
item
->
item
.
getParentId
()
==
null
).
collect
(
Collectors
.
toList
());
Map
<
String
,
String
>
firstSpaceNameMap
=
firstSpace
.
stream
().
collect
(
Collectors
.
toMap
(
PlatSpace:
:
getName
,
PlatSpace:
:
getId
,(
k1
,
k2
)->
k1
));
List
<
PlatSpace
>
listChildren
=
listPlatSpace
.
stream
().
filter
(
item
->
item
.
getParentId
()
!=
null
).
collect
(
Collectors
.
toList
());
Map
<
String
,
List
<
PlatSpace
>>
childrenMap
=
listChildren
.
stream
().
collect
(
Collectors
.
groupingBy
(
PlatSpace:
:
getParentId
));
Map
<
String
,
String
>
childrenIdMap
=
listChildren
.
stream
().
collect
(
Collectors
.
toMap
(
item
->
item
.
getParentId
()+
item
.
getName
(),
item
->
item
.
getId
(),(
k1
,
k2
)->
k1
));
List
<
PlatSpaceImportDTO
>
list
=
ExcelUtil
.
importExcel
(
null
,
3
,
excelFile
,
PlatSpaceImportDTO
.
class
);
List
<
ExcelErrorVo
>
errorVoList
=
new
ArrayList
<>(
10
);
List
<
String
>
excelField
=
Arrays
.
asList
(
"一级*"
,
"二级"
,
"三级"
,
"四级"
,
"房间名*"
,
"床位数量"
);
int
startRow
=
3
;
// List<PlatSpaceVO> listFirst = new ArrayList<>(10);
// List<PlatSpaceVO> listSecond = new ArrayList<>(10);
// List<PlatSpaceVO> listThree = new ArrayList<>(10);
// List<PlatSpaceVO> listFour = new ArrayList<>(10);
List
<
PlatRoomDTO
>
listRoom
=
new
ArrayList
<>(
10
);
List
<
String
>
listKey
=
new
ArrayList
<>();
Integer
errorCount
=
0
;
Integer
successCount
=
0
;
boolean
errorFlag
=
false
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
PlatSpaceImportDTO
item
=
list
.
get
(
i
);
if
(
StringUtil
.
isEmpty
(
item
.
getCommunity
())){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
0
),
"第一层级必填"
));
errorFlag
=
true
;
}
if
(
StringUtil
.
isEmpty
(
item
.
getFloor
())){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
4
),
"房间名必填"
));
errorFlag
=
true
;
}
String
key
=
item
.
getCommunity
();
//第二层级
if
(
StringUtil
.
isNotEmpty
(
item
.
getBuilding
())){
key
=
key
+
"-"
+
item
.
getBuilding
();
}
//第三层级
if
(
StringUtil
.
isNotEmpty
(
item
.
getUnit
())){
key
=
key
+
"-"
+
item
.
getUnit
();
}
//第四层级
if
(
StringUtil
.
isNotEmpty
(
item
.
getFloor
())){
key
=
key
+
"-"
+
item
.
getFloor
();
}
if
(
listKey
.
contains
(
key
)){
errorVoList
.
add
(
new
ExcelErrorVo
(
i
+
3
,
excelField
.
get
(
0
),
"该空间下,房间名已存在"
));
errorFlag
=
true
;
}
if
(
errorFlag
){
errorCount
++;
}
else
{
successCount
++;
}
}
String
orgId
=
TokenUtil
.
getTntUserDetail
().
getOrgId
();
if
(
errorVoList
.
isEmpty
()){
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
PlatSpaceImportDTO
item
=
list
.
get
(
i
);
//第一层级
String
firstId
=
null
;
if
(!
firstSpaceNameMap
.
containsKey
(
item
.
getCommunity
())){
PlatSpace
platSpace
=
new
PlatSpace
();
platSpace
.
setName
(
item
.
getCommunity
());
platSpace
.
setType
(
PlatSpaceEnum
.
TypeEnum
.
COMMUNITY
.
getValue
());
platSpace
.
setOrgId
(
orgId
);
save
(
platSpace
);
firstSpaceNameMap
.
put
(
platSpace
.
getName
(),
platSpace
.
getId
());
firstId
=
platSpace
.
getId
();
}
else
{
firstId
=
firstSpaceNameMap
.
get
(
item
.
getCommunity
());
}
//第二层级
String
secondId
=
null
;
if
(
StringUtil
.
isNotEmpty
(
item
.
getBuilding
())){
String
secondKey
=
firstId
+
"-"
+
item
.
getBuilding
();
if
(!
childrenIdMap
.
containsKey
(
secondKey
)){
PlatSpace
platSpace
=
new
PlatSpace
();
platSpace
.
setName
(
item
.
getBuilding
());
platSpace
.
setType
(
PlatSpaceEnum
.
TypeEnum
.
BUILDING
.
getValue
());
platSpace
.
setOrgId
(
orgId
);
platSpace
.
setParentId
(
firstId
);
platSpace
.
setParentPath
(
firstId
);
save
(
platSpace
);
childrenIdMap
.
put
(
secondKey
,
platSpace
.
getId
());
secondId
=
platSpace
.
getId
();
}
else
{
secondId
=
childrenIdMap
.
get
(
secondKey
);
}
}
//第三级
String
threeId
=
null
;
if
(
StringUtil
.
isNotEmpty
(
item
.
getUnit
())){
String
threeKey
=
secondId
+
"-"
+
item
.
getUnit
();
if
(!
childrenIdMap
.
containsKey
(
threeKey
)){
PlatSpace
platSpace
=
new
PlatSpace
();
platSpace
.
setName
(
item
.
getBuilding
());
platSpace
.
setType
(
PlatSpaceEnum
.
TypeEnum
.
UNIT
.
getValue
());
platSpace
.
setOrgId
(
orgId
);
platSpace
.
setParentId
(
secondId
);
platSpace
.
setParentPath
(
firstId
+
","
+
secondId
);
save
(
platSpace
);
childrenIdMap
.
put
(
threeKey
,
platSpace
.
getId
());
threeId
=
platSpace
.
getId
();
}
else
{
threeId
=
childrenIdMap
.
get
(
threeKey
);
}
}
//第四级
String
fourId
=
null
;
if
(
StringUtil
.
isNotEmpty
(
item
.
getFloor
())){
String
fourKey
=
threeId
+
"-"
+
item
.
getFloor
();
if
(!
childrenIdMap
.
containsKey
(
fourKey
)){
PlatSpace
platSpace
=
new
PlatSpace
();
platSpace
.
setName
(
item
.
getBuilding
());
platSpace
.
setType
(
PlatSpaceEnum
.
TypeEnum
.
FLOOR
.
getValue
());
platSpace
.
setOrgId
(
orgId
);
platSpace
.
setParentId
(
threeId
);
platSpace
.
setParentPath
(
firstId
+
","
+
secondId
+
","
+
threeId
);
save
(
platSpace
);
childrenIdMap
.
put
(
fourKey
,
platSpace
.
getId
());
fourId
=
platSpace
.
getId
();
}
else
{
fourId
=
childrenIdMap
.
get
(
fourKey
);
}
}
//房间
PlatRoomDTO
platRoomDTO
=
new
PlatRoomDTO
();
platRoomDTO
.
setName
(
item
.
getRoomName
());
platRoomDTO
.
setBedNumber
(
item
.
getBedNumber
());
String
spaceId
=
null
;
if
(
firstId
!=
null
){
spaceId
=
firstId
;
}
else
if
(
secondId
!=
null
){
spaceId
=
secondId
;
}
else
if
(
threeId
!=
null
){
spaceId
=
threeId
;
}
else
if
(
fourId
!=
null
){
spaceId
=
fourId
;
}
platRoomDTO
.
setSpaceId
(
spaceId
);
platRoomService
.
add
(
platRoomDTO
);
}
}
excelImportVo
.
setTotalCount
(
list
.
size
());
excelImportVo
.
setErrorCount
(
errorCount
);
excelImportVo
.
setSuccessCount
(
successCount
);
excelImportVo
.
setList
(
errorVoList
);
return
excelImportVo
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
return
excelImportVo
;
}
}
server-service/src/main/java/com/makeit/service/saas/SaasElderReportConfigService.java
View file @
9114b029
...
...
@@ -21,5 +21,7 @@ public interface SaasElderReportConfigService extends IService<SaasElderReportCo
void
edit
(
SaasElderReportConfigDTO
dto
);
EvaluateReportVO
getByScoreInternal
(
String
resultContent
,
long
totalScore
);
EvaluateReportVO
getByScore
(
long
totalScore
);
}
server-service/src/main/java/com/makeit/service/saas/impl/PlatTenantServiceImpl.java
View file @
9114b029
...
...
@@ -132,11 +132,12 @@ implements PlatTenantService {
List
<
PlatTenantVO
>
voList
=
BeanDtoVoUtils
.
listVo
(
pageList
.
getRecords
(),
PlatTenantVO
.
class
);
TntUserJoinUtil
.
join
(
platUserService
,
voList
,
qw
->
qw
.
eq
(
PlatUser:
:
getIsTenant
,
IsTenantAccountEnum
.
YES
.
getValue
()),
PlatTenantVO:
:
get
Tn
tUserId
,(
t
,
u
)
->
{
t
.
setUserAccount
(
u
.
get
Mobile
());
PlatTenantVO:
:
get
Pla
tUserId
,(
t
,
u
)
->
{
t
.
setUserAccount
(
u
.
get
Account
());
t
.
setUserName
(
u
.
getUsername
());
},
BaseEntity:
:
getId
);
return
PageUtil
.
toPageVO
(
voList
,
pageList
);
}
...
...
@@ -201,6 +202,7 @@ implements PlatTenantService {
public
String
add
(
PlatTenantDTOVO
dto
)
{
checkName
(
dto
);
checkDate
(
dto
);
checkCode
(
dto
);
PlatTenant
tntTenant
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatTenant
.
class
);
//新租户同步到iot
...
...
@@ -226,12 +228,14 @@ implements PlatTenantService {
return
tntTenant
.
getId
();
}
@Transactional
@Override
@TenantIdIgnore
public
void
edit
(
PlatTenantDTOVO
dto
)
{
checkName
(
dto
);
checkDate
(
dto
);
checkCode
(
dto
);
PlatTenant
tntTenant
=
BeanDtoVoUtils
.
convert
(
dto
,
PlatTenant
.
class
);
PlatTenant
platTenant
=
getById
(
tntTenant
.
getId
());
//更新同步到iot
...
...
@@ -245,11 +249,11 @@ implements PlatTenantService {
}
platUserService
.
updatePlatUserTenantId
(
tntTenant
.
getId
(),
dto
.
getPlatUserId
());
PlatOrg
platOrg
=
convertToPlatOrg
(
pla
tTenant
);
PlatOrg
platOrg
=
convertToPlatOrg
(
tn
tTenant
);
//更新组织表
platOrgService
.
edit
(
platOrg
);
//分配菜单
//分配菜单
todo 慢
assignMenuList
(
tntTenant
.
getId
(),
dto
.
getMenuIdList
());
}
...
...
@@ -375,4 +379,17 @@ implements PlatTenantService {
}
}
private
void
checkCode
(
PlatTenantDTOVO
dto
)
{
PlatTenant
tntTenant
=
getOne
(
new
QueryWrapper
<
PlatTenant
>().
lambda
()
.
eq
(
PlatTenant:
:
getCode
,
dto
.
getCode
())
.
ne
(
StringUtils
.
isNotBlank
(
dto
.
getId
()),
PlatTenant:
:
getCode
,
dto
.
getCode
())
);
if
(
tntTenant
!=
null
&&
!
tntTenant
.
getId
().
equals
(
dto
.
getId
()))
{
throw
new
BusinessException
(
CodeMessageEnum
.
SYSTEM_ERROR_TENANT_CODE_DUPLICATE
);
}
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasDiseaseReportServiceImpl.java
View file @
9114b029
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.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO
;
import
com.makeit.entity.saas.analysis.SaasDiseaseReport
;
import
com.makeit.mapper.saas.analysis.SaasDiseaseReportMapper
;
...
...
@@ -10,6 +12,8 @@ import com.makeit.service.saas.SaasDiseaseReportService;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
SaasDiseaseReportServiceImpl
extends
ServiceImpl
<
SaasDiseaseReportMapper
,
SaasDiseaseReport
>
implements
SaasDiseaseReportService
{
...
...
@@ -36,6 +40,20 @@ public class SaasDiseaseReportServiceImpl extends ServiceImpl<SaasDiseaseReportM
@Override
public
EvaluateReportVO
getByScore
(
long
totalScore
)
{
return
null
;
SaasDiseaseReport
diseaseReport
=
getOne
(
new
QueryWrapper
<
SaasDiseaseReport
>().
lambda
()
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
last
(
"limit 1"
));
String
diseaseReportResultContent
=
diseaseReport
.
getResultContent
();
List
<
EvaluateReportVO
>
diseaseReportResultList
=
JSON
.
parseArray
(
diseaseReportResultContent
,
EvaluateReportVO
.
class
);
EvaluateReportVO
elderReport
=
null
;
for
(
EvaluateReportVO
evaluateReportVO
:
diseaseReportResultList
)
{
String
[]
scoreRange
=
evaluateReportVO
.
getScoreRange
().
split
(
"-"
);
long
scoreRangeStart
=
Long
.
parseLong
(
scoreRange
[
0
]);
long
scoreRangeEnd
=
Long
.
parseLong
(
scoreRange
[
1
]);
if
(
scoreRangeStart
<=
totalScore
&&
scoreRangeEnd
>=
totalScore
)
{
elderReport
=
evaluateReportVO
;
}
}
return
elderReport
;
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasElderReportConfigServiceImpl.java
View file @
9114b029
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.saas.analysis.SaasElderReportConfigDTO
;
import
com.makeit.entity.saas.analysis.SaasElderReportConfig
;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.mapper.saas.analysis.SaasElderReportConfigMapper
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
...
...
@@ -48,20 +49,34 @@ public class SaasElderReportConfigServiceImpl extends ServiceImpl<SaasElderRepor
}
@Override
public
EvaluateReportVO
getByScore
(
long
totalScore
)
{
SaasElderReportConfig
elderReportConfig
=
getOne
(
new
QueryWrapper
<
SaasElderReportConfig
>().
lambda
()
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
last
(
"limit 1"
));
List
<
EvaluateReportVO
>
elderEvaluateReportList
=
JSON
.
parseArray
(
elderReportConfig
.
getResultContent
(),
EvaluateReportVO
.
class
);
EvaluateReportVO
elderReport
=
null
;
for
(
EvaluateReportVO
evaluateReportVO
:
e
lderE
valuateReportList
)
{
public
EvaluateReportVO
getByScore
Internal
(
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
)
{
elder
Report
=
evaluateReportVO
;
final
Report
=
evaluateReportVO
;
}
}
return
elderReport
;
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 @
9114b029
...
...
@@ -8,8 +8,10 @@ import com.makeit.dto.saas.analysis.SaasSleepEvaluateReportDTO;
import
com.makeit.entity.saas.analysis.SaasSleepEvaluateReport
;
import
com.makeit.mapper.saas.analysis.SaasSleepEvaluateReportMapper
;
import
com.makeit.module.iot.vo.analysis.EvaluateReportVO
;
import
com.makeit.service.saas.SaasElderReportConfigService
;
import
com.makeit.service.saas.SaasSleepEvaluateReportService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
@@ -25,6 +27,8 @@ import java.util.List;
@Service
public
class
SaasSleepEvaluateReportServiceImpl
extends
ServiceImpl
<
SaasSleepEvaluateReportMapper
,
SaasSleepEvaluateReport
>
implements
SaasSleepEvaluateReportService
{
@Autowired
private
SaasElderReportConfigService
saasElderReportConfigService
;
@Override
public
SaasSleepEvaluateReport
view
(
String
id
)
{
...
...
@@ -53,18 +57,7 @@ public class SaasSleepEvaluateReportServiceImpl extends ServiceImpl<SaasSleepEva
.
orderByDesc
(
BaseEntity:
:
getCreateBy
)
.
last
(
"limit 1"
));
String
resultContent
=
sleepEvaluateReport
.
getResultContent
();
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
;
return
saasElderReportConfigService
.
getByScoreInternal
(
resultContent
,
totalScore
);
}
}
server-service/src/main/java/com/makeit/service/saas/impl/SaasUserServiceImpl.java
View file @
9114b029
...
...
@@ -163,8 +163,8 @@ implements SaasUserService{
new
QueryWrapper
<
SaasUser
>().
lambda
()
.
eq
(
SaasUser:
:
getAccount
,
dto
.
getAccount
())
.
or
()
.
eq
(
SaasUser:
:
getUsername
,
dto
.
getUsername
())
.
or
()
//
.eq(SaasUser::getUsername, dto.getUsername())
//
.or()
.
eq
(
SaasUser:
:
getMobile
,
dto
.
getMobile
())
);
...
...
server-service/src/main/java/com/makeit/task/IotSyncTask.java
View file @
9114b029
...
...
@@ -74,6 +74,10 @@ public class IotSyncTask {
Set
<
String
>
iotDeviceIdSet
=
iotDeviceList
.
stream
().
map
(
DeviceInstanceEntity:
:
getId
).
collect
(
Collectors
.
toSet
());
LambdaQueryWrapper
<
PlatDevice
>
deviceLambdaQueryWrapper
=
new
LambdaQueryWrapper
<
PlatDevice
>().
eq
(
BaseBusEntity:
:
getTenantId
,
platTenant
.
getId
())
.
in
(
PlatDevice:
:
getOriDeviceId
,
iotDeviceIdSet
);
//删除设备
LambdaQueryWrapper
<
PlatDevice
>
removeQw
=
new
LambdaQueryWrapper
<
PlatDevice
>().
notIn
(
PlatDevice:
:
getOriDeviceId
,
iotDeviceIdSet
)
.
eq
(
BaseBusEntity:
:
getTenantId
,
platTenant
.
getId
());
platDeviceService
.
remove
(
removeQw
);
List
<
PlatDevice
>
deviceList
=
platDeviceService
.
list
(
deviceLambdaQueryWrapper
);
//更新平台设备
Collection
<
PlatDevice
>
platDevices
=
convertToPlatDevice
(
iotDeviceList
,
deviceList
,
platTenant
.
getId
(),
dicNameIdMap
);
...
...
server-service/src/main/java/com/makeit/vo/platform/auth/PlatPersonDTOVO.java
View file @
9114b029
...
...
@@ -89,4 +89,9 @@ public class PlatPersonDTOVO extends BaseIdDTO {
@ApiModelProperty
(
value
=
"更新人名称"
)
private
String
updateBy
;
@ApiModelProperty
(
value
=
"角色名称,逗号拼接"
)
private
String
roleNameJoin
;
}
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