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
c5c48ee1
authored
Sep 14, 2023
by
朱淼
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
工作台
parent
32f0d21b
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
328 additions
and
58 deletions
server-module/src/main/java/com/makeit/module/controller/workstation/WorkStationController.java
server-service/src/main/java/com/makeit/mapper/platform/space/PlatBedMapper.java
server-service/src/main/java/com/makeit/mapper/platform/space/PlatSpaceMapper.java
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
server-service/src/main/java/com/makeit/service/platform/space/PlatSpaceService.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.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/dataScreen/PlatAlarmStatisticsListVo.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatDeviceStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationBedVO.java
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationHomeRoomVO.java
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationInstitutionRoomVO.java
server-service/src/main/resources/mappers/PlatBedMapper.xml
server-service/src/main/resources/mappers/PlatSpaceMapper.xml
server-module/src/main/java/com/makeit/module/controller/workstation/WorkStationController.java
View file @
c5c48ee1
...
...
@@ -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.WorkStationHomeRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO
;
...
...
@@ -42,4 +43,10 @@ public class WorkStationController {
public
ApiResponseEntity
<
WorkStationHomeStatisticsVO
>
homeStatistics
(
@RequestBody
WorkStationQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
workStationService
.
homeStatistics
(
dto
));
}
@ApiOperation
(
"居家-列表"
)
@PostMapping
(
"homeList"
)
public
ApiResponseEntity
<
WorkStationHomeRoomVO
>
homeList
(
@RequestBody
WorkStationQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
workStationService
.
homeList
(
dto
));
}
}
server-service/src/main/java/com/makeit/mapper/platform/space/PlatBedMapper.java
View file @
c5c48ee1
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.workstation.WorkStationBedVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -19,4 +20,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
long
countByOrdIdsAndType
(
@Param
(
"orgIds"
)
List
<
String
>
orgIds
,
@Param
(
"orgType"
)
String
orgType
);
List
<
WorkStationBedVO
>
selectByRoomIds
(
@Param
(
"roomIds"
)
List
<
String
>
roomIds
);
}
server-service/src/main/java/com/makeit/mapper/platform/space/PlatSpaceMapper.java
View file @
c5c48ee1
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.makeit.dto.platform.space.PlatSpaceQueryDTO
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.vo.platform.space.PlatSpaceAndRoomVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -15,4 +16,6 @@ import java.util.List;
public
interface
PlatSpaceMapper
extends
BaseMapper
<
PlatSpace
>
{
List
<
PlatSpaceAndRoomVO
>
spaceListExcludeLast
();
List
<
PlatSpace
>
listChild
(
@Param
(
"spaceIds"
)
List
<
String
>
spaceIds
);
}
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
View file @
c5c48ee1
...
...
@@ -22,6 +22,7 @@ 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.vo.platform.dataScreen.*
;
...
...
@@ -62,9 +63,7 @@ public class DataScreenServiceImpl implements DataScreenService {
PlatAgeStatisticsVO
vo
=
new
PlatAgeStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
vo
;
}
...
...
@@ -92,9 +91,7 @@ public class DataScreenServiceImpl implements DataScreenService {
PlatSexStatisticsVO
vo
=
new
PlatSexStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
vo
;
}
...
...
@@ -133,9 +130,7 @@ public class DataScreenServiceImpl implements DataScreenService {
PlatDeviceStatisticsVO
vo
=
new
PlatDeviceStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
vo
;
}
...
...
@@ -153,7 +148,7 @@ public class DataScreenServiceImpl implements DataScreenService {
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
();
vo
.
setTot
la
(
total
);
vo
.
setTot
al
(
total
);
vo
.
setOnlineNumber
(
onlineNumber
);
vo
.
setOfflineNumber
(
offlineNumber
);
vo
.
setDisableNumber
(
disableNumber
);
...
...
@@ -168,9 +163,7 @@ public class DataScreenServiceImpl implements DataScreenService {
PlatAlarmStatisticsVO
vo
=
new
PlatAlarmStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
vo
;
}
...
...
@@ -184,7 +177,7 @@ public class DataScreenServiceImpl implements DataScreenService {
List
<
PlatElder
>
platElders
=
platElderService
.
list
();
Map
<
String
,
String
>
elderNameMap
=
platElders
.
stream
().
collect
(
Collectors
.
toMap
(
PlatElder:
:
getId
,
PlatElder:
:
getName
));
List
<
PlatAlarmStatisticsListVo
>
list
=
new
ArrayList
<>();
long
tot
la
=
0
;
long
tot
al
=
0
;
long
handledNumber
=
0
;
long
unhandledNumber
=
0
;
for
(
PlatAlarmRecord
record
:
alarmRecords
){
...
...
@@ -203,7 +196,7 @@ public class DataScreenServiceImpl implements DataScreenService {
}
listVo
.
setElderName
(
elderName
);
listVo
.
setType
(
record
.
getAlarmType
());
tot
la
++;
tot
al
++;
if
(
PlatAlarmRecordEnum
.
AlarmRecordStatusEnum
.
HANDLED
.
getValue
().
equals
(
record
.
getStatus
())){
handledNumber
++;
}
else
{
...
...
@@ -213,7 +206,7 @@ public class DataScreenServiceImpl implements DataScreenService {
}
}
vo
.
setTot
la
(
totla
);
vo
.
setTot
al
(
total
);
vo
.
setHandledNumber
(
handledNumber
);
vo
.
setUnhandledNumber
(
unhandledNumber
);
vo
.
setList
(
list
);
...
...
@@ -225,9 +218,7 @@ public class DataScreenServiceImpl implements DataScreenService {
PlatBaseInfoStatisticsVO
vo
=
new
PlatBaseInfoStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
vo
;
}
...
...
@@ -257,9 +248,7 @@ public class DataScreenServiceImpl implements DataScreenService {
List
<
PlatMapStatisticsVO
>
list
=
new
ArrayList
<>();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
dto
.
getType
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
new
ArrayList
<>();
}
...
...
@@ -330,8 +319,41 @@ public class DataScreenServiceImpl implements DataScreenService {
@Override
public
List
<
ChinaAreaVO
>
mapList
(
PlatDataScreenQueryDTO
dto
)
{
List
<
ChinaAreaVO
>
list
=
new
ArrayList
<>();
if
(
dto
.
getOrgIds
().
isEmpty
()){
//获取该账号的权限组织
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
dto
.
getType
());
if
(
orgs
.
isEmpty
()){
return
new
ArrayList
<>();
}
List
<
String
>
codes
=
orgs
.
stream
().
map
(
PlatOrg:
:
getRegion
).
collect
(
Collectors
.
toList
());
list
=
AreaUtil
.
getByCodeList
(
codes
);
}
else
{
List
<
PlatOrg
>
orgs
=
platOrgService
.
list
(
new
QueryWrapper
<
PlatOrg
>().
lambda
()
.
in
(
PlatOrg:
:
getId
,
dto
.
getOrgIds
()));
Set
<
String
>
parentOrgIds
=
new
HashSet
<>();
orgs
.
forEach
(
t
->{
parentOrgIds
.
addAll
(
Arrays
.
asList
(
t
.
getPath
().
split
(
","
)));
});
List
<
PlatOrg
>
ancestorsOrgList
=
getAncestorsOrgList
(
orgs
,
parentOrgIds
);
List
<
String
>
codes
=
ancestorsOrgList
.
stream
().
map
(
PlatOrg:
:
getRegion
).
collect
(
Collectors
.
toList
());
list
=
AreaUtil
.
getByCodeList
(
codes
);
return
null
;
}
return
list
;
}
private
List
<
PlatOrg
>
getAncestorsOrgList
(
List
<
PlatOrg
>
orgs
,
Set
<
String
>
parentOrgIds
)
{
orgs
=
orgs
.
stream
().
filter
(
t
->
parentOrgIds
.
contains
(
t
.
getId
())).
collect
(
Collectors
.
toList
());
Set
<
String
>
ancestorsOrgIdList
=
new
HashSet
<>();
orgs
.
forEach
(
t
->{
ancestorsOrgIdList
.
addAll
(
Arrays
.
asList
(
t
.
getPath
().
split
(
","
)));
});
if
(
ancestorsOrgIdList
.
size
()
!=
parentOrgIds
.
size
()){
getAncestorsOrgList
(
orgs
,
ancestorsOrgIdList
);
}
return
orgs
;
}
private
List
<
PlatAlarmRecordStatisticsVo
>
coverToVoList
(
List
<
PlatAlarmRecord
>
alarmRecords
,
Map
<
String
,
PlatElder
>
platElderMap
)
{
...
...
@@ -350,5 +372,10 @@ public class DataScreenServiceImpl implements DataScreenService {
return
statisticsVos
;
}
private
List
<
PlatOrg
>
belongToScopeList
(
String
type
)
{
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
type
);
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
return
orgs
;
}
}
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
View file @
c5c48ee1
...
...
@@ -9,6 +9,7 @@ import com.makeit.dto.platform.space.*;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.workstation.WorkStationBedVO
;
import
java.util.List
;
...
...
@@ -59,4 +60,7 @@ public interface PlatBedService extends IService<PlatBed> {
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
PlatBedPanoramaDTO
dto
);
List
<
PlatBed
>
list
(
PlatBedQueryDTO
dto
);
long
countByOrdIds
(
List
<
String
>
orgIds
);}
long
countByOrdIds
(
List
<
String
>
orgIds
);
List
<
WorkStationBedVO
>
selectByRoomIds
(
List
<
String
>
roomIds
);
}
server-service/src/main/java/com/makeit/service/platform/space/PlatSpaceService.java
View file @
c5c48ee1
...
...
@@ -49,4 +49,6 @@ public interface PlatSpaceService extends IService<PlatSpace> {
PlatSpaceAddDTO
view
(
String
id
);
List
<
PlatSpaceAndRoomVO
>
spaceListExcludeLast
();
List
<
PlatSpace
>
listChild
(
List
<
String
>
spaceIds
);
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
View file @
c5c48ee1
...
...
@@ -21,6 +21,7 @@ import com.makeit.service.platform.space.PlatRoomBedDeviceService;
import
com.makeit.service.platform.space.PlatRoomService
;
import
com.makeit.utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.workstation.WorkStationBedVO
;
import
jodd.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -183,4 +184,10 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
@Override
public
long
countByOrdIds
(
List
<
String
>
orgIds
)
{
return
baseMapper
.
countByOrdIdsAndType
(
orgIds
,
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
}}
}
@Override
public
List
<
WorkStationBedVO
>
selectByRoomIds
(
List
<
String
>
roomIds
)
{
return
baseMapper
.
selectByRoomIds
(
roomIds
);
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatSpaceServiceImpl.java
View file @
c5c48ee1
...
...
@@ -142,6 +142,11 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
return
baseMapper
.
spaceListExcludeLast
();
}
@Override
public
List
<
PlatSpace
>
listChild
(
List
<
String
>
spaceIds
)
{
return
baseMapper
.
listChild
(
spaceIds
);
}
private
PlatSpaceVO
child
(
PlatSpaceVO
vo
,
Map
<
String
,
List
<
PlatSpace
>>
map
){
if
(!
map
.
containsKey
(
vo
.
getId
())){
...
...
server-service/src/main/java/com/makeit/service/platform/workstation/WorkStationService.java
View file @
c5c48ee1
...
...
@@ -2,6 +2,7 @@ package com.makeit.service.platform.workstation;
import
com.makeit.dto.platform.workstation.WorkStationQueryDTO
;
import
com.makeit.vo.platform.workstation.WorkStationHomeRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationHomeStatisticsVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionRoomVO
;
import
com.makeit.vo.platform.workstation.WorkStationInstitutionStatisticsVO
;
...
...
@@ -21,4 +22,6 @@ public interface WorkStationService {
List
<
WorkStationInstitutionRoomVO
>
institutionList
(
WorkStationQueryDTO
dto
);
WorkStationHomeStatisticsVO
homeStatistics
(
WorkStationQueryDTO
dto
);
WorkStationHomeRoomVO
homeList
(
WorkStationQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/workstation/impl/WorkStationServiceImpl.java
View file @
c5c48ee1
...
...
@@ -3,6 +3,7 @@ package com.makeit.service.platform.workstation.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.common.entity.BaseEntity
;
import
com.makeit.dto.platform.elder.PlatElderIdDTO
;
import
com.makeit.dto.platform.workstation.WorkStationQueryDTO
;
import
com.makeit.entity.platform.alarm.PlatAlarmRecord
;
import
com.makeit.entity.platform.auth.PlatOrg
;
...
...
@@ -10,11 +11,13 @@ import com.makeit.entity.platform.elder.PlatElder;
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.PlatAlarmConfigEnum
;
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
;
import
com.makeit.service.platform.elder.PlatElderRealTimeService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatRoomService
;
...
...
@@ -22,9 +25,8 @@ 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
com.makeit.vo.platform.elder.realtime.PlatElderRealTimeNowVO
;
import
com.makeit.vo.platform.workstation.*
;
import
jodd.util.StringUtil
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
...
@@ -55,17 +57,17 @@ public class WorkStationServiceImpl implements WorkStationService {
private
PlatSpaceService
platSpaceService
;
@Autowired
private
PlatOrgService
platOrgService
;
@Autowired
private
PlatElderRealTimeService
platElderRealTimeService
;
@Override
public
WorkStationInstitutionStatisticsVO
institutionStatistics
(
WorkStationQueryDTO
dto
)
{
WorkStationInstitutionStatisticsVO
vo
=
new
WorkStationInstitutionStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
())
{
if
(
dto
.
getOrgIds
().
isEmpty
())
{
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
if
(
orgs
.
isEmpty
())
{
return
vo
;
}
...
...
@@ -97,12 +99,12 @@ public class WorkStationServiceImpl implements WorkStationService {
List
<
PlatSpace
>
spaces
=
platSpaceService
.
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
in
(
PlatSpace:
:
getOrgId
,
dto
.
getOrgIds
()));
List
<
String
>
spaceIds
=
spaces
.
stream
().
map
(
PlatSpace:
:
getId
).
collect
(
Collectors
.
toList
());
if
(!
spaceIds
.
isEmpty
())
{
if
(!
spaceIds
.
isEmpty
())
{
long
spareBedNumber
=
platBedService
.
count
(
new
QueryWrapper
<
PlatBed
>().
lambda
()
.
eq
(
PlatBed:
:
getStatus
,
PlatBedStatusEnum
.
BedStatusEnum
.
SPARE
.
getValue
())
.
in
(
PlatBed:
:
getSpaceId
,
spaceIds
));
vo
.
setSpareBedNumber
(
spareBedNumber
);
}
else
{
}
else
{
vo
.
setSpareBedNumber
(
0L
);
}
vo
.
setUnHandledNumber
(
unHandledNumber
);
...
...
@@ -113,31 +115,36 @@ public class WorkStationServiceImpl implements WorkStationService {
return
vo
;
}
private
List
<
PlatOrg
>
belongToScopeList
(
String
type
)
{
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
type
);
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
return
orgs
;
}
@Override
public
List
<
WorkStationInstitutionRoomVO
>
institutionList
(
WorkStationQueryDTO
dto
)
{
List
<
PlatSpace
>
spaces
=
new
ArrayList
<>();
if
(
dto
.
getSpaceIds
().
isEmpty
())
{
if
(
dto
.
getSpaceIds
().
isEmpty
())
{
//获取该账号的权限组织
PlatOrg
param
=
new
PlatOrg
();
param
.
setType
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
List
<
PlatOrg
>
orgs
=
platOrgService
.
belongToScopeList
(
param
);
if
(
orgs
.
isEmpty
()){
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
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
())
{
.
in
(
PlatSpace:
:
getOrgId
,
orgIds
));
if
(
spaces
.
isEmpty
())
{
return
new
ArrayList
<>();
}
List
<
String
>
spaceIds
=
spaces
.
stream
().
map
(
PlatSpace:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setSpaceIds
(
spaceIds
);
}
else
{
}
else
{
spaces
=
platSpaceService
.
list
(
new
QueryWrapper
<
PlatSpace
>().
lambda
()
.
in
(
PlatSpace:
:
getId
,
dto
.
getSpaceIds
()));
//todo 获取父级的所有子级空间
spaces
=
platSpaceService
.
listChild
(
dto
.
getSpaceIds
());
}
Map
<
String
,
PlatSpace
>
platSpaceMap
=
spaces
.
stream
().
collect
(
Collectors
.
toMap
(
PlatSpace:
:
getId
,
Function
.
identity
()
));
Map
<
String
,
String
>
platSpaceMap
=
spaces
.
stream
().
collect
(
Collectors
.
toMap
(
PlatSpace:
:
getId
,
PlatSpace:
:
getName
));
List
<
String
>
elderIdList
=
new
ArrayList
<>();
List
<
PlatAlarmRecord
>
alarmRecords
=
platAlarmRecordService
.
list
(
...
...
@@ -146,27 +153,149 @@ public class WorkStationServiceImpl implements WorkStationService {
.
eq
(
PlatAlarmRecord:
:
getStatus
,
PlatAlarmRecordEnum
.
AlarmRecordStatusEnum
.
UNHANDLED
.
getValue
())
.
in
(
PlatAlarmRecord:
:
getOrgId
,
dto
.
getOrgIds
())
);
List
<
String
>
elderIds
=
alarmRecords
.
stream
().
filter
(
t
->
StringUtil
.
isNotEmpty
(
t
.
getElderIds
()))
List
<
String
>
elderIds
=
alarmRecords
.
stream
().
filter
(
t
->
StringUtil
.
isNotEmpty
(
t
.
getElderIds
()))
.
map
(
PlatAlarmRecord:
:
getElderIds
).
collect
(
Collectors
.
toList
());
if
(
elderIds
.
isEmpty
())
{
if
(
elderIds
.
isEmpty
())
{
return
new
ArrayList
<>();
}
elderIds
.
forEach
(
e
->
{
elderIds
.
forEach
(
e
->
{
elderIdList
.
addAll
(
Arrays
.
asList
(
e
.
split
(
","
)));
});
//长者对应的报警类型
Map
<
String
,
Map
<
String
,
List
<
String
>>>
elderAlarmTypeMap
=
mapElderAlarmType
(
alarmRecords
);
List
<
WorkStationInstitutionRoomVO
>
roomVOList
=
platRoomService
.
workStationList
(
dto
);
if
(
roomVOList
.
isEmpty
())
{
if
(
roomVOList
.
isEmpty
())
{
return
new
ArrayList
<>();
}
List
<
String
>
roomIds
=
roomVOList
.
stream
().
map
(
WorkStationInstitutionRoomVO:
:
getRoomId
).
collect
(
Collectors
.
toList
());
//获取床号及长者
//获取床号及长者/设备
List
<
WorkStationBedVO
>
bedVos
=
platBedService
.
selectByRoomIds
(
roomIds
);
Map
<
String
,
List
<
WorkStationBedVO
>>
bedMap
=
bedVos
.
stream
().
collect
(
Collectors
.
groupingBy
(
WorkStationBedVO:
:
getRoomId
));
return
null
;
for
(
WorkStationInstitutionRoomVO
roomVo
:
roomVOList
)
{
WorkStationInstitutionRoomVO
vo
=
new
WorkStationInstitutionRoomVO
();
String
pathName
=
""
;
for
(
String
spaceId
:
Arrays
.
asList
(
roomVo
.
getSpacePath
().
split
(
","
)))
{
if
(
platSpaceMap
.
get
(
spaceId
)
!=
null
)
{
pathName
=
""
.
equals
(
pathName
)
?
platSpaceMap
.
get
(
spaceId
)
:
pathName
+
"-"
+
platSpaceMap
.
get
(
spaceId
);
}
}
pathName
=
pathName
+
"-"
+
roomVo
.
getRoomName
();
vo
.
setRoomId
(
roomVo
.
getRoomId
());
vo
.
setPathName
(
pathName
);
if
(
bedMap
.
get
(
roomVo
.
getRoomId
())
!=
null
)
{
List
<
WorkStationBedVO
>
roomBedVos
=
bedMap
.
get
(
roomVo
.
getRoomId
());
//获取告警类型及老人状态
roomBedVos
.
forEach
(
r
->
{
if
(
StringUtil
.
isNotEmpty
(
r
.
getElderId
())
)
{
if
(
elderAlarmTypeMap
.
containsKey
(
r
.
getElderId
())){
r
.
setAlarmTypeMap
(
elderAlarmTypeMap
.
get
(
r
.
getElderId
()));
}
if
(
StringUtil
.
isNotEmpty
(
r
.
getDeviceId
())){
PlatElderIdDTO
platElderIdDTO
=
new
PlatElderIdDTO
();
platElderIdDTO
.
setElderId
(
r
.
getElderId
());
platElderIdDTO
.
setDeviceId
(
r
.
getDeviceId
());
PlatElderRealTimeNowVO
nowStatus
=
platElderRealTimeService
.
nowStatus
(
platElderIdDTO
);
r
.
setElderStatus
(
nowStatus
.
getStatus
());
}
}
});
vo
.
setList
(
roomBedVos
);
}
}
return
roomVOList
;
}
private
Map
<
String
,
Map
<
String
,
List
<
String
>>>
mapElderAlarmType
(
List
<
PlatAlarmRecord
>
alarmRecords
)
{
Map
<
String
,
Map
<
String
,
List
<
String
>>>
map
=
new
HashMap
<>();
alarmRecords
.
forEach
(
a
->
{
if
(
StringUtil
.
isNotEmpty
(
a
.
getElderIds
()))
{
List
<
String
>
elderIds
=
Arrays
.
asList
(
a
.
getElderIds
().
split
(
","
));
elderIds
.
forEach
(
e
->
{
if
(
map
.
containsKey
(
e
)){
Map
<
String
,
List
<
String
>>
typeMap
=
map
.
get
(
e
);
if
(
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
.
getValue
().
equals
(
a
.
getAlarmType
())
||
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
.
getValue
().
equals
(
a
.
getAlarmType
())
){
if
(
typeMap
.
containsKey
(
a
.
getAlarmType
())){
typeMap
.
get
(
a
.
getAlarmType
()).
add
(
a
.
getRemark
());
typeMap
.
put
(
a
.
getAlarmType
(),
typeMap
.
get
(
a
.
getAlarmType
()));
}
else
{
if
(
StringUtil
.
isNotEmpty
(
a
.
getRemark
())){
List
<
String
>
stautsList
=
new
ArrayList
<>();
stautsList
.
add
(
a
.
getRemark
());
typeMap
.
put
(
a
.
getAlarmType
(),
stautsList
);
}
}
}
else
{
typeMap
.
put
(
a
.
getAlarmType
(),
new
ArrayList
<>());
}
map
.
put
(
e
,
typeMap
);
}
else
{
Map
<
String
,
List
<
String
>>
typeMap
=
new
HashMap
<>();
if
(
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
HEART
.
getValue
().
equals
(
a
.
getAlarmType
())
||
PlatAlarmConfigEnum
.
AlarmTypeEnum
.
BREATHE
.
getValue
().
equals
(
a
.
getAlarmType
())
){
if
(
StringUtil
.
isNotEmpty
(
a
.
getRemark
())){
List
<
String
>
stautsList
=
new
ArrayList
<>();
stautsList
.
add
(
a
.
getRemark
());
typeMap
.
put
(
a
.
getAlarmType
(),
stautsList
);
}
}
else
{
typeMap
.
put
(
a
.
getAlarmType
(),
new
ArrayList
<>());
}
map
.
put
(
e
,
typeMap
);
}
});
}
});
return
map
;
}
@Override
public
WorkStationHomeStatisticsVO
homeStatistics
(
WorkStationQueryDTO
dto
)
{
WorkStationHomeStatisticsVO
vo
=
new
WorkStationHomeStatisticsVO
();
if
(
dto
.
getOrgIds
().
isEmpty
())
{
//获取该账号的权限组织
List
<
PlatOrg
>
orgs
=
belongToScopeList
(
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
if
(
orgs
.
isEmpty
())
{
return
vo
;
}
List
<
String
>
orgIds
=
orgs
.
stream
().
map
(
PlatOrg:
:
getId
).
collect
(
Collectors
.
toList
());
dto
.
setOrgIds
(
orgIds
);
}
//长者数
long
elderNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
//今日告警数
long
alarmNumber
=
platAlarmRecordService
.
count
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
between
(
PlatAlarmRecord:
:
getAlarmDate
,
dto
.
getStartTime
(),
dto
.
getEndTime
())
.
in
(
PlatAlarmRecord:
:
getOrgId
,
dto
.
getOrgIds
()));
//待处理告警
long
unHandledNumber
=
platAlarmRecordService
.
count
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getStatus
,
PlatAlarmRecordEnum
.
AlarmRecordStatusEnum
.
UNHANDLED
.
getValue
())
.
in
(
PlatAlarmRecord:
:
getOrgId
,
dto
.
getOrgIds
()));
//今日已处理告警数
long
handledNumber
=
platAlarmRecordService
.
count
(
new
QueryWrapper
<
PlatAlarmRecord
>().
lambda
()
.
eq
(
PlatAlarmRecord:
:
getStatus
,
PlatAlarmRecordEnum
.
AlarmRecordStatusEnum
.
HANDLED
.
getValue
())
.
between
(
PlatAlarmRecord:
:
getDealDate
,
dto
.
getStartTime
(),
dto
.
getEndTime
())
.
in
(
PlatAlarmRecord:
:
getOrgId
,
dto
.
getOrgIds
()));
vo
.
setAlarmNumber
(
alarmNumber
);
vo
.
setUnHandledNumber
(
unHandledNumber
);
vo
.
setElderNumber
(
elderNumber
);
vo
.
setHandledNumber
(
handledNumber
);
return
vo
;
}
@Override
public
WorkStationHomeRoomVO
homeList
(
WorkStationQueryDTO
dto
)
{
return
null
;
}
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsListVo.java
View file @
c5c48ee1
...
...
@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* Controller
*
...
...
@@ -20,4 +22,10 @@ public class PlatAlarmStatisticsListVo {
private
String
type
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
status
;
@ApiModelProperty
(
value
=
"告警日期"
)
private
String
alarmDate
;
@ApiModelProperty
(
value
=
"告警时间"
)
private
String
alarmTime
;
@ApiModelProperty
(
value
=
"路径"
)
private
String
path
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsVO.java
View file @
c5c48ee1
...
...
@@ -17,7 +17,7 @@ import java.util.List;
public
class
PlatAlarmStatisticsVO
{
@ApiModelProperty
(
value
=
"累计告警"
)
private
Long
tot
la
;
private
Long
tot
al
;
@ApiModelProperty
(
value
=
"已处理数"
)
private
Long
handledNumber
;
@ApiModelProperty
(
value
=
"待处理数"
)
...
...
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatDeviceStatisticsVO.java
View file @
c5c48ee1
...
...
@@ -17,7 +17,7 @@ import java.util.List;
public
class
PlatDeviceStatisticsVO
{
@ApiModelProperty
(
value
=
"总数"
)
private
Long
tot
la
;
private
Long
tot
al
;
@ApiModelProperty
(
value
=
"在线数"
)
private
Long
onlineNumber
;
@ApiModelProperty
(
value
=
"故障数"
)
...
...
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationBedVO.java
View file @
c5c48ee1
...
...
@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* Controller
...
...
@@ -23,6 +25,9 @@ public class WorkStationBedVO {
@ApiModelProperty
(
value
=
"床id"
)
private
String
bedId
;
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
stauts
;
...
...
@@ -32,9 +37,12 @@ public class WorkStationBedVO {
@ApiModelProperty
(
value
=
"长者姓名"
)
private
String
elderName
;
@ApiModelProperty
(
value
=
"设备id"
)
private
String
deviceId
;
@ApiModelProperty
(
value
=
"长者状态"
)
private
String
elderStatus
;
@ApiModelProperty
(
value
=
"告警类型"
)
private
List
<
String
>
alarmTypes
;
private
Map
<
String
,
List
<
String
>>
alarmTypeMap
;
}
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationHomeRoomVO.java
0 → 100644
View file @
c5c48ee1
package
com
.
makeit
.
vo
.
platform
.
workstation
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/13
*/
@Data
@ApiModel
(
"WorkStationHomeRoomVO对象"
)
public
class
WorkStationHomeRoomVO
{
@ApiModelProperty
(
value
=
"房间路径id"
)
private
String
spacePath
;
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
@ApiModelProperty
(
value
=
"房间名称"
)
private
String
roomName
;
@ApiModelProperty
(
value
=
"房间路径"
)
private
String
pathName
;
private
WorkStationBedVO
bedVo
;
}
server-service/src/main/java/com/makeit/vo/platform/workstation/WorkStationInstitutionRoomVO.java
View file @
c5c48ee1
...
...
@@ -22,6 +22,9 @@ public class WorkStationInstitutionRoomVO {
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
@ApiModelProperty
(
value
=
"房间名称"
)
private
String
roomName
;
@ApiModelProperty
(
value
=
"房间路径"
)
private
String
pathName
;
...
...
server-service/src/main/resources/mappers/PlatBedMapper.xml
View file @
c5c48ee1
...
...
@@ -49,5 +49,21 @@
</where>
</select>
<select
id=
"selectByRoomIds"
resultType=
"com.makeit.vo.platform.workstation.WorkStationBedVO"
>
SELECT pb.`name` as bedName, pb.id as bedId, pb.room_id , pe.id as elderId, pb.name as elderName, prbd.device_id
FROM plat_bed pb
LEFT JOIN plat_elder pe ON pe.bed_id = pb.id
LEFT JOIN plat_room_bed_device rpbd ON rpbd.bed_id = pb.id
<where>
pb.del_flag = 0 and pe.del_flag = 0 and rpbd.del_flag = 0
<if
test=
"roomIds != null and roomIds.size() > 0 "
>
AND pb.room_id IN
<foreach
collection=
"roomIds"
item=
"item"
separator=
","
open=
"("
close=
")"
index=
""
>
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
server-service/src/main/resources/mappers/PlatSpaceMapper.xml
View file @
c5c48ee1
...
...
@@ -8,6 +8,19 @@
WHERE ps.id in (SELECT parent_id FROM `plat_space` WHERE del_flag =0) and ps.del_flag = 0
</select>
<select
id=
"listChild"
resultType=
"com.makeit.entity.platform.space.PlatSpace"
>
SELECT id,name,parent_id,type,address,longitude,latitude,parent_path,tenant_id,org_id,attribute
FROM plat_space
<where>
del_flag = 0
<if
test=
"spaceIds != null and spaceIds.size() > 0 "
>
AND (
<foreach
collection=
"roomIds"
item=
"item"
separator=
","
open=
"("
close=
")"
index=
""
>
FIND_IN_SET(#{item},parent_path) OR id = #{item}
</foreach>
)
</if>
</where>
</select>
</mapper>
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