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
9a74cf6f
authored
Sep 13, 2023
by
朱淼
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
修改bug
parent
ab080c56
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
137 additions
and
36 deletions
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
server-module/src/main/java/com/makeit/module/controller/workstation/WorkStationController.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/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/PlatRoomMapper.xml
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
View file @
9a74cf6f
...
...
@@ -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/workstation/WorkStationController.java
View file @
9a74cf6f
...
...
@@ -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/dataScreen/PlatDataScreenQueryDTO.java
View file @
9a74cf6f
...
...
@@ -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 @
9a74cf6f
...
...
@@ -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/auth/PlatOrgService.java
View file @
9a74cf6f
...
...
@@ -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 @
9a74cf6f
...
...
@@ -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 @
9a74cf6f
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 @
9a74cf6f
...
...
@@ -89,14 +89,22 @@ 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
;
}
...
...
@@ -145,7 +153,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
());
...
...
@@ -248,6 +256,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 @
9a74cf6f
...
...
@@ -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 @
9a74cf6f
...
...
@@ -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
);
}
//待处理告警
...
...
@@ -77,7 +84,14 @@ public class WorkStationServiceImpl implements WorkStationService {
.
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
()
...
...
@@ -93,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
()){
...
...
@@ -155,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 @
9a74cf6f
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 @
9a74cf6f
...
...
@@ -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 @
9a74cf6f
...
...
@@ -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/PlatRoomMapper.xml
View file @
9a74cf6f
...
...
@@ -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