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
93fddd61
authored
Sep 12, 2023
by
朱淼
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
数据大屏
parent
c8987595
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
624 additions
and
9 deletions
db/space.sql
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomDynamicController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRegionSettingWechatController.java
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRoomBedDeviceWechatController.java
server-service/src/main/java/com/makeit/dto/platform/dataScreen/PlatDataScreenQueryDTO.java
server-service/src/main/java/com/makeit/dto/platform/elder/PlatElderQueryDTO.java
server-service/src/main/java/com/makeit/entity/platform/space/PlatSpace.java
server-service/src/main/java/com/makeit/enums/platform/auth/PlatOrgEnum.java
server-service/src/main/java/com/makeit/mapper/platform/space/PlatBedMapper.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/space/PlatBedService.java
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomDynamicService.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/PlatRoomDynamicServiceImpl.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAgeStatisticsVO.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/PlatBaseInfoStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatDeviceStatisticsVO.java
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatSexStatisticsVO.java
server-service/src/main/resources/mappers/PlatBedMapper.xml
db/space.sql
View file @
93fddd61
...
...
@@ -17,6 +17,8 @@ CREATE TABLE `plat_space`
`update_date`
datetime
DEFAULT
NULL
COMMENT
'更新时间'
,
`del_flag`
INT
(
1
)
DEFAULT
'0'
COMMENT
'删除标记'
,
`tenant_id`
varchar
(
64
)
COLLATE
utf8mb4_general_ci
DEFAULT
NULL
COMMENT
' 租户id '
,
`org_id`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'组织id'
,
`attribute`
char
(
1
)
DEFAULT
NULL
COMMENT
'属性 1-居家 2-机构'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
)
ENGINE
=
INNODB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'空间管理'
;
...
...
server-module/src/main/java/com/makeit/module/controller/dataScreen/DataScreenController.java
0 → 100644
View file @
93fddd61
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.service.platform.dataScreen.DataScreenService
;
import
com.makeit.vo.platform.dataScreen.*
;
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
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Api
(
tags
=
"平台端-数据大屏"
)
@RestController
@RequestMapping
(
"/plat/data/screen"
)
public
class
DataScreenController
{
@Autowired
private
DataScreenService
dataScreenService
;
@ApiOperation
(
"长者年龄分布"
)
@PostMapping
(
"ageStatistics"
)
public
ApiResponseEntity
<
PlatAgeStatisticsVO
>
ageStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
ageStatistics
(
dto
));
}
@ApiOperation
(
"长者性别比例分布"
)
@PostMapping
(
"sexStatistics"
)
public
ApiResponseEntity
<
PlatSexStatisticsVO
>
sexStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
sexStatistics
(
dto
));
}
@ApiOperation
(
"设备概况"
)
@PostMapping
(
"deviceStatistics"
)
public
ApiResponseEntity
<
PlatDeviceStatisticsVO
>
deviceStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
deviceStatistics
(
dto
));
}
@ApiOperation
(
"实时告警"
)
@PostMapping
(
"alarmStatistics"
)
public
ApiResponseEntity
<
PlatAlarmStatisticsVO
>
alarmStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
alarmStatistics
(
dto
));
}
@ApiOperation
(
"机构养老-基础数据统计"
)
@PostMapping
(
"baseInfoStatistics"
)
public
ApiResponseEntity
<
PlatBaseInfoStatisticsVO
>
baseInfoStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
baseInfoStatistics
(
dto
));
}
@ApiOperation
(
"地图统计"
)
@PostMapping
(
"mapStatistics"
)
public
ApiResponseEntity
<
PlatAlarmStatisticsVO
>
mapStatistics
(
@RequestBody
PlatDataScreenQueryDTO
dto
)
{
return
ApiResponseUtils
.
success
(
dataScreenService
.
alarmStatistics
(
dto
));
}
}
server-module/src/main/java/com/makeit/module/controller/space/PlatRoomDynamicController.java
View file @
93fddd61
...
...
@@ -2,8 +2,10 @@ package com.makeit.module.controller.space;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.service.platform.space.PlatRoomDynamicService
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatRoomPanoramaVO
;
...
...
@@ -60,4 +62,11 @@ public class PlatRoomDynamicController {
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"房间详细-下拉长者"
)
@PostMapping
(
"elderList"
)
public
ApiResponseEntity
<
List
<
PlatElder
>>
elderList
(
@RequestBody
PlatElderQueryDTO
dto
)
{
List
<
PlatElder
>
data
=
platRoomDynamicService
.
elderList
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRegionSettingWechatController.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.space.PlatRegionSettingDTO
;
import
com.makeit.dto.platform.space.PlatRegionSettingQueryDTO
;
import
com.makeit.service.platform.space.PlatRegionSettingService
;
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/11
*/
@Api
(
tags
=
"平台端小程序-区域设置"
)
@RestController
@RequestMapping
(
"/wechat/plat/region/setting"
)
public
class
PlatRegionSettingWechatController
{
@Autowired
private
PlatRegionSettingService
platRegionSettingService
;
@ApiOperation
(
"列表"
)
@PostMapping
(
"list"
)
public
ApiResponseEntity
<
List
<
PlatRegionSettingDTO
>>
list
(
@RequestBody
PlatRegionSettingQueryDTO
dto
)
{
List
<
PlatRegionSettingDTO
>
data
=
platRegionSettingService
.
list
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"编辑"
)
@PostMapping
(
"edit"
)
public
ApiResponseEntity
<?>
edit
(
@RequestBody
PlatRegionSettingDTO
dto
)
{
platRegionSettingService
.
edit
(
dto
);
return
ApiResponseUtils
.
success
();
}
}
server-module/src/main/java/com/makeit/module/controller/wechat/space/PlatRoomBedDeviceWechatController.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
module
.
controller
.
wechat
.
space
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.common.response.ApiResponseEntity
;
import
com.makeit.common.response.ApiResponseUtils
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.PlatBedDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatRoomBindDeviceDTO
;
import
com.makeit.dto.platform.space.PlatSpaceDeviceQueryDTO
;
import
com.makeit.dto.platform.space.PlatUnbindingDeviceDTO
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
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/11
*/
@Api
(
tags
=
"平台端小程序-绑定设备"
)
@RestController
@RequestMapping
(
"/wechat/plat/binding/device/"
)
public
class
PlatRoomBedDeviceWechatController
{
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@ApiOperation
(
"设备列表(选择设备)-房间绑定"
)
@PostMapping
(
"pageRoomDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageRoomDevice
(
@RequestBody
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
page
)
{
page
.
getData
().
setIsRoom
(
CommonEnum
.
YES
.
getValue
());
PageVO
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"设备列表(选择设备)-床位绑定"
)
@PostMapping
(
"pageBedDevice"
)
public
ApiResponseEntity
<
PageVO
<
PlatDeviceDTO
>>
pageBedDevice
(
@RequestBody
PageReqDTO
<
PlatSpaceDeviceQueryDTO
>
page
)
{
page
.
getData
().
setIsRoom
(
CommonEnum
.
NO
.
getValue
());
PageVO
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
pageDevice
(
page
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"已绑定设备列表"
)
@PostMapping
(
"listBindDevice"
)
public
ApiResponseEntity
<
List
<
PlatDeviceDTO
>>
listBindDevice
(
@RequestBody
PlatBedDeviceQueryDTO
dto
)
{
List
<
PlatDeviceDTO
>
data
=
platRoomBedDeviceService
.
listBindDevice
(
dto
);
return
ApiResponseUtils
.
success
(
data
);
}
@ApiOperation
(
"绑定设备"
)
@PostMapping
(
"bindingDevice"
)
public
ApiResponseEntity
<?>
bindingDevice
(
@RequestBody
PlatRoomBindDeviceDTO
dto
)
{
platRoomBedDeviceService
.
bindingDevice
(
dto
);
return
ApiResponseUtils
.
success
();
}
@ApiOperation
(
"解绑设备"
)
@PostMapping
(
"unbindingDevice"
)
public
ApiResponseEntity
<?>
unbindingDevice
(
@RequestBody
PlatUnbindingDeviceDTO
dto
)
{
platRoomBedDeviceService
.
unbindingDevice
(
dto
);
return
ApiResponseUtils
.
success
();
}
}
server-service/src/main/java/com/makeit/dto/platform/dataScreen/PlatDataScreenQueryDTO.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
dto
.
platform
.
dataScreen
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatDataScreenQueryDto参数"
)
public
class
PlatDataScreenQueryDTO
{
@ApiModelProperty
(
"组织ids"
)
private
List
<
String
>
orgIds
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"开始时间"
)
private
LocalDateTime
startTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ApiModelProperty
(
"结束时间"
)
private
LocalDateTime
endTime
;
}
server-service/src/main/java/com/makeit/dto/platform/elder/PlatElderQueryDTO.java
View file @
93fddd61
...
...
@@ -38,5 +38,8 @@ public class PlatElderQueryDTO extends BaseTenantDTO {
@ApiModelProperty
(
value
=
"组织id"
)
private
String
orgId
;
@ApiModelProperty
(
value
=
"房间id"
)
private
String
roomId
;
}
server-service/src/main/java/com/makeit/entity/platform/space/PlatSpace.java
View file @
93fddd61
...
...
@@ -46,5 +46,9 @@ public class PlatSpace extends BaseBusEntity {
@ApiModelProperty
(
value
=
"上级全路径"
)
private
String
parentPath
;
@ApiModelProperty
(
value
=
"组织id"
)
private
String
orgId
;
@ApiModelProperty
(
value
=
"属性 1-居家 2-机构"
)
private
String
attribute
;
}
server-service/src/main/java/com/makeit/enums/platform/auth/PlatOrgEnum.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
enums
.
platform
.
auth
;
import
com.makeit.enums.BaseEnum
;
import
com.makeit.utils.sys.SysDictUtil
;
/**
* Controller
*
* @author zm
* @version 2023/9/8
*/
public
class
PlatOrgEnum
{
public
enum
OrgTypeEnum
implements
BaseEnum
{
HOME
(
"org.type.home"
),
INSTITUTION
(
"org.type.institution"
);
private
String
code
;
OrgTypeEnum
(
String
code
)
{
this
.
code
=
code
;
}
@Override
public
String
getValue
()
{
return
SysDictUtil
.
getValue
(
code
);
}
}
}
server-service/src/main/java/com/makeit/mapper/platform/space/PlatBedMapper.java
View file @
93fddd61
...
...
@@ -17,4 +17,6 @@ public interface PlatBedMapper extends BaseMapper<PlatBed> {
List
<
PlatBedPanoramaVO
>
selectBySpaceIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
@Param
(
"dto"
)
PlatBedPanoramaDTO
dto
);
long
countByOrdIdsAndType
(
@Param
(
"orgIds"
)
List
<
String
>
orgIds
,
@Param
(
"orgType"
)
String
orgType
);
}
server-service/src/main/java/com/makeit/service/platform/dataScreen/DataScreenService.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
service
.
platform
.
dataScreen
;
import
com.makeit.dto.platform.dataScreen.PlatDataScreenQueryDTO
;
import
com.makeit.vo.platform.dataScreen.*
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
public
interface
DataScreenService
{
PlatAgeStatisticsVO
ageStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatSexStatisticsVO
sexStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatDeviceStatisticsVO
deviceStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatAlarmStatisticsVO
alarmStatistics
(
PlatDataScreenQueryDTO
dto
);
PlatBaseInfoStatisticsVO
baseInfoStatistics
(
PlatDataScreenQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/dataScreen/impl/DataScreenServiceImpl.java
0 → 100644
View file @
93fddd61
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.auth.PlatUser
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.device.PlatDeviceEnum
;
import
com.makeit.enums.platform.elder.PlatElderEnum
;
import
com.makeit.service.platform.auth.PlatUserService
;
import
com.makeit.service.platform.dataScreen.DataScreenService
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.vo.platform.dataScreen.*
;
import
jodd.util.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Service
public
class
DataScreenServiceImpl
implements
DataScreenService
{
@Autowired
private
PlatElderService
platElderService
;
@Autowired
private
PlatDeviceService
platDeviceService
;
@Autowired
private
PlatBedService
platBedService
;
@Autowired
private
PlatUserService
platUserService
;
@Override
public
PlatAgeStatisticsVO
ageStatistics
(
PlatDataScreenQueryDTO
dto
)
{
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
();
long
sixtyToSeventyNumber
=
elders
.
stream
().
filter
(
t
->
t
.
getAge
()!=
null
&&
t
.
getAge
()>=
60
&&
t
.
getAge
()<=
70
).
count
();
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
);
vo
.
setEightyOneToNinetyNumber
(
EightyOneToNinetyNumber
);
vo
.
setAboveNinetyNumber
(
aboveNinetyNumber
);
return
vo
;
}
@Override
public
PlatSexStatisticsVO
sexStatistics
(
PlatDataScreenQueryDTO
dto
)
{
long
manElderNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
())
.
eq
(
PlatElder:
:
getSex
,
PlatElderEnum
.
SexEnum
.
MAN
.
getValue
()));
long
womanElderNumber
=
platElderService
.
count
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
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
);
return
vo
;
}
@Override
public
PlatDeviceStatisticsVO
deviceStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatDevice
>
devices
=
platDeviceService
.
list
(
new
QueryWrapper
<
PlatDevice
>().
lambda
()
.
in
(
PlatDevice:
:
getOrgId
,
dto
.
getOrgIds
()));
long
total
=
devices
.
size
();
return
null
;
}
@Override
public
PlatAlarmStatisticsVO
alarmStatistics
(
PlatDataScreenQueryDTO
dto
)
{
return
null
;
}
@Override
public
PlatBaseInfoStatisticsVO
baseInfoStatistics
(
PlatDataScreenQueryDTO
dto
)
{
List
<
PlatElder
>
elders
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
in
(
PlatElder:
:
getOrgId
,
dto
.
getOrgIds
()));
long
elderNumber
=
elders
.
size
();
long
currentElderNumber
=
elders
.
stream
().
filter
(
t
->
StringUtil
.
isNotEmpty
(
t
.
getBedId
())).
count
();
long
bedNumber
=
platBedService
.
countByOrdIds
(
dto
.
getOrgIds
());
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
);
vo
.
setUserNumber
(
userNumber
);
return
vo
;
}
}
server-service/src/main/java/com/makeit/service/platform/space/PlatBedService.java
View file @
93fddd61
...
...
@@ -57,4 +57,6 @@ public interface PlatBedService extends IService<PlatBed> {
List
<
PlatBedPanoramaVO
>
selectBySpaceIdAndStatus
(
PlatBedPanoramaDTO
dto
);
List
<
PlatBedPanoramaVO
>
selectByRoomIdAndStatus
(
PlatBedPanoramaDTO
dto
);
long
countByOrdIds
(
List
<
String
>
orgIds
);
}
server-service/src/main/java/com/makeit/service/platform/space/PlatRoomDynamicService.java
View file @
93fddd61
package
com
.
makeit
.
service
.
platform
.
space
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
com.makeit.vo.platform.space.PlatRoomPanoramaVO
;
import
com.makeit.vo.platform.space.PlatSpaceAndRoomVO
;
...
...
@@ -23,4 +25,5 @@ public interface PlatRoomDynamicService {
List
<
PlatSpaceAndRoomVO
>
bedPanoramaTree
();
List
<
PlatElder
>
elderList
(
PlatElderQueryDTO
dto
);
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatBedServiceImpl.java
View file @
93fddd61
...
...
@@ -6,21 +6,19 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.makeit.common.dto.StatusDTO
;
import
com.makeit.common.page.PageReqDTO
;
import
com.makeit.common.page.PageVO
;
import
com.makeit.dto.platform.device.PlatDeviceDTO
;
import
com.makeit.dto.platform.space.*
;
import
com.makeit.entity.platform.device.PlatDevice
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatRoomBedDevice
;
import
com.makeit.enums.CodeMessageEnum
;
import
com.makeit.enums.CommonEnum
;
import
com.makeit.enums.platform.
device.PlatDevice
Enum
;
import
com.makeit.enums.platform.
auth.PlatOrg
Enum
;
import
com.makeit.exception.BusinessException
;
import
com.makeit.mapper.platform.space.PlatBedMapper
;
import
com.makeit.service.platform.device.PlatDeviceService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatRoomBedDeviceService
;
import
com.makeit.
utils.data.convert.BeanDtoVoUtils
;
import
com.makeit.
service.platform.space.PlatRoomService
;
import
com.makeit.utils.data.convert.PageUtil
;
import
com.makeit.vo.platform.space.PlatBedPanoramaVO
;
import
jodd.util.StringUtil
;
...
...
@@ -29,7 +27,6 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @Author:lzy
...
...
@@ -44,6 +41,8 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
@Autowired
private
PlatRoomBedDeviceService
platRoomBedDeviceService
;
@Autowired
private
PlatRoomService
platRoomService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -127,8 +126,14 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
if
(
platRoomBedDeviceService
.
count
(
queryWrapper
)
>
0
){
throw
new
BusinessException
(
CodeMessageEnum
.
PLATFORM_ERROR_BAD_NOT_DEL
);
}
removeById
(
id
);
//更新房间床位数
PlatRoom
room
=
platRoomService
.
getById
(
platBed
.
getRoomId
());
if
(
room
!=
null
){
Integer
bedNumber
=
room
.
getBedNumber
()-
1
;
room
.
setBedNumber
(
bedNumber
);
platRoomService
.
updateById
(
room
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -157,5 +162,10 @@ public class PlatBedServiceImpl extends ServiceImpl<PlatBedMapper, PlatBed> impl
return
baseMapper
.
selectByRoomIdAndStatus
(
dto
);
}
@Override
public
long
countByOrdIds
(
List
<
String
>
orgIds
)
{
return
baseMapper
.
countByOrdIdsAndType
(
orgIds
,
PlatOrgEnum
.
OrgTypeEnum
.
INSTITUTION
.
getValue
());
}
}
server-service/src/main/java/com/makeit/service/platform/space/impl/PlatRoomDynamicServiceImpl.java
View file @
93fddd61
package
com
.
makeit
.
service
.
platform
.
space
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.makeit.dto.platform.elder.PlatElderQueryDTO
;
import
com.makeit.dto.platform.space.PlatBedPanoramaDTO
;
import
com.makeit.dto.platform.space.PlatRoomPanoramaDTO
;
import
com.makeit.entity.platform.elder.PlatElder
;
import
com.makeit.entity.platform.space.PlatBed
;
import
com.makeit.entity.platform.space.PlatRoom
;
import
com.makeit.entity.platform.space.PlatSpace
;
import
com.makeit.enums.platform.space.PlatBedPanoramaSpaceType
;
import
com.makeit.enums.platform.space.PlatRoomStatusEnum
;
import
com.makeit.mapper.platform.space.PlatBedMapper
;
import
com.makeit.mapper.platform.space.PlatRoomMapper
;
import
com.makeit.mapper.platform.space.PlatSpaceMapper
;
import
com.makeit.service.platform.elder.PlatElderService
;
import
com.makeit.service.platform.space.PlatBedService
;
import
com.makeit.service.platform.space.PlatRoomDynamicService
;
import
com.makeit.service.platform.space.PlatRoomService
;
...
...
@@ -43,6 +43,8 @@ public class PlatRoomDynamicServiceImpl implements PlatRoomDynamicService {
private
PlatRoomService
platRoomService
;
@Autowired
private
PlatBedService
platBedService
;
@Autowired
private
PlatElderService
platElderService
;
@Override
...
...
@@ -168,6 +170,13 @@ public class PlatRoomDynamicServiceImpl implements PlatRoomDynamicService {
return
data
;
}
@Override
public
List
<
PlatElder
>
elderList
(
PlatElderQueryDTO
dto
)
{
List
<
PlatElder
>
list
=
platElderService
.
list
(
new
QueryWrapper
<
PlatElder
>().
lambda
()
.
eq
(
PlatElder:
:
getRoomId
,
dto
.
getRoomId
()));
return
list
;
}
private
PlatSpaceAndRoomVO
child
(
PlatSpaceAndRoomVO
vo
,
Map
<
String
,
List
<
PlatSpaceAndRoomVO
>>
map
){
if
(!
map
.
containsKey
(
vo
.
getId
())){
...
...
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAgeStatisticsVO.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatAgeStatisticsVO对象"
)
public
class
PlatAgeStatisticsVO
{
@ApiModelProperty
(
value
=
"60以下"
)
private
Long
belowSixtyNumber
;
@ApiModelProperty
(
value
=
"60-70"
)
private
Long
sixtyToSeventyNumber
;
@ApiModelProperty
(
value
=
"71-80"
)
private
Long
seventyOneToEightyNumber
;
@ApiModelProperty
(
value
=
"81-90"
)
private
Long
EightyOneToNinetyNumber
;
@ApiModelProperty
(
value
=
"90以上"
)
private
Long
aboveNinetyNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsListVo.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Controller
*
* @author zm
* @version 2023/9/12
*/
@Data
@ApiModel
(
"PlatAlarmStatisticsListVo对象"
)
public
class
PlatAlarmStatisticsListVo
{
@ApiModelProperty
(
value
=
"长者姓名"
)
private
String
elderName
;
@ApiModelProperty
(
value
=
"告警类型"
)
private
String
type
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
status
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatAlarmStatisticsVO.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatAlarmStatisticsVO对象"
)
public
class
PlatAlarmStatisticsVO
{
@ApiModelProperty
(
value
=
"累计告警"
)
private
Long
totla
;
@ApiModelProperty
(
value
=
"已处理数"
)
private
Long
handledNumber
;
@ApiModelProperty
(
value
=
"待处理数"
)
private
Long
unhandledNumber
;
private
List
<
PlatAlarmStatisticsListVo
>
list
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatBaseInfoStatisticsVO.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatAlarmStatisticsVO对象"
)
public
class
PlatBaseInfoStatisticsVO
{
@ApiModelProperty
(
value
=
"累计服务长者"
)
private
Long
elderNumber
;
@ApiModelProperty
(
value
=
"当前在住长者"
)
private
Long
currentElderNumber
;
@ApiModelProperty
(
value
=
"床位总数"
)
private
Long
bedNumber
;
@ApiModelProperty
(
value
=
"服务人员"
)
private
Long
userNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatDeviceStatisticsVO.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatDeviceStatisticsVO对象"
)
public
class
PlatDeviceStatisticsVO
{
@ApiModelProperty
(
value
=
"总数"
)
private
Long
totla
;
@ApiModelProperty
(
value
=
"在线数"
)
private
Long
onlineNumber
;
@ApiModelProperty
(
value
=
"故障数"
)
private
Long
faultNumber
;
@ApiModelProperty
(
value
=
"离线数"
)
private
Long
offlineNumber
;
@ApiModelProperty
(
value
=
"禁用数"
)
private
Long
disableNumber
;
@ApiModelProperty
(
value
=
"禁用数"
)
private
Long
heartNumber
;
}
server-service/src/main/java/com/makeit/vo/platform/dataScreen/PlatSexStatisticsVO.java
0 → 100644
View file @
93fddd61
package
com
.
makeit
.
vo
.
platform
.
dataScreen
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* Controller
*
* @author zm
* @version 2023/9/11
*/
@Data
@ApiModel
(
"PlatSexStatisticsVO对象"
)
public
class
PlatSexStatisticsVO
{
@ApiModelProperty
(
value
=
"男性人数"
)
private
Long
manNumber
;
@ApiModelProperty
(
value
=
"女性人数"
)
private
Long
womanNumber
;
@ApiModelProperty
(
value
=
"男性比例"
)
private
BigDecimal
manRate
;
@ApiModelProperty
(
value
=
"女性比例"
)
private
BigDecimal
womanRate
;
}
server-service/src/main/resources/mappers/PlatBedMapper.xml
View file @
93fddd61
...
...
@@ -33,5 +33,21 @@
</where>
</select>
<select
id=
"countByOrdIdsAndType"
resultType=
"java.lang.Long"
>
SELECT count(*) from plat_bed pb LEFT JOIN plat_space ps ON pb.space_id = ps.id
<where>
ps.del_flag = 0
<if
test=
"orgIds != null and orgIds != '' "
>
AND ps.org_id IN
<foreach
collection=
"orgIds"
item=
"item"
separator=
","
open=
"("
close=
")"
index=
""
>
#{item}
</foreach>
</if>
<if
test=
"orgType != null and orgType != ''"
>
AND ps.type = #{orgType}
</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