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
f1ad86bc
authored
Sep 14, 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
8c41de4d
32f0d21b
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
374 additions
and
73 deletions
server-common/src/main/java/com/makeit/enums/BaseEnum.java
server-common/src/main/java/com/makeit/utils/msg/SendTypeEnum.java
server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.java
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomDynamicDetailController.java
server-module/src/main/java/com/makeit/module/controller/workstation/WorkStationController.java
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
server-service/src/main/java/com/makeit/dto/platform/dataScreen/PlatDataScreenQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/workstation/WorkStationQueryDTO.java
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/auth/PlatOrgService.java
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/dataScreen/DataScreenService.java
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/workstation/WorkStationService.java
server-service/src/main/java/com/makeit/service/platform/workstation/impl/WorkStationServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationHomeStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationInstitutionRoomVO.java
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationInstitutionStatisticsVO.java
server-service/src/main/resources/mappers/PlatBedMapper.xml
server-service/src/main/resources/mappers/PlatRoomMapper.xml
server-common/src/main/java/com/makeit/enums/BaseEnum.java
View file @
f1ad86bc
...
...
@@ -99,7 +99,7 @@ public interface BaseEnum {
static
BaseEnum
getByValue
(
Class
<?
extends
BaseEnum
>
emClazz
,
String
value
)
{
BaseEnum
[]
em
=
emClazz
.
getEnumConstants
();
for
(
BaseEnum
e
:
em
)
{
if
(
e
.
getValue
().
equals
(
value
))
{
if
(
StringUtils
.
equals
(
e
.
getValue
(),
value
))
{
return
e
;
}
}
...
...
server-common/src/main/java/com/makeit/utils/msg/SendTypeEnum.java
View file @
f1ad86bc
...
...
@@ -9,9 +9,10 @@ import lombok.Getter;
@Getter
public
enum
SendTypeEnum
implements
BaseEnum
{
//1-短信 2-邮件 3-语音短信 4-云龄工单 5-晶奇工单 6-子女端小程序
SMS
(
"alarm.sendType.sms"
),
MAIL
(
"alarm.sendType.mail"
),
VOICE_SMS
(
"alarm.sendType.voiceSms"
),
SMS
(
"alarm.notifyChannel.sms"
),
MAIL
(
"alarm.notifyChannel.mail"
),
VOICE_SMS
(
"alarm.notifyChannel.voiceMessage"
),
//todo 加字典
YUNLING
(
"alarm.sendType.yunling"
),
JINGQI
(
"alarm.sendType.jingqi"
),
CHILD_WECHAT
(
"alarm.sendType.childWechat"
)
...
...
server-common/src/main/java/com/makeit/utils/msg/dto/MsgSendDTO.java
View file @
f1ad86bc
...
...
@@ -5,11 +5,8 @@ import lombok.AllArgsConstructor;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.Collection
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
@Data
@Builder
...
...
@@ -30,8 +27,6 @@ public class MsgSendDTO {
*/
private
String
[]
param
;
private
String
sendContent
;
public
void
setParam
(
String
...
param
)
{
this
.
param
=
param
;
}
...
...
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
View file @
f1ad86bc
...
...
@@ -3,7 +3,9 @@ package com.makeit.module.controller.dataScreen;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.module.system.entity.ChinaArea
;
import
com.makeit.service.platform.dataScreen.DataScreenService
;
import
com.makeit.utils.area.ChinaAreaVO
;
import
com.makeit.vo.platform.dataScreen.*
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -64,4 +66,11 @@ public class DataScreenController {
public
ApiResponseEntity
<
List
<
PlatMapStatisticsVO
>>
mapStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
mapStatistics
(
dto
));
}
@ApiOperation
(
"地图区域"
)
@PostMapping
(
"mapList"
)
public
ApiResponseEntity
<
List
<
ChinaAreaVO
>>
mapList
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
mapList
(
dto
));
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomDynamicDetailController.java
0 → 100644
View file @
f1ad86bc
package
com
.
makeit
.
module
.
controller
.
space
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.service.platform.elder.PlatElderRealTimeService
;
import
com.makeit.vo.platform.elder.realtime.PlatElderCoordinateVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeBodyVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeHeartRespiratoryVO
;
import
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeNowVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/8
*/
@Api
(
tags
=
"房间详情"
)
@RestController
@RequestMapping
(
"/plat/room/dynamic/detail"
)
public
class
PlatRoomDynamicDetailController
{
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@ApiOperation
(
"现在状态"
)
@PostMapping
(
"nowStatus"
)
public
ApiResponseEntity
<
PlatElderRealTimeNowVO
>
nowStatus
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderRealTimeService
.
nowStatus
(
platElderIdDTO
));
}
@ApiOperation
(
"心率呼吸率"
)
@PostMapping
(
"heartRespiratory"
)
public
ApiResponseEntity
<
PlatElderRealTimeHeartRespiratoryVO
>
heartRespiratory
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderRealTimeService
.
heartRespiratory
(
platElderIdDTO
));
}
@ApiOperation
(
"体动"
)
@PostMapping
(
"body"
)
public
ApiResponseEntity
<
PlatElderRealTimeBodyVO
>
body
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderRealTimeService
.
body
(
platElderIdDTO
));
}
@ApiOperation
(
"坐标"
)
@PostMapping
(
"coordinate"
)
public
ApiResponseEntity
<
List
<
PlatElderCoordinateVO
>>
coordinate
(
@RequestBody
PlatElderIdDTO
platElderIdDTO
)
{
return
ApiResponseUtils
.
success
(
platElderRealTimeService
.
coordinate
(
platElderIdDTO
));
}
}
server-module/src/main/java/com/makeit/module/controller/workstation/WorkStationController.java
View file @
f1ad86bc
...
...
@@ -4,6 +4,7 @@ import com.makeit.common.response.ApiResponseEntity;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.workstation.WorkStationQueryDTO
;
import
com.makeit.service.platform.workstation.WorkStationService
;
import
com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO
;
import
io.swagger.annotations.Api
;
...
...
@@ -35,4 +36,10 @@ public class WorkStationController {
public
ApiResponseEntity
<
List
<
WorkStationInstitutionRoomVO
>>
institutionList
(
@RequestBody
WorkStationQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
workStationService
.
institutionList
(
dto
));
}
@ApiOperation
(
"居家-统计"
)
@PostMapping
(
"homeStatistics"
)
public
ApiResponseEntity
<
WorkStationHomeStatisticsVO
>
homeStatistics
(
@RequestBody
WorkStationQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
workStationService
.
homeStatistics
(
dto
));
}
}
server-service/src/main/java/com/makeit/dto/platform/alarm/PlatAlarmCheckDTO.java
View file @
f1ad86bc
...
...
@@ -25,4 +25,6 @@ public class PlatAlarmCheckDTO {
private
JSONObject
properties
;
//PlatAlarmRecord.remark
private
String
remark
;
}
server-service/src/main/java/com/makeit/dto/platform/dataScreen/PlatDataScreenQueryDTO.java
View file @
f1ad86bc
...
...
@@ -28,5 +28,7 @@ public class PlatDataScreenQueryDTO {
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"结束时间"
)
private
LocalDateTime
endTime
;
@ApiModelProperty
(
"类型 1-居家 2-机构"
)
private
String
type
;
}
server-service/src/main/java/com/makeit/dto/platform/workstation/WorkStationQueryDTO.java
View file @
f1ad86bc
...
...
@@ -38,4 +38,7 @@ public class WorkStationQueryDTO {
@ApiModelProperty
(
"告警类型"
)
private
String
alarmType
;
@ApiModelProperty
(
"老人ids"
)
private
List
<
String
>
elderIds
;
}
server-service/src/main/java/com/makeit/service/platform/alarm/PlatAlarmRecordService.java
View file @
f1ad86bc
...
...
@@ -54,7 +54,7 @@ public interface PlatAlarmRecordService extends IService<PlatAlarmRecord> {
*/
void
noticeDeviceAlarm
(
PlatAlarmConfig
alarmConfig
,
PlatAlarmRecord
alarmRecord
);
PlatAlarmRecord
c
reate
PlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
PlatAlarmRecord
c
onvertTo
PlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
void
getElderListByDeviceId
(
PlatAlarmCheckDTO
platAlarmCheckDTO
);
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BehaviorAlarm.java
View file @
f1ad86bc
...
...
@@ -7,16 +7,20 @@ import com.makeit.dto.platform.alarm.PlatAlarmConfigBehaviorDTOVO;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -77,8 +81,18 @@ public class BehaviorAlarm implements IAlarm{
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"房间名"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
return
;
}
PlatRoom
platRoom
=
platAlarmCheckDTO
.
getPlatRoom
();
for
(
PlatElder
platElder
:
platElderList
)
{
List
<
String
>
param
=
new
ArrayList
<>();
param
.
add
(
platElder
.
getName
());
param
.
add
(
platRoom
.
getName
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/BreathAlarm.java
View file @
f1ad86bc
...
...
@@ -7,17 +7,22 @@ import com.makeit.dto.platform.alarm.PlatAlarmConfigRespiratoryDTOVO;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
@Component
public
class
BreathAlarm
implements
IAlarm
{
...
...
@@ -67,6 +72,12 @@ public class BreathAlarm implements IAlarm{
long
count
=
endLong
-
startLong
;
if
(
br
>
end
||
br
<
start
)
{
if
(
count
>=
duration
)
{
if
(
br
>
end
){
platAlarmCheckDTO
.
setRemark
(
"呼吸过速"
);
}
if
(
br
<
start
){
platAlarmCheckDTO
.
setRemark
(
"呼吸过缓"
);
}
notice
(
platAlarmCheckDTO
);
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
}
...
...
@@ -76,12 +87,27 @@ public class BreathAlarm implements IAlarm{
return
;
}
/**
* [#长者姓名][#呼吸状态],请及时处理!
* @param platAlarmCheckDTO
*/
@Override
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"呼吸状态111"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
return
;
}
PlatRoom
platRoom
=
platAlarmCheckDTO
.
getPlatRoom
();
for
(
PlatElder
platElder
:
platElderList
)
{
List
<
String
>
param
=
new
ArrayList
<>();
param
.
add
(
platElder
.
getName
());
param
.
add
(
platAlarmCheckDTO
.
getRemark
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/FallAlarm.java
View file @
f1ad86bc
...
...
@@ -54,7 +54,7 @@ public class FallAlarm implements IAlarm{
param
.
add
(
platElder
.
getName
());
param
.
add
(
platRoom
.
getName
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
c
reate
PlatAlarmRecord
(
platAlarmCheckDTO
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
c
onvertTo
PlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
...
...
server-service/src/main/java/com/makeit/service/platform/alarm/alarmStrategy/HeartAlarm.java
View file @
f1ad86bc
...
...
@@ -7,17 +7,22 @@ import com.makeit.dto.platform.alarm.PlatAlarmConfigHeartDTOVO;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.enums.platform.alarm.PlatAlarmConfigEnum
;
import
com.makeit.enums.redis.RedisConst
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.utils.data.convert.JsonUtil
;
import
com.makeit.utils.redis.RedisUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
@Component
public
class
HeartAlarm
implements
IAlarm
{
...
...
@@ -58,6 +63,12 @@ public class HeartAlarm implements IAlarm {
long
count
=
endLong
-
startLong
;
if
(
hr
>
end
||
hr
<
start
)
{
if
(
count
>=
duration
)
{
if
(
hr
>
end
){
platAlarmCheckDTO
.
setRemark
(
"心率过速"
);
}
if
(
hr
<
start
){
platAlarmCheckDTO
.
setRemark
(
"心率过缓"
);
}
notice
(
platAlarmCheckDTO
);
RedisUtil
.
set
(
RedisConst
.
ALARM_DEVICE_ID
+
deviceId
,
endLong
/
1000
);
}
...
...
@@ -70,8 +81,19 @@ public class HeartAlarm implements IAlarm {
@Async
public
void
notice
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
platAlarmCheckDTO
.
getParam
().
add
(
"呼吸状态111"
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
createPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
platAlarmRecordService
.
getElderListByDeviceId
(
platAlarmCheckDTO
);
List
<
PlatElder
>
platElderList
=
platAlarmCheckDTO
.
getPlatElderList
();
if
(
CollectionUtils
.
isEmpty
(
platElderList
)){
return
;
}
PlatRoom
platRoom
=
platAlarmCheckDTO
.
getPlatRoom
();
for
(
PlatElder
platElder
:
platElderList
)
{
List
<
String
>
param
=
new
ArrayList
<>();
param
.
add
(
platElder
.
getName
());
param
.
add
(
platAlarmCheckDTO
.
getRemark
());
platAlarmCheckDTO
.
setParam
(
param
);
PlatAlarmRecord
platAlarmRecord
=
platAlarmRecordService
.
convertToPlatAlarmRecord
(
platAlarmCheckDTO
);
platAlarmRecordService
.
noticeDeviceAlarm
(
platAlarmCheckDTO
.
getPlatAlarmConfig
(),
platAlarmRecord
);
}
}
}
server-service/src/main/java/com/makeit/service/platform/alarm/impl/PlatAlarmRecordServiceImpl.java
View file @
f1ad86bc
...
...
@@ -271,6 +271,12 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
Set
<
String
>
phoneSet
=
platUserList
.
stream
().
map
(
PlatUser:
:
getMobile
).
collect
(
Collectors
.
toSet
());
//发送消息
noticeByChannel
(
alarmConfig
,
alarmRecord
,
phoneSet
,
notifyChannelList
);
String
userIdJoin
=
platUserList
.
stream
().
map
(
PlatUser:
:
getId
).
collect
(
Collectors
.
joining
(
","
));
alarmRecord
.
setNotifyUser
(
userIdJoin
);
saveOrUpdate
(
alarmRecord
);
}
/**
...
...
@@ -299,21 +305,21 @@ public class PlatAlarmRecordServiceImpl extends ServiceImpl<PlatAlarmRecordMappe
}
@Override
public
PlatAlarmRecord
c
reate
PlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
public
PlatAlarmRecord
c
onvertTo
PlatAlarmRecord
(
PlatAlarmCheckDTO
platAlarmCheckDTO
)
{
PlatAlarmConfig
config
=
platAlarmCheckDTO
.
getPlatAlarmConfig
();
PlatDevice
platDevice
=
platAlarmCheckDTO
.
getPlatDevice
();
List
<
String
>
param
=
platAlarmCheckDTO
.
getParam
();
List
<
PlatElder
>
elderList
=
platAlarmCheckDTO
.
getPlatElderList
();
String
elderNameJoin
=
elderList
.
stream
().
map
(
PlatElder:
:
getName
).
collect
(
Collectors
.
joining
(
" "
));
PlatAlarmRecord
platAlarmRecord
=
new
PlatAlarmRecord
();
platAlarmRecord
.
setAlarmId
(
config
.
getId
());
platAlarmRecord
.
setAlarmType
(
config
.
getAlarmType
());
platAlarmRecord
.
setAlarmDate
(
new
Date
());
platAlarmRecord
.
setStatus
(
"0"
);
//todo
platAlarmRecord
.
setContent
(
replaceParam
(
elderNameJoin
,
param
));
platAlarmRecord
.
setStatus
(
CommonEnum
.
NO
.
getValue
());
platAlarmRecord
.
setNoticeStatus
(
CommonEnum
.
NO
.
getValue
());
//模板信息 替换参数
platAlarmRecord
.
setContent
(
replaceParam
(
config
.
getContent
(),
param
));
platAlarmRecord
.
setOrgId
(
platDevice
.
getOrgId
());
platAlarmRecord
.
setNotifyUser
(
config
.
getNotifyUser
());
platAlarmRecord
.
setDeviceId
(
platDevice
.
getId
());
...
...
server-service/src/main/java/com/makeit/service/platform/auth/PlatOrgService.java
View file @
f1ad86bc
...
...
@@ -96,4 +96,6 @@ public interface PlatOrgService extends IService<PlatOrg> {
void
saveOrg
(
PlatOrg
platOrg
);
List
<
PlatOrg
>
createOrgTree
(
List
<
PlatOrg
>
orgList
);
List
<
PlatOrg
>
belongToScopeList
(
PlatOrg
param
);
}
server-service/src/main/java/com/makeit/service/platform/auth/impl/PlatOrgServiceImpl.java
View file @
f1ad86bc
...
...
@@ -457,6 +457,27 @@ public class PlatOrgServiceImpl extends ServiceImpl<PlatOrgMapper, PlatOrg>
return
orgList
.
stream
().
filter
(
vo
->
StringUtils
.
isBlank
(
vo
.
getParentNodeId
())).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
PlatOrg
>
belongToScopeList
(
PlatOrg
param
)
{
PlatUserVO
userVO
=
PlatUserUtil
.
getUserVO
();
String
isTenant
=
userVO
.
getIsTenant
();
//如果是租户账号 则有所有权限
if
(
StringUtils
.
equals
(
isTenant
,
CommonEnum
.
YES
.
getValue
()))
{
List
<
PlatOrg
>
orgList
=
this
.
list
(
new
LambdaQueryWrapper
<
PlatOrg
>()
.
eq
(
PlatOrg:
:
getStatus
,
CommonEnum
.
YES
.
getValue
())
);
return
orgList
;
}
//平台账号
Set
<
String
>
orgIdList
=
getOrgIdListByUserId
(
userVO
.
getId
());
List
<
PlatOrg
>
orgList
=
this
.
list
(
new
LambdaQueryWrapper
<
PlatOrg
>().
in
(
BaseEntity:
:
getId
,
orgIdList
).
eq
(
PlatOrg:
:
getStatus
,
CommonEnum
.
YES
.
getValue
()));
if
(
CollectionUtils
.
isEmpty
(
orgList
))
{
return
new
ArrayList
<>();
}
return
orgList
;
}
/**
* 寻找最近的父节点
* @param orgMap 有权限的组织
...
...
server-service/src/main/java/com/makeit/service/platform/dataScreen/DataScreenService.java
View file @
f1ad86bc
package
com
.
makeit
.
service
.
platform
.
dataScreen
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.utils.area.ChinaAreaVO
;
import
com.makeit.vo.platform.dataScreen.*
;
import
java.util.List
;
...
...
@@ -23,4 +24,6 @@ public interface DataScreenService {
PlatBaseInfoStatisticsVO
baseInfoStatistics
(
PlatDataScreenQueryDTO
dto
);
List
<
PlatMapStatisticsVO
>
mapStatistics
(
PlatDataScreenQueryDTO
dto
);
List
<
ChinaAreaVO
>
mapList
(
PlatDataScreenQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
View file @
f1ad86bc
...
...
@@ -2,7 +2,6 @@ package com.makeit.service.platform.dataScreen.impl;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmConfig
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.auth.PlatOrg
;
import
com.makeit.entity.platform.auth.PlatUser
;
...
...
@@ -15,8 +14,6 @@ import com.makeit.enums.platform.alarm.PlatAlarmRecordEnum;
import
com.makeit.enums.platform.device.PlatDeviceEnum
;
import
com.makeit.enums.platform.elder.PlatElderEnum
;
import
com.makeit.module.iot.enums.DeviceState
;
import
com.makeit.module.system.entity.ChinaArea
;
import
com.makeit.module.system.service.ChinaAreaService
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.auth.PlatOrgService
;
import
com.makeit.service.platform.auth.PlatUserService
;
...
...
@@ -25,10 +22,8 @@ import com.makeit.service.platform.device.PlatDeviceService;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatSpaceService
;
import
com.makeit.utils.area.AreaUtil
;
import
com.makeit.utils.area.ChinaAreaVO
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.sql.CustomQueryWrapper
;
import
com.makeit.vo.platform.dataScreen.*
;
import
jodd.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -64,6 +59,19 @@ public class DataScreenServiceImpl implements DataScreenService {
@Override
public
PlatAgeStatisticsVO
ageStatistics
(
PlatDataScreenQueryDTO
dto
)
{
PlatAgeStatisticsVO
vo
=
new
PlatAgeStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
List
<
PlatElder
>
elders
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
long
belowSixtyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()<
60
).
count
();
...
...
@@ -71,7 +79,6 @@ public class DataScreenServiceImpl implements DataScreenService {
long
seventyOneToEightyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>
70
&&
t
.
getAge
()<=
80
).
count
();
long
EightyOneToNinetyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>
80
&&
t
.
getAge
()<=
90
).
count
();
long
aboveNinetyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>
90
).
count
();
PlatAgeStatisticsVO
vo
=
new
PlatAgeStatisticsVO
();
vo
.
setBelowSixtyNumber
(
belowSixtyNumber
);
vo
.
setSixtyToSeventyNumber
(
sixtyToSeventyNumber
);
vo
.
setSeventyOneToEightyNumber
(
seventyOneToEightyNumber
);
...
...
@@ -82,6 +89,19 @@ public class DataScreenServiceImpl implements DataScreenService {
@Override
public
PlatSexStatisticsVO
sexStatistics
(
PlatDataScreenQueryDTO
dto
)
{
PlatSexStatisticsVO
vo
=
new
PlatSexStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
long
manElderNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatElder:
:
getSex
,
PlatElderEnum
.
SexEnum
.
MAN
.
getValue
()));
...
...
@@ -89,19 +109,40 @@ public class DataScreenServiceImpl implements DataScreenService {
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatElder:
:
getSex
,
PlatElderEnum
.
SexEnum
.
WOMAN
.
getValue
()));
long
total
=
womanElderNumber
+
manElderNumber
;
BigDecimal
manRate
=
new
BigDecimal
(
manElderNumber
).
divide
(
new
BigDecimal
(
total
),
4
,
BigDecimal
.
ROUND_HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
BigDecimal
womanRate
=
new
BigDecimal
(
100
).
subtract
(
manRate
);
PlatSexStatisticsVO
vo
=
new
PlatSexStatisticsVO
();
vo
.
setManNumber
(
manElderNumber
);
vo
.
setManRate
(
manRate
);
vo
.
setWomanNumber
(
womanElderNumber
);
vo
.
setWomanRate
(
womanRate
);
if
(
total
>
0
){
BigDecimal
manRate
=
new
BigDecimal
(
manElderNumber
).
divide
(
new
BigDecimal
(
total
),
4
,
BigDecimal
.
ROUND_HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
));
BigDecimal
womanRate
=
new
BigDecimal
(
100
).
subtract
(
manRate
);
vo
.
setManNumber
(
manElderNumber
);
vo
.
setManRate
(
manRate
);
vo
.
setWomanNumber
(
womanElderNumber
);
vo
.
setWomanRate
(
womanRate
);
}
else
{
vo
.
setManNumber
(
0L
);
vo
.
setManRate
(
BigDecimal
.
ZERO
);
vo
.
setWomanNumber
(
0L
);
vo
.
setWomanRate
(
BigDecimal
.
ZERO
);
}
return
vo
;
}
@Override
public
PlatDeviceStatisticsVO
deviceStatistics
(
PlatDataScreenQueryDTO
dto
)
{
PlatDeviceStatisticsVO
vo
=
new
PlatDeviceStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
List
<
PlatDevice
>
devices
=
platDeviceService
.
list
(
new
QueryWrapper
<
PlatDevice
>().
lambda
()
.
in
(
PlatDevice:
:
getOrgId
,
dto
.
getOrgIds
()));
long
total
=
devices
.
size
();
...
...
@@ -111,7 +152,7 @@ public class DataScreenServiceImpl implements DataScreenService {
long
heartNumber
=
devices
.
stream
().
filter
(
t
->
PlatDeviceEnum
.
CategoryEnum
.
HEART
.
getValue
().
equals
(
t
.
getCategory
())).
count
();
long
fallNumber
=
devices
.
stream
().
filter
(
t
->
PlatDeviceEnum
.
CategoryEnum
.
FALL
.
getValue
().
equals
(
t
.
getCategory
())).
count
();
long
spaceNumber
=
devices
.
stream
().
filter
(
t
->
PlatDeviceEnum
.
CategoryEnum
.
SPACE
.
getValue
().
equals
(
t
.
getCategory
())).
count
();
PlatDeviceStatisticsVO
vo
=
new
PlatDeviceStatisticsVO
();
vo
.
setTotla
(
total
);
vo
.
setOnlineNumber
(
onlineNumber
);
vo
.
setOfflineNumber
(
offlineNumber
);
...
...
@@ -124,6 +165,19 @@ public class DataScreenServiceImpl implements DataScreenService {
@Override
public
PlatAlarmStatisticsVO
alarmStatistics
(
PlatDataScreenQueryDTO
dto
)
{
PlatAlarmStatisticsVO
vo
=
new
PlatAlarmStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
List
<
PlatAlarmRecord
>
alarmRecords
=
platAlarmRecordService
.
list
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
between
(
PlatAlarmRecord:
:
getAlarmDate
,
dto
.
getStartTime
(),
dto
.
getEndTime
())
.
in
(
PlatAlarmRecord:
:
getOrgId
,
dto
.
getOrgIds
()));
...
...
@@ -145,7 +199,7 @@ public class DataScreenServiceImpl implements DataScreenService {
}
if
(
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
.
getValue
().
equals
(
record
.
getAlarmType
())
||
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
.
getValue
().
equals
(
record
.
getAlarmType
())
){
listVo
.
setStatus
(
record
.
getRemark
());
}
listVo
.
setElderName
(
elderName
);
listVo
.
setType
(
record
.
getAlarmType
());
...
...
@@ -158,7 +212,7 @@ public class DataScreenServiceImpl implements DataScreenService {
list
.
add
(
listVo
);
}
}
PlatAlarmStatisticsVO
vo
=
new
PlatAlarmStatisticsVO
();
vo
.
setTotla
(
totla
);
vo
.
setHandledNumber
(
handledNumber
);
vo
.
setUnhandledNumber
(
unhandledNumber
);
...
...
@@ -168,6 +222,19 @@ public class DataScreenServiceImpl implements DataScreenService {
@Override
public
PlatBaseInfoStatisticsVO
baseInfoStatistics
(
PlatDataScreenQueryDTO
dto
)
{
PlatBaseInfoStatisticsVO
vo
=
new
PlatBaseInfoStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
List
<
PlatElder
>
elders
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
...
...
@@ -177,7 +244,7 @@ public class DataScreenServiceImpl implements DataScreenService {
long
userNumber
=
platUserService
.
count
(
new
QueryWrapper
<
PlatUser
>().
lambda
()
.
in
(
PlatUser:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatUser:
:
getStatus
,
CommonEnum
.
YES
.
getValue
()));
PlatBaseInfoStatisticsVO
vo
=
new
PlatBaseInfoStatisticsVO
();
vo
.
setElderNumber
(
elderNumber
);
vo
.
setCurrentElderNumber
(
currentElderNumber
);
vo
.
setBedNumber
(
bedNumber
);
...
...
@@ -188,6 +255,19 @@ public class DataScreenServiceImpl implements DataScreenService {
@Override
public
List
<
PlatMapStatisticsVO
>
mapStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatMapStatisticsVO
>
list
=
new
ArrayList
<>();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
new
ArrayList
<>();
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
List
<
PlatSpace
>
spaces
=
platSpaceService
.
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
isNull
(
PlatSpace:
:
getParentId
)
.
in
(
PlatSpace:
:
getOrgId
,
dto
.
getOrgIds
()));
...
...
@@ -248,6 +328,12 @@ public class DataScreenServiceImpl implements DataScreenService {
return
list
;
}
@Override
public
List
<
ChinaAreaVO
>
mapList
(
PlatDataScreenQueryDTO
dto
)
{
return
null
;
}
private
List
<
PlatAlarmRecordStatisticsVo
>
coverToVoList
(
List
<
PlatAlarmRecord
>
alarmRecords
,
Map
<
String
,
PlatElder
>
platElderMap
)
{
List
<
PlatAlarmRecordStatisticsVo
>
statisticsVos
=
new
ArrayList
<>();
alarmRecords
.
forEach
(
record
->{
...
...
server-service/src/main/java/com/makeit/service/platform/workstation/WorkStationService.java
View file @
f1ad86bc
...
...
@@ -2,6 +2,7 @@ package com.makeit.service.platform.workstation;
import
com.makeit.dto.platform.workstation.WorkStationQueryDTO
;
import
com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO
;
...
...
@@ -18,4 +19,6 @@ public interface WorkStationService {
WorkStationInstitutionStatisticsVO
institutionStatistics
(
WorkStationQueryDTO
dto
);
List
<
WorkStationInstitutionRoomVO
>
institutionList
(
WorkStationQueryDTO
dto
);
WorkStationHomeStatisticsVO
homeStatistics
(
WorkStationQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/workstation/impl/WorkStationServiceImpl.java
View file @
f1ad86bc
...
...
@@ -11,6 +11,7 @@ import com.makeit.entity.platform.space.PlatBed;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.alarm.PlatAlarmRecordEnum
;
import
com.makeit.enums.platform.auth.PlatOrgEnum
;
import
com.makeit.enums.platform.space.PlatBedStatusEnum
;
import
com.makeit.service.platform.alarm.PlatAlarmRecordService
;
import
com.makeit.service.platform.auth.PlatOrgService
;
...
...
@@ -21,6 +22,7 @@ import com.makeit.service.platform.space.PlatSpaceService;
import
com.makeit.service.platform.workstation.WorkStationService
;
import
com.makeit.utils.user.plat.PlatUserUtil
;
import
com.makeit.utils.user.plat.PlatUserVO
;
import
com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO
;
import
jodd.util.StringUtil
;
...
...
@@ -60,10 +62,15 @@ public class WorkStationServiceImpl implements WorkStationService {
WorkStationInstitutionStatisticsVO
vo
=
new
WorkStationInstitutionStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
List
<
String
>
orgIds
=
belongToScope
();
if
(
orgIds
.
isEmpty
()){
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
//待处理告警
...
...
@@ -76,6 +83,16 @@ public class WorkStationServiceImpl implements WorkStationService {
.
isNotNull
(
PlatElder:
:
getBedId
)
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
//今日入住
long
checkInNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
between
(
PlatElder:
:
getCheckInTime
,
dto
.
getStartTime
(),
dto
.
getEndTime
())
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
//今日退住
long
checkOutNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
between
(
PlatElder:
:
getCheckOutTime
,
dto
.
getStartTime
(),
dto
.
getEndTime
())
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
//空闲床位
List
<
PlatSpace
>
spaces
=
platSpaceService
.
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
in
(
PlatSpace:
:
getOrgId
,
dto
.
getOrgIds
()));
...
...
@@ -90,39 +107,25 @@ public class WorkStationServiceImpl implements WorkStationService {
}
vo
.
setUnHandledNumber
(
unHandledNumber
);
vo
.
setElderNumber
(
elderNumber
);
vo
.
setCheckInNumber
(
checkInNumber
);
vo
.
setCheckOutNumber
(
checkOutNumber
);
return
vo
;
}
private
List
<
String
>
belongToScope
()
{
PlatUserVO
userVO
=
PlatUserUtil
.
getUserVO
();
String
isTenant
=
userVO
.
getIsTenant
();
//如果是租户账号 则有所有权限
if
(
StringUtils
.
equals
(
isTenant
,
CommonEnum
.
YES
.
getValue
()))
{
List
<
PlatOrg
>
orgList
=
platOrgService
.
list
(
new
LambdaQueryWrapper
<
PlatOrg
>()
.
eq
(
PlatOrg:
:
getStatus
,
CommonEnum
.
YES
.
getValue
())
);
return
orgList
.
stream
().
map
(
PlatOrg:
:
getParentId
).
collect
(
Collectors
.
toList
());
}
//平台账号
Set
<
String
>
orgIdList
=
platOrgService
.
getOrgIdListByUserId
(
userVO
.
getId
());
List
<
PlatOrg
>
orgList
=
platOrgService
.
list
(
new
LambdaQueryWrapper
<
PlatOrg
>().
in
(
BaseEntity:
:
getId
,
orgIdList
).
eq
(
PlatOrg:
:
getStatus
,
CommonEnum
.
YES
.
getValue
()));
if
(
CollectionUtils
.
isEmpty
(
orgList
))
{
return
new
ArrayList
<>();
}
return
orgList
.
stream
().
map
(
PlatOrg:
:
getParentId
).
collect
(
Collectors
.
toList
());
}
@Override
public
List
<
WorkStationInstitutionRoomVO
>
institutionList
(
WorkStationQueryDTO
dto
)
{
List
<
PlatSpace
>
spaces
=
new
ArrayList
<>();
if
(
dto
.
getSpaceIds
().
isEmpty
()){
//获取该账号的权限组织
List
<
String
>
orgIds
=
belongToScope
();
if
(
orgIds
.
isEmpty
()){
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
return
new
ArrayList
<>();
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
spaces
=
platSpaceService
.
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
in
(
PlatSpace:
:
getOrgId
,
dto
.
getOrgIds
()));
if
(
spaces
.
isEmpty
()){
...
...
@@ -152,6 +155,18 @@ public class WorkStationServiceImpl implements WorkStationService {
elderIdList
.
addAll
(
Arrays
.
asList
(
e
.
split
(
","
)));
});
List
<
WorkStationInstitutionRoomVO
>
roomVOList
=
platRoomService
.
workStationList
(
dto
);
if
(
roomVOList
.
isEmpty
()){
return
new
ArrayList
<>();
}
List
<
String
>
roomIds
=
roomVOList
.
stream
().
map
(
WorkStationInstitutionRoomVO:
:
getRoomId
).
collect
(
Collectors
.
toList
());
//获取床号及长者
return
null
;
}
@Override
public
WorkStationHomeStatisticsVO
homeStatistics
(
WorkStationQueryDTO
dto
)
{
return
null
;
}
}
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationHomeStatisticsVO.java
0 → 100644
View file @
f1ad86bc
package
com
.
makeit
.
vo
.
platform
.
workstation
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Controller
*
* @author zm
* @version 2023/9/13
*/
@Data
@ApiModel
(
"WorkStationHomeStatisticsVO对象"
)
public
class
WorkStationHomeStatisticsVO
{
@ApiModelProperty
(
value
=
"待处理告警"
)
private
Long
unHandledNumber
;
@ApiModelProperty
(
value
=
"今日告警数"
)
private
Long
alarmNumber
;
@ApiModelProperty
(
value
=
"今日已处理告警数"
)
private
Long
handledNumber
;
@ApiModelProperty
(
value
=
"长者数"
)
private
Long
elderNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationInstitutionRoomVO.java
View file @
f1ad86bc
...
...
@@ -13,11 +13,11 @@ import java.util.List;
* @version 2023/9/13
*/
@Data
@ApiModel
(
"WorkStationRoomVO对象"
)
@ApiModel
(
"WorkStation
Institution
RoomVO对象"
)
public
class
WorkStationInstitutionRoomVO
{
@ApiModelProperty
(
value
=
"房间路径id"
)
private
String
p
ath
;
private
String
spaceP
ath
;
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
...
...
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationInstitutionStatisticsVO.java
View file @
f1ad86bc
...
...
@@ -11,7 +11,7 @@ import lombok.Data;
* @version 2023/9/13
*/
@Data
@ApiModel
(
"WorkStationStatisticsVO对象"
)
@ApiModel
(
"WorkStation
Institution
StatisticsVO对象"
)
public
class
WorkStationInstitutionStatisticsVO
{
@ApiModelProperty
(
value
=
"待处理告警"
)
...
...
server-service/src/main/resources/mappers/PlatBedMapper.xml
View file @
f1ad86bc
...
...
@@ -14,7 +14,7 @@
AND FIND_IN_SET(#{dto.id},pm.space_path)
</if>
<if
test=
"dto.status != null and dto.status != ''"
>
AND pb.statu
e
= #{dto.status}
AND pb.statu
s
= #{dto.status}
</if>
</where>
</select>
...
...
@@ -28,7 +28,7 @@
pb.del_flag = 0
AND pm.id = #{dto.id}
<if
test=
"dto.status != null and dto.status != ''"
>
AND pb.statu
e
= #{dto.status}
AND pb.statu
s
= #{dto.status}
</if>
</where>
</select>
...
...
server-service/src/main/resources/mappers/PlatRoomMapper.xml
View file @
f1ad86bc
...
...
@@ -12,7 +12,7 @@
</select>
<select
id=
"workStationList"
resultType=
"com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO"
>
SELECT pm.id
,pm.name
,pm.space_path FROM plat_room pm
SELECT pm.id
as roomId,pm.name as roomName
,pm.space_path FROM plat_room pm
LEFT JOIN plat_space ps ON pm.space_id = ps.id
LEFT JOIN plat_bed pb ON pb.room_id = pm.id
LEFT JOIN plat_elder pe ON pe.bed_id = pb.id
...
...
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