Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
bd0e3901
Commit
bd0e3901
authored
May 05, 2023
by
lisong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
稳压泵、管网压力、水池水箱泡沫罐告警事件添加逻辑
parent
cfe32d1c
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
270 additions
and
53 deletions
+270
-53
EquipmentIndexMapper.java
.../com/yeejoin/equipmanage/mapper/EquipmentIndexMapper.java
+2
-0
PumpSendMessage.java
.../java/com/yeejoin/equipmanage/quartz/PumpSendMessage.java
+4
-0
IEquipmentSpecificAlarmLogService.java
...quipmanage/service/IEquipmentSpecificAlarmLogService.java
+6
-0
EquipmentSpecificAlarmLogServiceImpl.java
...ge/service/impl/EquipmentSpecificAlarmLogServiceImpl.java
+150
-5
MqttReceiveServiceImpl.java
...join/equipmanage/service/impl/MqttReceiveServiceImpl.java
+58
-15
EquipmentIndexMapper.xml
...-equip/src/main/resources/mapper/EquipmentIndexMapper.xml
+17
-0
MarqueeDataMapper.xml
...tem-equip/src/main/resources/mapper/MarqueeDataMapper.xml
+33
-33
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/mapper/EquipmentIndexMapper.java
View file @
bd0e3901
...
...
@@ -66,4 +66,6 @@ public interface EquipmentIndexMapper extends BaseMapper<EquipmentIndex> {
List
<
EquipmentIndex
>
getPerfQutoaIotList
(
Long
id
);
List
<
String
>
getGruopName
(
Long
equipmentId
);
EquipmentIndex
getMessage
(
@Param
(
"equipmentSpecificId"
)
Long
equipmentSpecificId
,
@Param
(
"equipmentIndexKey"
)
String
equipmentIndexKey
);
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/quartz/PumpSendMessage.java
View file @
bd0e3901
...
...
@@ -11,6 +11,7 @@ import com.yeejoin.equipmanage.common.vo.Token;
import
com.yeejoin.equipmanage.fegin.SystemctlFeign
;
import
com.yeejoin.equipmanage.mapper.MarqueeDataMapper
;
import
com.yeejoin.equipmanage.remote.RemoteSecurityService
;
import
com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.quartz.Job
;
import
org.quartz.JobExecutionContext
;
...
...
@@ -36,6 +37,7 @@ public class PumpSendMessage implements Job {
SystemctlFeign
systemctlFeign
=
(
SystemctlFeign
)
jobDataMap
.
get
(
"systemctlFeign"
);
RemoteSecurityService
remoteSecurityService
=
(
RemoteSecurityService
)
jobDataMap
.
get
(
"remoteSecurityService"
);
MarqueeDataMapper
marqueeDataMapper
=
(
MarqueeDataMapper
)
jobDataMap
.
get
(
"marqueeDataMapper"
);
IEquipmentSpecificAlarmLogService
equipmentSpecificAlarmLogService
=
(
IEquipmentSpecificAlarmLogService
)
jobDataMap
.
get
(
"equipmentSpecificAlarmLogService"
);
MessageModel
model
=
new
MessageModel
();
model
.
setSendTime
(
new
Date
());
...
...
@@ -64,6 +66,8 @@ public class PumpSendMessage implements Job {
marqueeData
.
setType
(
"漏水提醒"
);
marqueeData
.
setCreateDate
(
new
Date
());
marqueeDataMapper
.
insert
(
marqueeData
);
// 稳压泵漏水告警添加告警事件信息
equipmentSpecificAlarmLogService
.
pressurePumpDisposeAlarm
(
equipmentSpecific
.
getId
());
}
model
.
setBody
(
body
);
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/IEquipmentSpecificAlarmLogService.java
View file @
bd0e3901
...
...
@@ -2,6 +2,7 @@ package com.yeejoin.equipmanage.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecific
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog
;
import
com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto
;
...
...
@@ -61,4 +62,9 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
* @return
*/
Page
<
EquipmentAlarmLogDto
>
getEquipAlarmLog
(
String
id
,
String
startTime
,
String
endTime
,
long
pageSize
,
long
current
);
void
pressurePumpDisposeAlarm
(
Long
equipmentSpecificId
);
void
pressurePumpRestore
(
Long
equipmentSpecificId
);
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/EquipmentSpecificAlarmLogServiceImpl.java
View file @
bd0e3901
package
com
.
yeejoin
.
equipmanage
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.common.collect.Lists
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog
;
import
com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity
;
import
com.yeejoin.equipmanage.common.entity.*
;
import
com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto
;
import
com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO
;
import
com.yeejoin.equipmanage.common.enums.AlarmStatusEnum
;
import
com.yeejoin.equipmanage.common.utils.DateUtils
;
import
com.yeejoin.equipmanage.fegin.IotFeign
;
import
com.yeejoin.equipmanage.fegin.VideoFeignClient
;
import
com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper
;
import
com.yeejoin.equipmanage.mapper.FireFightingSystemMapper
;
import
com.yeejoin.equipmanage.mapper.*
;
import
com.yeejoin.equipmanage.service.IESeqService
;
import
com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService
;
import
liquibase.pro.packaged.S
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
...
...
@@ -28,6 +31,7 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* @author keyong
...
...
@@ -42,6 +46,22 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
@Autowired
EquipmentSpecificAlarmLogMapper
equipmentSpecificAlarmLogMapper
;
@Autowired
EquipmentSpecificAlarmMapper
equipmentSpecificAlarmMapper
;
@Autowired
EquipmentSpecificMapper
equipmentSpecificMapper
;
@Autowired
EquipmentSpecificAlarmServiceImpl
equipmentSpecificAlarmService
;
@Autowired
EquipmentIndexMapper
equipmentIndexMapper
;
@Value
(
"${equipment.pressurepump.start}"
)
private
String
pressurePumpStart
;
@Autowired
FireFightingSystemMapper
fireFightingSystemMapper
;
...
...
@@ -141,6 +161,130 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
}
@Override
public
void
pressurePumpDisposeAlarm
(
Long
equipmentSpecificId
)
{
EquipmentSpecific
equipmentSpecific
=
equipmentSpecificMapper
.
selectById
(
equipmentSpecificId
);
EquipmentSpecificAlarm
equipmentSpecificAlarm
=
new
EquipmentSpecificAlarm
();
String
sysCodes
=
null
;
Map
<
String
,
Object
>
stationCode
=
equipmentSpecificMapper
.
getStationCode
(
equipmentSpecificId
);
EquipmentIndex
equipmentIndex
=
equipmentIndexMapper
.
getMessage
(
equipmentSpecificId
,
pressurePumpStart
);
LambdaQueryWrapper
<
EquipmentSpecificAlarm
>
lambda
=
new
QueryWrapper
<
EquipmentSpecificAlarm
>().
lambda
();
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificId
,
equipmentSpecific
.
getId
());
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificIndexKey
,
equipmentSpecific
.
getRealtimeIotIndexKey
());
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getStatus
,
AlarmStatusEnum
.
BJ
.
getCode
());
lambda
.
orderByDesc
(
EquipmentSpecificAlarm:
:
getCreateDate
);
lambda
.
last
(
"limit 1"
);
EquipmentSpecificAlarm
specificAlarm
=
equipmentSpecificAlarmMapper
.
selectOne
(
lambda
);
// 已存在稳压泵漏水告警信息,告警频率+1
if
(!
ObjectUtils
.
isEmpty
(
specificAlarm
))
{
specificAlarm
.
setFrequency
(
specificAlarm
.
getFrequency
()
+
1
);
equipmentSpecificAlarmMapper
.
updateById
(
specificAlarm
);
BeanUtils
.
copyProperties
(
specificAlarm
,
equipmentSpecificAlarm
);
}
else
{
equipmentSpecificAlarm
.
setEquipmentSpecificId
(
equipmentSpecific
.
getId
());
equipmentSpecificAlarm
.
setEquipmentSpecificName
(
equipmentSpecific
.
getName
());
equipmentSpecificAlarm
.
setOrgCode
(
equipmentSpecific
.
getOrgCode
());
equipmentSpecificAlarm
.
setIotCode
(
equipmentSpecific
.
getIotCode
());
equipmentSpecificAlarm
.
setEquipmentSpecificIndexName
(
"漏水提醒"
);
equipmentSpecificAlarm
.
setEquipmentSpecificIndexKey
(
equipmentIndex
.
getPerfQuotaDefinitionId
());
equipmentSpecificAlarm
.
setEquipmentSpecificIndexValue
(
"true"
);
equipmentSpecificAlarm
.
setStatus
(
AlarmStatusEnum
.
BJ
.
getCode
());
equipmentSpecificAlarm
.
setFrequency
(
1
);
equipmentSpecificAlarm
.
setType
(
equipmentIndex
.
getTypeCode
());
equipmentSpecificAlarm
.
setEquipmentIndexId
(
equipmentIndex
.
getId
());
equipmentSpecificAlarm
.
setSystemIds
(
equipmentSpecific
.
getSystemId
());
equipmentSpecificAlarm
.
setEquipmentCode
(
equipmentSpecific
.
getEquipmentCode
());
equipmentSpecificAlarm
.
setEquipmentDetailId
(
equipmentSpecific
.
getEquipmentDetailId
());
equipmentSpecificAlarm
.
setLocation
(
equipmentSpecific
.
getPosition
());
equipmentSpecificAlarm
.
setBizOrgCode
(
equipmentSpecific
.
getBizOrgCode
());
equipmentSpecificAlarm
.
setBizOrgName
(
equipmentSpecific
.
getBizOrgName
());
equipmentSpecificAlarm
.
setEmergencyLevel
(
equipmentIndex
.
getEmergencyLevel
());
equipmentSpecificAlarm
.
setEmergencyLevelColor
(
equipmentIndex
.
getEmergencyLevelColor
());
equipmentSpecificAlarm
.
setEmergencyLevelDescribe
(
equipmentIndex
.
getEmergencyLevelDescribe
());
equipmentSpecificAlarm
.
setEquipmentId
(
ObjectUtils
.
isEmpty
(
equipmentIndex
.
getEquipmentId
())
?
null
:
Long
.
parseLong
(
equipmentIndex
.
getEquipmentId
()));
if
(!
ObjectUtils
.
isEmpty
(
stationCode
))
{
equipmentSpecificAlarm
.
setStationCode
(
stationCode
.
get
(
"station_code"
).
toString
());
equipmentSpecificAlarm
.
setStationName
(
stationCode
.
get
(
"station_name"
).
toString
());
}
if
(!
ObjectUtils
.
isEmpty
(
equipmentSpecificAlarm
.
getSystemIds
()))
{
sysCodes
=
getSysCodes
(
equipmentSpecificAlarm
.
getSystemIds
());
equipmentSpecificAlarm
.
setSystemCodes
(
ObjectUtils
.
isEmpty
(
sysCodes
)
?
null
:
sysCodes
);
}
equipmentSpecificAlarmMapper
.
insert
(
equipmentSpecificAlarm
);
}
EquipmentSpecificAlarmLog
equipmentSpecificAlarmLog
=
new
EquipmentSpecificAlarmLog
();
BeanUtils
.
copyProperties
(
equipmentSpecificAlarm
,
equipmentSpecificAlarmLog
);
equipmentSpecificAlarmLog
.
setId
(
null
);
equipmentSpecificAlarmLog
.
setEquipmentSpecificAlarmId
(
equipmentSpecificAlarm
.
getId
());
equipmentSpecificAlarmLog
.
setEquipmentSpecificCode
(
equipmentSpecific
.
getCode
());
equipmentSpecificAlarmLog
.
setEquipmentId
(
ObjectUtils
.
isEmpty
(
equipmentIndex
.
getEquipmentId
())
?
null
:
Long
.
parseLong
(
equipmentIndex
.
getEquipmentId
()));
equipmentSpecificAlarmLog
.
setBuildId
(
equipmentSpecific
.
getWarehouseStructureId
().
toString
());
equipmentSpecificAlarmLog
.
setEmergencyLevel
(
equipmentIndex
.
getEmergencyLevel
());
equipmentSpecificAlarmLog
.
setEmergencyLevelColor
(
equipmentIndex
.
getEmergencyLevelColor
());
equipmentSpecificAlarmLog
.
setEmergencyLevelDescribe
(
equipmentIndex
.
getEmergencyLevelDescribe
());
if
(!
ObjectUtils
.
isEmpty
(
sysCodes
))
{
equipmentSpecificAlarmLog
.
setSystemCodes
(
sysCodes
);
}
if
(!
ObjectUtils
.
isEmpty
(
stationCode
))
{
equipmentSpecificAlarmLog
.
setStationCode
(
stationCode
.
get
(
"station_code"
).
toString
());
equipmentSpecificAlarmLog
.
setStationName
(
stationCode
.
get
(
"station_name"
).
toString
());
}
equipmentSpecificAlarmLogMapper
.
insert
(
equipmentSpecificAlarmLog
);
}
private
String
getSysCodes
(
String
systemId
){
if
(!
ObjectUtils
.
isEmpty
(
systemId
))
{
List
<
FireFightingSystemEntity
>
codes
=
fireFightingSystemMapper
.
getFightingSysByIds
(
systemId
.
split
(
","
));
if
(!
ObjectUtils
.
isEmpty
(
codes
))
{
return
codes
.
stream
().
map
(
FireFightingSystemEntity:
:
getCode
).
collect
(
Collectors
.
joining
(
","
));
}
}
return
null
;
}
@Override
public
void
pressurePumpRestore
(
Long
equipmentSpecificId
)
{
// 修改报警数据为正常
Date
date
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
dateString
=
formatter
.
format
(
date
);
LambdaQueryWrapper
<
EquipmentSpecificAlarm
>
lambda
=
new
QueryWrapper
<
EquipmentSpecificAlarm
>().
lambda
();
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificId
,
equipmentSpecificId
);
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getStatus
,
AlarmStatusEnum
.
BJ
.
getCode
());
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificIndexKey
,
pressurePumpStart
);
List
<
EquipmentSpecificAlarm
>
equipmentSpecificAlarms
=
equipmentSpecificAlarmMapper
.
selectList
(
lambda
);
if
(!
ObjectUtils
.
isEmpty
(
equipmentSpecificAlarms
)){
equipmentSpecificAlarms
.
forEach
(
item
->{
item
.
setStatus
(
AlarmStatusEnum
.
HF
.
getCode
());
item
.
setRecoveryDate
(
date
);
item
.
setConfirmType
(
item
.
getType
());
item
.
setEquipmentSpecificIndexValue
(
"false"
);
});
equipmentSpecificAlarmService
.
saveOrUpdateBatch
(
equipmentSpecificAlarms
);
}
LambdaQueryWrapper
<
EquipmentSpecificAlarmLog
>
lambdaLog
=
new
QueryWrapper
<
EquipmentSpecificAlarmLog
>().
lambda
();
lambdaLog
.
eq
(
EquipmentSpecificAlarmLog:
:
getEquipmentSpecificId
,
equipmentSpecificId
);
lambdaLog
.
eq
(
EquipmentSpecificAlarmLog:
:
getStatus
,
AlarmStatusEnum
.
BJ
.
getCode
());
lambdaLog
.
eq
(
EquipmentSpecificAlarmLog:
:
getEquipmentSpecificIndexKey
,
pressurePumpStart
);
List
<
EquipmentSpecificAlarmLog
>
equipmentSpecificAlarmLogs
=
equipmentSpecificAlarmLogMapper
.
selectList
(
lambdaLog
);
if
(!
ObjectUtils
.
isEmpty
(
equipmentSpecificAlarmLogs
)){
equipmentSpecificAlarmLogs
.
forEach
(
item
->{
item
.
setAlarmReason
(
item
.
getEquipmentSpecificName
()
+
"引起设备报警"
);
item
.
setResolveResult
(
dateString
+
"系统收到设备复归(已消除)信号,系统自动处理。"
);
item
.
setConfirmUser
(
""
);
item
.
setConfirmUserName
(
"系统自动处理"
);
item
.
setConfirmDate
(
date
);
item
.
setCleanTime
(
date
);
item
.
setConfirmType
(
item
.
getType
());
item
.
setEquipmentSpecificIndexValue
(
"false"
);
item
.
setStatus
(
AlarmStatusEnum
.
HF
.
getCode
());
});
this
.
updateBatchById
(
equipmentSpecificAlarmLogs
);
}
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/MqttReceiveServiceImpl.java
View file @
bd0e3901
...
...
@@ -128,6 +128,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
*/
private
final
static
String
FHS_WirelessliquidDetector_WaterLevel
=
"FHS_WirelessliquidDetector_WaterLevel"
;
/**
* 水箱液位
*/
private
final
static
String
CAFS_WaterTank_WaterTankLevel
=
"CAFS_WaterTank_WaterTankLevel"
;
static
EquipmentSpecificMapper
equipmentSpecificMapper
;
@Autowired
...
...
@@ -366,6 +371,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 存储温度数据至内存中(火眼)
iotDataListToCacheMap
(
iotDatalist
);
iotDatalist
.
forEach
(
iotDataVO
->
{
boolean
alarmFlag
=
false
;
String
indexKey
=
iotDataVO
.
getKey
();
String
indexValue
=
iotDataVO
.
getValue
().
toString
();
// 稳压泵启停信号处理
...
...
@@ -405,19 +411,29 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 火眼数据构造告警指标逻辑
equipmentSpecificIndex
=
handleTemperatureAlarm
(
equipmentSpeIndex
,
iotDatalist
);
// 指标告警处理
if
(
equipmentSpecificIndex
.
getIsAlarm
()
!=
null
&&
1
==
equipmentSpecificIndex
.
getIsAlarm
())
{
equipmentSpecificAlarms
.
addAll
(
createIndexAlarmRecord
(
equipmentSpecificIndex
));
}
//管网压力和泡沫罐信息处理
//管网压力、泡沫罐信息、水箱液位告警处理
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
FHS_PipePressureDetector_PipePressure
.
toLowerCase
().
equals
(
iotDataVO
.
getKey
().
toLowerCase
()))
{
doFoamTankLevel
(
iotDataVO
,
equipmentSpecificIndex
);
FHS_PipePressureDetector_PipePressure
.
toLowerCase
().
equals
(
iotDataVO
.
getKey
().
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_WaterTank_WaterTankLevel
.
toLowerCase
()))
{
alarmFlag
=
doFoamTankLevel
(
iotDataVO
,
equipmentSpecificIndex
);
}
//消防水池液位处理
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_FirePoolDevice_WaterLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_WirelessliquidDetector_WaterLevel
.
toLowerCase
()))
{
doWaterPoolLevel
(
iotDataVO
,
equipmentSpecificIndex
);
alarmFlag
=
doWaterPoolLevel
(
iotDataVO
,
equipmentSpecificIndex
);
}
// 遥测数据生成告警事件、日志处理
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
FHS_PipePressureDetector_PipePressure
.
toLowerCase
().
equals
(
iotDataVO
.
getKey
().
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_WaterTank_WaterTankLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_FirePoolDevice_WaterLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_WirelessliquidDetector_WaterLevel
.
toLowerCase
()))
{
handlingAlarms
(
equipmentSpecificIndex
,
alarmFlag
);
}
// 指标告警处理
if
(
equipmentSpecificIndex
.
getIsAlarm
()
!=
null
&&
1
==
equipmentSpecificIndex
.
getIsAlarm
())
{
equipmentSpecificAlarms
.
addAll
(
createIndexAlarmRecord
(
equipmentSpecificIndex
));
}
// 遥测遥信数据推送云端kafka
JSONObject
jsonObjectXf
=
new
JSONObject
();
...
...
@@ -568,16 +584,22 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
private
void
handlingAlarms
(
EquipmentSpecificIndex
equipmentSpecificIndex
,
boolean
alarmFlag
){
equipmentSpecificIndex
.
setIsAlarm
(
1
);
equipmentSpecificIndex
.
setValue
(
String
.
valueOf
(
alarmFlag
));
}
/**
* 泡沫罐 或 者管网压力 消息发送
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
private
void
doFoamTankLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
private
boolean
doFoamTankLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
boolean
alarmFlag
=
false
;
MessageModel
model
=
new
MessageModel
();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
()))
{
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_WaterTank_WaterTankLevel
.
toLowerCase
())
)
{
map
=
fireFightingSystemMapper
.
getFoamTankLevel
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
}
else
{
map
=
fireFightingSystemMapper
.
getPipeNetwork
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
...
...
@@ -620,7 +642,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
log
.
error
(
"调用平台出错!"
);
}
log
.
info
(
String
.
format
(
"调用平台消息服务成功:%s"
,
JSON
.
toJSONString
(
model
)));
alarmFlag
=
true
;
}
return
alarmFlag
;
}
/**
...
...
@@ -629,7 +653,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
private
void
doWaterPoolLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
private
boolean
doWaterPoolLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
boolean
alarmFlag
=
false
;
MessageModel
model
=
new
MessageModel
();
Map
<
String
,
Object
>
map
=
fireFightingSystemMapper
.
getWaterPoolLevel
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
if
(!
ObjectUtils
.
isEmpty
(
map
))
{
...
...
@@ -682,8 +707,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
Token
token
=
remoteSecurityService
.
getServerToken
();
systemctlFeign
.
create
(
token
.
getAppKey
(),
token
.
getProduct
(),
token
.
getToke
(),
model
);
log
.
info
(
String
.
format
(
"调用平台消息服务成功:%s"
,
JSON
.
toJSONString
(
model
)));
alarmFlag
=
true
;
}
}
return
alarmFlag
;
}
private
BigDecimal
getBigDecimal
(
Object
value
)
{
...
...
@@ -1523,6 +1550,12 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 2. 校验
if
(!
ObjectUtils
.
isEmpty
(
data
.
getUpdateDate
()))
{
checkValueByDate
(
data
,
newDate
,
pressurePumpEnum
);
}
else
{
// 稳压泵漏水告警恢复
List
<
EquipmentSpecificIndex
>
collect
=
equipmentSpeIndexList
.
stream
().
filter
(
item
->
!
ObjectUtils
.
isEmpty
(
item
.
getIotCode
())
&&
item
.
getIotCode
().
equals
(
topicEntity
.
getIotCode
())).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
collect
)
&&
!
ObjectUtils
.
isEmpty
(
collect
.
get
(
0
))
&&
!
ObjectUtils
.
isEmpty
(
collect
.
get
(
0
).
getEquipmentId
())){
equipmentSpecificAlarmLogService
.
pressurePumpRestore
(
collect
.
get
(
0
).
getEquipmentId
());
}
}
});
}
...
...
@@ -1548,7 +1581,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
e
.
getIotCode
().
equals
(
iotCode
)
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
lastStop
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
lastStop
,
prefix
,
suffix
,
"false"
);
EquipmentSpecificIndex
aFalse
=
getIotDate
(
equipmentSpecificIndex
,
lastStop
,
prefix
,
suffix
,
"false"
);
BeanUtils
.
copyProperties
(
aFalse
,
equipmentSpecificIndex
);
}
break
;
case
LAST_START:
...
...
@@ -1562,7 +1596,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
e
.
getIotCode
().
equals
(
iotCode
)
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
lastStart
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
lastStart
,
prefix
,
suffix
,
"true"
);
EquipmentSpecificIndex
aTrue
=
getIotDate
(
equipmentSpecificIndex
,
lastStart
,
prefix
,
suffix
,
"true"
);
BeanUtils
.
copyProperties
(
aTrue
,
equipmentSpecificIndex
);
}
break
;
case
LATELY_STOP:
...
...
@@ -1570,7 +1606,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
latelyStop
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
latelyStop
,
prefix
,
null
,
"false"
);
EquipmentSpecificIndex
aFalse
=
getIotDate
(
equipmentSpecificIndex
,
latelyStop
,
prefix
,
null
,
"false"
);
BeanUtils
.
copyProperties
(
aFalse
,
equipmentSpecificIndex
);
}
break
;
case
LATELY_START:
...
...
@@ -1578,7 +1616,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
latelyStart
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
latelyStart
,
prefix
,
null
,
"true"
);
EquipmentSpecificIndex
aTrue
=
getIotDate
(
equipmentSpecificIndex
,
latelyStart
,
prefix
,
null
,
"true"
);
BeanUtils
.
copyProperties
(
aTrue
,
equipmentSpecificIndex
);
}
break
;
case
PUMP_START_TIME:
...
...
@@ -1685,6 +1725,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
marqueeData
.
setType
(
"漏水提醒"
);
marqueeData
.
setCreateDate
(
new
Date
());
marqueeDataMapper
.
insert
(
marqueeData
);
// 稳压泵告警事件生成
equipmentSpecificAlarmLogService
.
pressurePumpDisposeAlarm
(
data
.
getEquipmentId
());
}
switch
(
pumpMessageEnum
)
{
...
...
@@ -1765,6 +1807,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
parameter
.
put
(
"remoteSecurityService"
,
remoteSecurityService
);
parameter
.
put
(
"systemctlFeign"
,
systemctlFeign
);
parameter
.
put
(
"marqueeDataMapper"
,
marqueeDataMapper
);
parameter
.
put
(
"equipmentSpecificAlarmLogService"
,
equipmentSpecificAlarmLogService
);
QuartzManager
.
addJob
(
jobName
,
PUMP_JOB_GROUP_NAME
,
triggerName
,
PUMP_TRIGGER_GROUP_NAME
,
PumpSendMessage
.
class
,
cron
,
parameter
);
}
}
...
...
amos-boot-system-equip/src/main/resources/mapper/EquipmentIndexMapper.xml
View file @
bd0e3901
...
...
@@ -230,4 +230,21 @@
select equipment_detail_id from wl_equipment_specific where id = #{id})
)
</select>
<select
id=
"getMessage"
resultType=
"com.yeejoin.equipmanage.common.entity.EquipmentIndex"
>
SELECT
wei.id,
wei.equipment_id as equipmentId,
wei.name_key as perfQuotaDefinitionId,
wei.emergency_level as emergencyLevel,
wei.emergency_level_describe as emergencyLevelDescribe,
wei.emergency_level_color as emergencyLevelColor,
wei.type_code as typeCode ,
wei.name as perfQuotaName
FROM
`wl_equipment_index` wei
LEFT JOIN wl_equipment_specific_index wesi ON wei.id = wesi.equipment_index_id
WHERE
wesi.equipment_specific_id = #{equipmentSpecificId}
AND wesi.equipment_index_key = #{equipmentIndexKey}
</select>
</mapper>
amos-boot-system-equip/src/main/resources/mapper/MarqueeDataMapper.xml
View file @
bd0e3901
...
...
@@ -64,39 +64,39 @@
wles.biz_org_code like concat (#{param.bizOrgCode},'%')
</if>
</where>
UNION ALL
SELECT
equipment_specific_id id,
NULL org_code,
null fireEquipmentId,
NULL equipDetailId,
NULL fireEquipmentCode,
null systemId,
NULL fireEquipmentName,
NULL alamContent,
NULL handleStatus,
NULL cleanStatus,
NULL handleType,
NULL fireEquipmentIndexId,
NULL fireEquipmentSpecificIndexKey,
type fireEquipmentSpecificIndexName,
NULL buildId,
NULL imgUrl,
NULL fireEquipmentPointValue,
NULL typeCode,
NULL type,
date_format( create_date, '%Y-%m-%d %H:%i:%s' ) createDate,
NULL warehouseStructureName,
NULL equipmentName,
NAME equipmentSpecificName,
position,
id messageId,
message_type messageType,
is_read isRead
FROM
wl_marquee_data
WHERE
is_read = '0'
--
UNION ALL
--
SELECT
--
equipment_specific_id id,
--
NULL org_code,
--
null fireEquipmentId,
--
NULL equipDetailId,
--
NULL fireEquipmentCode,
--
null systemId,
--
NULL fireEquipmentName,
--
NULL alamContent,
--
NULL handleStatus,
--
NULL cleanStatus,
--
NULL handleType,
--
NULL fireEquipmentIndexId,
--
NULL fireEquipmentSpecificIndexKey,
--
type fireEquipmentSpecificIndexName,
--
NULL buildId,
--
NULL imgUrl,
--
NULL fireEquipmentPointValue,
--
NULL typeCode,
--
NULL type,
--
date_format( create_date, '%Y-%m-%d %H:%i:%s' ) createDate,
--
NULL warehouseStructureName,
--
NULL equipmentName,
--
NAME equipmentSpecificName,
--
position,
--
id messageId,
--
message_type messageType,
--
is_read isRead
--
FROM
--
wl_marquee_data
--
WHERE
--
is_read = '0'
ORDER BY createDate DESC
</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