Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YeeAmosFireAutoSysRoot
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
station
YeeAmosFireAutoSysRoot
Commits
d5a47667
Commit
d5a47667
authored
May 21, 2021
by
高建强
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
item:同步修改三维消息重复推送
parent
9ae17467
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
6 deletions
+47
-6
HandlerMqttMessageImpl.java
...mos/fas/business/service/impl/HandlerMqttMessageImpl.java
+32
-6
EquipmentSpecificForRiskVo.java
...join/amos/fas/business/vo/EquipmentSpecificForRiskVo.java
+10
-0
TopicEntityVo.java
.../java/com/yeejoin/amos/fas/business/vo/TopicEntityVo.java
+5
-0
No files found.
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/HandlerMqttMessageImpl.java
View file @
d5a47667
...
...
@@ -8,6 +8,7 @@ import com.yeejoin.amos.component.rule.RuleTrigger;
import
com.yeejoin.amos.fas.business.action.model.ContingencyRo
;
import
com.yeejoin.amos.fas.business.action.mq.WebMqttComponent
;
import
com.yeejoin.amos.fas.business.action.mq.WebMqttSubscribe
;
import
com.yeejoin.amos.fas.business.bo.SafetyExecuteBo
;
import
com.yeejoin.amos.fas.business.dao.mapper.*
;
import
com.yeejoin.amos.fas.business.dao.repository.IContingencyOriginalDataDao
;
import
com.yeejoin.amos.fas.business.dao.repository.IEvaluationModelDao
;
...
...
@@ -136,10 +137,14 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
EquipmentSpecificIndexVo
equipmentSpecificIndex
=
JSONObject
.
parseObject
(
topicEntity
.
getMessage
(),
EquipmentSpecificIndexVo
.
class
);
long
eqSpecId
=
equipmentSpecificIndex
.
getEquipmentSpecificId
();
String
nameKey
=
equipmentSpecificIndex
.
getNameKey
();
if
(
topicEntity
.
getSimulationDate
().
equals
(
"false"
)
&&
!
indexStateIsChange
(
equipmentSpecificIndex
)){
log
.
info
(
"指标值没有发生变化: "
+
equipmentSpecificIndex
.
getIotCode
()+
"-"
+
equipmentSpecificIndex
.
getNameKey
()+
":"
+
equipmentSpecificIndex
.
getValue
());
return
;
}
EquipmentSpecificForRiskVo
equipmentSpecific
=
equipmentSpecificMapper
.
getOneById
(
eqSpecId
);
// 三维屏指标状态推送
String
specificIndexType
=
equipmentSpecificIndex
.
getType
();
//
String
typeCode
=
equipmentSpecificIndex
.
getTypeCode
();
if
(
nameKey
!=
null
&&
nameKeys
.
contains
(
nameKey
))
{
if
(
equipmentSpecific
!=
null
)
{
...
...
@@ -165,10 +170,16 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
* 影响区域:消防安全=>火灾告警
*/
String
title
=
String
.
format
(
"/%s/%s/%s/%s"
,
serviceName
,
stationName
,
"data/refresh"
,
"fireSafety"
);
webMqttComponent
.
publish
(
title
,
JSON
.
toJSONString
(
view3dService
.
getSafetyExecuteListTop5
(
"fire"
,
equipmentSpecific
.
getOrgCode
())));
List
<
SafetyExecuteBo
>
dataList
=
view3dService
.
getSafetyExecuteListTop5
(
"fire"
,
equipmentSpecific
.
getOrgCode
());
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
result
.
put
(
"type"
,
"fire"
);
result
.
put
(
"dataList"
,
dataList
);
webMqttComponent
.
publish
(
title
,
JSON
.
toJSONString
(
result
));
// 报警触发调用规则服务
//注释自动触发预案
//executeDynamicPlan(deviceData, equipment, equipmentSpecific, toke,topicEntity.getRecordId());
if
(
EquipmentRiskTypeEnum
.
HZGJ
.
getCode
().
equals
(
specificIndexType
)&&!
ObjectUtils
.
isEmpty
(
equipment
)
&&
!
ObjectUtils
.
isEmpty
(
equipment
.
getReservePlan
())){
executeDynamicPlan
(
deviceData
,
equipment
,
equipmentSpecific
,
toke
,
null
);
}
}
else
if
(
EquipmentRiskTypeEnum
.
GZ
.
getCode
().
equals
(
typeCode
))
{
// 设备故障处理逻辑
log
.
info
(
"(故障)Message typeCode is: "
+
typeCode
);
...
...
@@ -198,13 +209,13 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
fireEquipRuleMessagePush
(
deviceData
,
toke
);
}
}
}
else
{
// 监测数据逻辑
log
.
info
(
"(监测)Message type is: "
+
specificIndexType
);
Map
<
String
,
Object
>
content
=
new
HashMap
<>();
String
location
=
equipmentSpecific
.
getLocation
()+
" "
+
equipmentSpecific
.
getDescription
();
content
.
put
(
"id"
,
equipmentSpecific
.
getId
());
content
.
put
(
"label"
,
equipmentSpecific
.
getName
()+
" "
+
equipmentSpecificIndex
.
getEquipmentIndexName
());
content
.
put
(
"label"
,
equipmentSpecific
.
getName
()+
" "
+
equipmentSpecificIndex
.
getEquipmentIndexName
()
+
(
ObjectUtils
.
isEmpty
(
location
)?(
"【"
+
location
+
"】"
):
""
)
);
content
.
put
(
"code"
,
equipmentSpecific
.
getCode
());
content
.
put
(
"changeDate"
,
new
Date
());
content
.
put
(
"orgCode"
,
equipmentSpecific
.
getOrgCode
());
...
...
@@ -215,6 +226,21 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
}
}
private
boolean
indexStateIsChange
(
EquipmentSpecificIndexVo
equipmentSpecificIndex
){
if
(
ObjectUtils
.
isEmpty
(
equipmentSpecificIndex
.
getValue
())){
return
false
;
}
String
key
=
equipmentSpecificIndex
.
getIotCode
()+
"-"
+
equipmentSpecificIndex
.
getNameKey
();
if
(
redisTemplate
.
hasKey
(
key
)){
EquipmentSpecificIndexVo
equipmentSpecificIndexVo
=
JSON
.
parseObject
(
redisTemplate
.
opsForValue
().
get
(
key
).
toString
(),
EquipmentSpecificIndexVo
.
class
);
if
(
equipmentSpecificIndex
.
getValue
().
equals
(
equipmentSpecificIndexVo
.
getValue
())){
return
false
;
}
}
redisTemplate
.
opsForValue
().
set
(
key
,
JSONObject
.
toJSONString
(
equipmentSpecificIndex
));
return
true
;
}
/**
* <pre>
* @Description: rpn,rpni值修改
...
...
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/vo/EquipmentSpecificForRiskVo.java
View file @
d5a47667
...
...
@@ -43,4 +43,14 @@ public class EquipmentSpecificForRiskVo {
@ApiModelProperty
(
value
=
"orgCode"
)
private
String
orgCode
;
/**
* 位置
*/
private
String
location
;
/**
* 位置详情
*/
private
String
description
;
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/vo/TopicEntityVo.java
View file @
d5a47667
...
...
@@ -28,4 +28,9 @@ public class TopicEntityVo {
private
Long
recordId
;
private
Equipment
equipment
;
/**
* 是否模拟发送的数据,初始值为false
*/
private
String
simulationDate
=
"false"
;
}
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