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
9926ec57
Commit
9926ec57
authored
May 28, 2022
by
maoying
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_upgrade_plan6' of…
Merge branch 'dev_upgrade_plan6' of
http://39.98.45.134:8090/station/YeeAmosFireAutoSysRoot
into dev_upgrade_plan6
parents
c23e993b
ba7d1663
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
149 additions
and
137 deletions
+149
-137
ContingencyAction.java
...m/yeejoin/amos/fas/business/action/ContingencyAction.java
+26
-2
EquipmentFireEquipmentController.java
...business/controller/EquipmentFireEquipmentController.java
+1
-1
TimeLineController.java
...join/amos/fas/business/controller/TimeLineController.java
+37
-127
ContingencyInstanceImpl.java
...os/fas/business/service/impl/ContingencyInstanceImpl.java
+83
-7
IContingencyInstance.java
...amos/fas/business/service/intfc/IContingencyInstance.java
+2
-0
No files found.
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/action/ContingencyAction.java
View file @
9926ec57
...
@@ -103,6 +103,9 @@ public class ContingencyAction implements CustomerAction {
...
@@ -103,6 +103,9 @@ public class ContingencyAction implements CustomerAction {
@Autowired
@Autowired
IRocketMQService
rocketMQService
;
IRocketMQService
rocketMQService
;
@Autowired
private
IContingencyInstance
contingencyInstance
;
@Value
(
"${rocket-plan-topic}"
)
@Value
(
"${rocket-plan-topic}"
)
private
String
rocketTopic
;
private
String
rocketTopic
;
...
@@ -510,7 +513,6 @@ public class ContingencyAction implements CustomerAction {
...
@@ -510,7 +513,6 @@ public class ContingencyAction implements CustomerAction {
result
.
add
(
tempmap1
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"optionarea"
,
paramObj
,
result
);
this
.
sendcmd
(
"optionarea"
,
paramObj
,
result
);
}
}
...
@@ -703,7 +705,6 @@ public class ContingencyAction implements CustomerAction {
...
@@ -703,7 +705,6 @@ public class ContingencyAction implements CustomerAction {
result
.
add
(
tempmap1
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"message"
,
paramObj
,
result
);
this
.
sendcmd
(
"message"
,
paramObj
,
result
);
redisTemplate
.
opsForValue
().
set
(
"contingencyRo"
,
contingencyRo
);
redisTemplate
.
opsForValue
().
set
(
"contingencyRo"
,
contingencyRo
);
}
}
...
@@ -851,6 +852,7 @@ public class ContingencyAction implements CustomerAction {
...
@@ -851,6 +852,7 @@ public class ContingencyAction implements CustomerAction {
@RuleMethod
(
methodLabel
=
"自动执行动作"
,
project
=
"换流站消防专项预案"
)
@RuleMethod
(
methodLabel
=
"自动执行动作"
,
project
=
"换流站消防专项预案"
)
public
void
autoExecuteAction
(
public
void
autoExecuteAction
(
@MethodParam
(
paramLabel
=
"当前步骤"
)
String
currentSetup
,
@MethodParam
(
paramLabel
=
"按钮状态"
)
String
buttonStatus
,
@MethodParam
(
paramLabel
=
"按钮状态"
)
String
buttonStatus
,
@MethodParam
(
paramLabel
=
"按钮编码"
)
String
buttonCode
,
@MethodParam
(
paramLabel
=
"按钮编码"
)
String
buttonCode
,
@MethodParam
(
paramLabel
=
"规则主题"
)
String
topic
,
@MethodParam
(
paramLabel
=
"规则主题"
)
String
topic
,
...
@@ -858,6 +860,8 @@ public class ContingencyAction implements CustomerAction {
...
@@ -858,6 +860,8 @@ public class ContingencyAction implements CustomerAction {
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
contingencyRo
.
setButtonState
(
buttonStatus
);
contingencyRo
.
setButtonState
(
buttonStatus
);
contingencyRo
.
setButtonCode
(
buttonCode
);
contingencyRo
.
setButtonCode
(
buttonCode
);
contingencyRo
.
setStepState
(
topic
);
contingencyRo
.
setStep
(
currentSetup
);
try
{
try
{
//电力设备
//电力设备
Equipment
equipment
=
equipmentService
.
queryOne
(
Long
.
parseLong
(
contingencyRo
.
getEquipmentId
()));
Equipment
equipment
=
equipmentService
.
queryOne
(
Long
.
parseLong
(
contingencyRo
.
getEquipmentId
()));
...
@@ -867,6 +871,26 @@ public class ContingencyAction implements CustomerAction {
...
@@ -867,6 +871,26 @@ public class ContingencyAction implements CustomerAction {
}
}
}
}
@RuleMethod
(
methodLabel
=
"自动执行动作V2"
,
project
=
"换流站消防专项预案"
)
public
void
autoExecuteActionV2
(
@MethodParam
(
paramLabel
=
"步骤编码"
)
String
stepCode
,
@MethodParam
(
paramLabel
=
"按钮编码"
)
String
buttonCode
,
@MethodParam
(
paramLabel
=
"按钮状态"
)
String
confirm
,
@MethodParam
(
paramLabel
=
"步骤状态"
)
String
stepState
,
@MethodParam
(
paramLabel
=
"动作名称"
)
String
actionName
,
@MethodParam
(
paramLabel
=
"图标"
)
String
icon
,
@MethodParam
(
paramLabel
=
"提示信息"
)
String
tips
,
@MethodParam
(
paramLabel
=
"按钮json字符串"
)
String
buttonJson
,
@MethodParam
(
paramLabel
=
"预案对象"
)
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
String
contingencyPlanId
=
getContingencyPlanId
(
contingencyRo
.
getBatchNo
(),
actionName
,
icon
,
tips
,
buttonJson
);
try
{
contingencyInstance
.
fire
(
contingencyRo
.
getBatchNo
(),
stepCode
,
contingencyPlanId
,
buttonCode
,
confirm
,
stepState
,
null
,
null
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
public
void
sendcmd
(
String
msgType
,
DeviceRo
deviceRo
,
SafteyPlanResult
result
)
{
public
void
sendcmd
(
String
msgType
,
DeviceRo
deviceRo
,
SafteyPlanResult
result
)
{
Constructor
<?>
constructor
;
Constructor
<?>
constructor
;
try
{
try
{
...
...
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/controller/
e
quipmentFireEquipmentController.java
→
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/controller/
E
quipmentFireEquipmentController.java
View file @
9926ec57
...
@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
*/
*/
@RestController
@RestController
@RequestMapping
(
value
=
"/api/equipFireEquip"
)
@RequestMapping
(
value
=
"/api/equipFireEquip"
)
public
class
e
quipmentFireEquipmentController
{
public
class
E
quipmentFireEquipmentController
{
@Autowired
@Autowired
private
IEquipmentFireEquipmentService
equipmentFireEquipmentService
;
private
IEquipmentFireEquipmentService
equipmentFireEquipmentService
;
...
...
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/controller/TimeLineController.java
View file @
9926ec57
package
com
.
yeejoin
.
amos
.
fas
.
business
.
controller
;
package
com
.
yeejoin
.
amos
.
fas
.
business
.
controller
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
com.yeejoin.amos.fas.business.action.CustomerAction
;
import
com.yeejoin.amos.fas.business.action.CustomerAction
;
import
com.yeejoin.amos.fas.business.bo.FirePlanAlarmBo
;
import
com.yeejoin.amos.fas.business.dao.mapper.View3dMapper
;
import
com.yeejoin.amos.fas.business.service.impl.RiskSourceServiceImpl
;
import
com.yeejoin.amos.fas.business.service.impl.RiskSourceServiceImpl
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyOriginalDataService
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyOriginalDataService
;
import
com.yeejoin.amos.fas.business.service.intfc.IEquipmentService
;
import
com.yeejoin.amos.fas.business.service.intfc.IEquipmentService
;
import
com.yeejoin.amos.fas.business.service.intfc.IRocketMQService
;
import
com.yeejoin.amos.fas.business.service.intfc.IRuleRunningSnapshotService
;
import
com.yeejoin.amos.fas.business.service.intfc.IRuleRunningSnapshotService
;
import
com.yeejoin.amos.fas.config.Permission
;
import
com.yeejoin.amos.fas.config.Permission
;
import
com.yeejoin.amos.fas.core.common.request.CommonPageable
;
import
com.yeejoin.amos.fas.core.common.request.CommonPageable
;
...
@@ -41,15 +15,26 @@ import com.yeejoin.amos.fas.core.util.CommonResponse;
...
@@ -41,15 +15,26 @@ import com.yeejoin.amos.fas.core.util.CommonResponse;
import
com.yeejoin.amos.fas.core.util.CommonResponseUtil
;
import
com.yeejoin.amos.fas.core.util.CommonResponseUtil
;
import
com.yeejoin.amos.fas.core.util.DateUtil
;
import
com.yeejoin.amos.fas.core.util.DateUtil
;
import
com.yeejoin.amos.fas.dao.entity.Equipment
;
import
com.yeejoin.amos.fas.dao.entity.Equipment
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiParam
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
@RestController
@RestController
@RequestMapping
(
value
=
"/api/timeline"
)
@RequestMapping
(
value
=
"/api/timeline"
)
@Api
(
tags
=
"时间轴"
)
@Api
(
tags
=
"时间轴"
)
public
class
TimeLineController
extends
BaseController
{
public
class
TimeLineController
extends
BaseController
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
TimeLineController
.
class
);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
TimeLineController
.
class
);
@Autowired
@Autowired
...
@@ -66,78 +51,46 @@ public class TimeLineController extends BaseController{
...
@@ -66,78 +51,46 @@ public class TimeLineController extends BaseController{
@Autowired
@Autowired
IEquipmentService
equipmentService
;
IEquipmentService
equipmentService
;
static
LinkedList
<
Map
<
String
,
String
>>
fireQueue
=
new
LinkedList
<>();
@Autowired
@Autowired
private
RedisTemplate
redisTemplate
;
private
RedisTemplate
redisTemplate
;
@Autowired
@Autowired
private
IRuleRunningSnapshotService
ruleRunningSnapshotService
;
private
IRuleRunningSnapshotService
ruleRunningSnapshotService
;
@Autowired
IRocketMQService
rocketMQService
;
@Value
(
"${rocket-equip-alarm-topic}"
)
private
String
rocketTopicFireEquipAlarm
;
@Autowired
private
View3dMapper
view3dMapper
;
@Permission
@Permission
//@Authorization(ingore = true)
//@Authorization(ingore = true)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据批次号查询时间轴"
,
notes
=
"根据批次号查询时间轴"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据批次号查询时间轴"
,
notes
=
"根据批次号查询时间轴"
)
@RequestMapping
(
value
=
"/{instanceNo}"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/{instanceNo}"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
public
CommonResponse
queryPoint
(
@PathVariable
String
instanceNo
,
@RequestParam
(
"recordType"
)
String
recordType
)
throws
Exception
{
public
CommonResponse
queryPoint
(
@PathVariable
String
instanceNo
,
@RequestParam
(
"recordType"
)
String
recordType
)
throws
Exception
{
return
CommonResponseUtil
.
success
(
iContingencyInstance
.
queryForTimeLine
(
instanceNo
,
recordType
));
return
CommonResponseUtil
.
success
(
iContingencyInstance
.
queryForTimeLine
(
instanceNo
,
recordType
));
}
}
@Permission
@Permission
//@Authorization(ingore = true)
//@Authorization(ingore = true)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"点击按钮"
,
notes
=
"点击按钮"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"点击按钮"
,
notes
=
"点击按钮"
)
@RequestMapping
(
value
=
"/fire"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
PUT
)
@RequestMapping
(
value
=
"/fire"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
PUT
)
public
CommonResponse
fire
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
public
CommonResponse
fire
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
@RequestParam
(
"stepCode"
)
String
stepCode
,
@RequestParam
(
"stepCode"
)
String
stepCode
,
@RequestParam
(
"buttonCode"
)
String
buttonCode
,
@RequestParam
(
"buttonCode"
)
String
buttonCode
,
@RequestParam
(
"confirm"
)
String
confirm
,
@RequestParam
(
"confirm"
)
String
confirm
,
@RequestParam
(
"contingencyPlanId"
)
String
contingencyPlanId
,
@RequestParam
(
"contingencyPlanId"
)
String
contingencyPlanId
,
@RequestParam
(
"stepState"
)
String
stepState
)
throws
Exception
{
@RequestParam
(
"stepState"
)
String
stepState
)
throws
Exception
{
iContingencyInstance
.
fire
(
batchNo
,
stepCode
,
contingencyPlanId
,
buttonCode
,
confirm
,
stepState
,
getToken
(),
getProduct
());
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"batchNo"
,
batchNo
);
map
.
put
(
"stepCode"
,
stepCode
);
map
.
put
(
"buttonCode"
,
buttonCode
);
map
.
put
(
"confirm"
,
confirm
);
map
.
put
(
"contingencyPlanId"
,
contingencyPlanId
);
map
.
put
(
"stepState"
,
stepState
);
map
.
put
(
"token"
,
getToken
());
map
.
put
(
"product"
,
getProduct
());
fireQueue
.
addLast
(
map
);
//应急指挥给总部推送消息
sendPlanAlarm
(
batchNo
,
buttonCode
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
}
}
private
void
sendPlanAlarm
(
String
batchNo
,
String
buttonCode
){
//确警后推送报警数据
if
(
"FIRE_CONFIRM"
.
equals
(
buttonCode
)){
FirePlanAlarmBo
firePlanAlarm
=
view3dMapper
.
getPlanAlarmInfo
(
batchNo
);
List
<
FirePlanAlarmBo
>
list
=
new
ArrayList
<
FirePlanAlarmBo
>();
list
.
add
(
firePlanAlarm
);
rocketMQService
.
sendMsg
(
rocketTopicFireEquipAlarm
,
"plan_alarm"
,
list
);
}
}
@Permission
@Permission
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"点击按钮"
,
notes
=
"点击按钮"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"点击按钮"
,
notes
=
"点击按钮"
)
@RequestMapping
(
value
=
"/fire/exit"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
PUT
)
@RequestMapping
(
value
=
"/fire/exit"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
PUT
)
public
CommonResponse
fireExit
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
public
CommonResponse
fireExit
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
@RequestParam
(
"stepCode"
)
String
stepCode
,
@RequestParam
(
"stepCode"
)
String
stepCode
,
@RequestParam
(
"buttonCode"
)
String
buttonCode
,
@RequestParam
(
"buttonCode"
)
String
buttonCode
,
@RequestParam
(
"confirm"
)
String
confirm
,
@RequestParam
(
"confirm"
)
String
confirm
,
@RequestParam
(
"stepState"
)
String
stepState
)
throws
Exception
{
@RequestParam
(
"stepState"
)
String
stepState
)
throws
Exception
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
redisTemplate
.
delete
(
RiskSourceServiceImpl
.
cacheKeyForCanBeRunning
());
redisTemplate
.
delete
(
RiskSourceServiceImpl
.
cacheKeyForCanBeRunning
());
Optional
<
Equipment
>
equipment
=
iContingencyInstance
.
fire
(
batchNo
,
stepCode
,
""
,
buttonCode
,
confirm
,
stepState
);
Optional
<
Equipment
>
equipment
=
iContingencyInstance
.
fire
(
batchNo
,
stepCode
,
""
,
buttonCode
,
confirm
,
stepState
);
// 结束预案,更新设备重点设备参数
// 结束预案,更新设备重点设备参数
equipment
.
ifPresent
(
equip
->
{
equipment
.
ifPresent
(
equip
->
{
equip
.
setStartTime
(
DateUtil
.
getDateNow
());
equip
.
setStartTime
(
DateUtil
.
getDateNow
());
...
@@ -151,62 +104,26 @@ public class TimeLineController extends BaseController{
...
@@ -151,62 +104,26 @@ public class TimeLineController extends BaseController{
}
}
@Permission
@Permission
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"预案回放"
,
notes
=
"预案回放"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"预案回放"
,
notes
=
"预案回放"
)
@RequestMapping
(
value
=
"/fire/replay"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/fire/replay"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
public
CommonResponse
replay
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
public
CommonResponse
replay
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
@RequestParam
(
"randomNumber"
)
String
randomNumber
)
throws
Exception
{
@RequestParam
(
"randomNumber"
)
String
randomNumber
)
throws
Exception
{
ruleRunningSnapshotService
.
replayPlan
(
batchNo
,
randomNumber
);
ruleRunningSnapshotService
.
replayPlan
(
batchNo
,
randomNumber
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
}
}
@Permission
@Permission
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"预案回放退出"
,
notes
=
"预案回放退出"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"预案回放退出"
,
notes
=
"预案回放退出"
)
@RequestMapping
(
value
=
"/fire/replay/exit"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/fire/replay/exit"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
public
CommonResponse
replayExit
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
public
CommonResponse
replayExit
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
@RequestParam
(
"randomNumber"
)
String
randomNumber
)
throws
Exception
{
@RequestParam
(
"randomNumber"
)
String
randomNumber
)
throws
Exception
{
ruleRunningSnapshotService
.
exitReplayPlan
(
batchNo
,
randomNumber
);
ruleRunningSnapshotService
.
exitReplayPlan
(
batchNo
,
randomNumber
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
}
}
@Scheduled
(
cron
=
"*/2 * * * * ?"
)
public
void
runFireQueue
()
throws
Exception
{
if
(
fireQueue
.
size
()
==
0
)
return
;
Map
<
String
,
String
>
map
=
fireQueue
.
getFirst
();
String
batchNo
=
map
.
get
(
"batchNo"
);
String
stepCode
=
map
.
get
(
"stepCode"
);
String
buttonCode
=
map
.
get
(
"buttonCode"
);
String
confirm
=
map
.
get
(
"confirm"
);
String
contingencyPlanId
=
map
.
get
(
"contingencyPlanId"
);
String
stepState
=
map
.
get
(
"stepState"
);
String
token
=
map
.
get
(
"token"
);
String
product
=
map
.
get
(
"product"
);
try
{
log
.
info
(
"fireQueue-size:"
+
fireQueue
.
size
());
log
.
info
(
"stepCode:"
+
map
.
get
(
"stepCode"
));
log
.
info
(
"buttonCode:"
+
map
.
get
(
"buttonCode"
));
log
.
info
(
"confirm:"
+
map
.
get
(
"confirm"
));
log
.
info
(
"stepState:"
+
map
.
get
(
"stepState"
));
RequestContext
.
setToken
(
token
);
RequestContext
.
setProduct
(
product
);
iContingencyInstance
.
setButtonExecuted
(
batchNo
,
contingencyPlanId
,
buttonCode
,
confirm
);
iContingencyInstance
.
fire
(
batchNo
,
stepCode
,
contingencyPlanId
,
buttonCode
,
confirm
,
stepState
);
}
catch
(
Exception
e
)
{
throw
e
;
}
finally
{
fireQueue
.
removeFirst
();
}
}
@Permission
@Permission
// @Authorization(ingore = true)
// @Authorization(ingore = true)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"查询预案记录"
,
notes
=
"查询预案记录"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"查询预案记录"
,
notes
=
"查询预案记录"
)
@RequestMapping
(
value
=
"/contingency/page"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/contingency/page"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
POST
)
public
CommonResponse
contingencyRecord
(
public
CommonResponse
contingencyRecord
(
@ApiParam
(
value
=
"查询条件"
,
required
=
false
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
,
@ApiParam
(
value
=
"查询条件"
,
required
=
false
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
,
...
@@ -217,26 +134,21 @@ public class TimeLineController extends BaseController{
...
@@ -217,26 +134,21 @@ public class TimeLineController extends BaseController{
String
contingencyName
=
null
;
String
contingencyName
=
null
;
String
equipmentId
=
null
;
String
equipmentId
=
null
;
String
createTime
=
null
;
String
createTime
=
null
;
if
(!
CollectionUtils
.
isEmpty
(
queryRequests
))
if
(!
CollectionUtils
.
isEmpty
(
queryRequests
))
{
{
for
(
CommonRequest
request
:
queryRequests
)
{
for
(
CommonRequest
request:
queryRequests
)
if
(
"contingencyName"
.
equals
(
request
.
getName
()))
{
{
if
(
"contingencyName"
.
equals
(
request
.
getName
()))
{
contingencyName
=
String
.
valueOf
(
request
.
getValue
());
contingencyName
=
String
.
valueOf
(
request
.
getValue
());
}
}
if
(
"equipmentId"
.
equals
(
request
.
getName
()))
if
(
"equipmentId"
.
equals
(
request
.
getName
()))
{
{
equipmentId
=
String
.
valueOf
(
request
.
getValue
());
equipmentId
=
String
.
valueOf
(
request
.
getValue
());
}
}
if
(
"createTime"
.
equals
(
request
.
getName
()))
if
(
"createTime"
.
equals
(
request
.
getName
()))
{
{
createTime
=
String
.
valueOf
(
request
.
getValue
());
createTime
=
String
.
valueOf
(
request
.
getValue
());
}
}
}
}
}
}
return
CommonResponseUtil
.
success
(
iContingencyOriginalDataService
.
queryForPage
(
contingencyName
,
equipmentId
,
createTime
,
commonPageable
));
return
CommonResponseUtil
.
success
(
iContingencyOriginalDataService
.
queryForPage
(
contingencyName
,
equipmentId
,
createTime
,
commonPageable
));
}
}
...
@@ -265,12 +177,10 @@ public class TimeLineController extends BaseController{
...
@@ -265,12 +177,10 @@ public class TimeLineController extends BaseController{
"}"
;
"}"
;
@Permission
@Permission
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据批次号查询时间轴"
,
notes
=
"根据批次号查询时间轴"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据批次号查询时间轴"
,
notes
=
"根据批次号查询时间轴"
)
@RequestMapping
(
value
=
"/replay"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/replay"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
public
CommonResponse
queryPoint
(
@RequestParam
(
"batchNo"
)
String
batchNo
)
throws
Exception
{
public
CommonResponse
queryPoint
(
@RequestParam
(
"batchNo"
)
String
batchNo
)
throws
Exception
{
iRuleRunningSnapshotService
.
replay
(
batchNo
);
iRuleRunningSnapshotService
.
replay
(
batchNo
);
return
CommonResponseUtil
.
success
();
return
CommonResponseUtil
.
success
();
}
}
}
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/ContingencyInstanceImpl.java
View file @
9926ec57
...
@@ -6,19 +6,24 @@ import com.yeejoin.amos.fas.business.action.ContingencyAction;
...
@@ -6,19 +6,24 @@ import com.yeejoin.amos.fas.business.action.ContingencyAction;
import
com.yeejoin.amos.fas.business.action.model.ContingencyEvent
;
import
com.yeejoin.amos.fas.business.action.model.ContingencyEvent
;
import
com.yeejoin.amos.fas.business.action.model.ContingencyRo
;
import
com.yeejoin.amos.fas.business.action.model.ContingencyRo
;
import
com.yeejoin.amos.fas.business.action.util.ContingencyLogPublisher
;
import
com.yeejoin.amos.fas.business.action.util.ContingencyLogPublisher
;
import
com.yeejoin.amos.fas.business.bo.FirePlanAlarmBo
;
import
com.yeejoin.amos.fas.business.dao.mapper.FireEquipPointMapper
;
import
com.yeejoin.amos.fas.business.dao.mapper.FireEquipPointMapper
;
import
com.yeejoin.amos.fas.business.dao.mapper.ImpAndFireEquipMapper
;
import
com.yeejoin.amos.fas.business.dao.mapper.ImpAndFireEquipMapper
;
import
com.yeejoin.amos.fas.business.dao.mapper.PlanDetailMapper
;
import
com.yeejoin.amos.fas.business.dao.mapper.PlanDetailMapper
;
import
com.yeejoin.amos.fas.business.dao.mapper.View3dMapper
;
import
com.yeejoin.amos.fas.business.dao.repository.IContingencyOriginalDataDao
;
import
com.yeejoin.amos.fas.business.dao.repository.IContingencyOriginalDataDao
;
import
com.yeejoin.amos.fas.business.dao.repository.IContingencyPlanInstanceRepository
;
import
com.yeejoin.amos.fas.business.dao.repository.IContingencyPlanInstanceRepository
;
import
com.yeejoin.amos.fas.business.feign.RemoteSecurityService
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance
;
import
com.yeejoin.amos.fas.business.service.intfc.I
EquipmentService
;
import
com.yeejoin.amos.fas.business.service.intfc.I
RocketMQService
;
import
com.yeejoin.amos.fas.business.service.model.Operate
;
import
com.yeejoin.amos.fas.business.service.model.Operate
;
import
com.yeejoin.amos.fas.business.service.model.OperateGroup
;
import
com.yeejoin.amos.fas.business.service.model.OperateGroup
;
import
com.yeejoin.amos.fas.business.vo.Toke
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance
;
import
com.yeejoin.amos.fas.dao.entity.Equipment
;
import
com.yeejoin.amos.fas.dao.entity.Equipment
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.codehaus.jackson.map.ObjectMapper
;
import
org.codehaus.jackson.map.ObjectMapper
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -26,10 +31,11 @@ import org.springframework.beans.BeanUtils;
...
@@ -26,10 +31,11 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.
springframework.web.client.RestTemplate
;
import
org.
typroject.tyboot.core.foundation.context.RequestContext
;
import
java.util.*
;
import
java.util.*
;
...
@@ -38,6 +44,8 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
...
@@ -38,6 +44,8 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
ContingencyInstanceImpl
.
class
);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
ContingencyInstanceImpl
.
class
);
static
LinkedList
<
Map
<
String
,
String
>>
fireQueue
=
new
LinkedList
<>();
@Autowired
@Autowired
private
IContingencyPlanInstanceRepository
repository
;
private
IContingencyPlanInstanceRepository
repository
;
...
@@ -45,9 +53,6 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
...
@@ -45,9 +53,6 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
IContingencyOriginalDataDao
iContingencyOriginalDataDao
;
IContingencyOriginalDataDao
iContingencyOriginalDataDao
;
@Autowired
@Autowired
private
RestTemplate
restTemplate
;
@Autowired
private
ImpAndFireEquipMapper
impAndFireEquipMapper
;
private
ImpAndFireEquipMapper
impAndFireEquipMapper
;
@Autowired
@Autowired
...
@@ -57,10 +62,16 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
...
@@ -57,10 +62,16 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
private
FireEquipPointMapper
fireEquipPointMapper
;
private
FireEquipPointMapper
fireEquipPointMapper
;
@Autowired
@Autowired
private
IContingencyInstance
iContingencyInstance
;
IRocketMQService
rocketMQService
;
@Autowired
@Autowired
private
IEquipmentService
equipmentService
;
private
RemoteSecurityService
remoteSecurityService
;
@Value
(
"${rocket-equip-alarm-topic}"
)
private
String
rocketTopicFireEquipAlarm
;
@Autowired
private
View3dMapper
view3dMapper
;
@Value
(
"${station.name}"
)
@Value
(
"${station.name}"
)
private
String
stationName
;
private
String
stationName
;
...
@@ -309,6 +320,71 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
...
@@ -309,6 +320,71 @@ public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPla
iContingencyOriginalDataDao
.
updateByButtonStep
(
step
,
batchNo
);
iContingencyOriginalDataDao
.
updateByButtonStep
(
step
,
batchNo
);
}
}
@Override
public
Optional
<
Equipment
>
fire
(
String
batchNo
,
String
stepCode
,
String
contingencyPlanId
,
String
buttonCode
,
String
buttonState
,
String
stepStateOnbutton
,
String
token
,
String
product
)
throws
Exception
{
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"batchNo"
,
batchNo
);
map
.
put
(
"stepCode"
,
stepCode
);
map
.
put
(
"buttonCode"
,
buttonCode
);
map
.
put
(
"confirm"
,
buttonState
);
map
.
put
(
"contingencyPlanId"
,
contingencyPlanId
);
map
.
put
(
"stepState"
,
stepStateOnbutton
);
if
(
StringUtils
.
isNotBlank
(
token
)
||
StringUtils
.
isNotBlank
(
product
))
{
Toke
serverToken
=
remoteSecurityService
.
getServerToken
();
map
.
put
(
"token"
,
serverToken
.
getToke
());
map
.
put
(
"product"
,
serverToken
.
getProduct
());
}
else
{
map
.
put
(
"token"
,
token
);
map
.
put
(
"product"
,
product
);
}
fireQueue
.
addLast
(
map
);
//应急指挥给总部推送消息
sendPlanAlarm
(
batchNo
,
buttonCode
);
return
Optional
.
empty
();
}
private
void
sendPlanAlarm
(
String
batchNo
,
String
buttonCode
)
{
//确警后推送报警数据
if
(
"FIRE_CONFIRM"
.
equals
(
buttonCode
))
{
FirePlanAlarmBo
firePlanAlarm
=
view3dMapper
.
getPlanAlarmInfo
(
batchNo
);
List
<
FirePlanAlarmBo
>
list
=
new
ArrayList
<
FirePlanAlarmBo
>();
list
.
add
(
firePlanAlarm
);
rocketMQService
.
sendMsg
(
rocketTopicFireEquipAlarm
,
"plan_alarm"
,
list
);
}
}
@Scheduled
(
cron
=
"*/2 * * * * ?"
)
public
void
runFireQueue
()
throws
Exception
{
if
(
fireQueue
.
size
()
==
0
)
return
;
Map
<
String
,
String
>
map
=
fireQueue
.
getFirst
();
String
batchNo
=
map
.
get
(
"batchNo"
);
String
stepCode
=
map
.
get
(
"stepCode"
);
String
buttonCode
=
map
.
get
(
"buttonCode"
);
String
confirm
=
map
.
get
(
"confirm"
);
String
contingencyPlanId
=
map
.
get
(
"contingencyPlanId"
);
String
stepState
=
map
.
get
(
"stepState"
);
String
token
=
map
.
get
(
"token"
);
String
product
=
map
.
get
(
"product"
);
try
{
log
.
info
(
"fireQueue-size:"
+
fireQueue
.
size
());
log
.
info
(
"stepCode:"
+
map
.
get
(
"stepCode"
));
log
.
info
(
"buttonCode:"
+
map
.
get
(
"buttonCode"
));
log
.
info
(
"confirm:"
+
map
.
get
(
"confirm"
));
log
.
info
(
"stepState:"
+
map
.
get
(
"stepState"
));
RequestContext
.
setToken
(
token
);
RequestContext
.
setProduct
(
product
);
setButtonExecuted
(
batchNo
,
contingencyPlanId
,
buttonCode
,
confirm
);
fire
(
batchNo
,
stepCode
,
contingencyPlanId
,
buttonCode
,
confirm
,
stepState
);
}
catch
(
Exception
e
)
{
throw
e
;
}
finally
{
fireQueue
.
removeFirst
();
}
}
public
List
<
String
>
getNumberPlan
(
Long
id
)
{
public
List
<
String
>
getNumberPlan
(
Long
id
)
{
List
<
String
>
ruleId
=
planDetailMapper
.
getRuleIdByEquipment
(
id
);
List
<
String
>
ruleId
=
planDetailMapper
.
getRuleIdByEquipment
(
id
);
return
ruleId
;
return
ruleId
;
...
...
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/intfc/IContingencyInstance.java
View file @
9926ec57
...
@@ -22,4 +22,6 @@ public interface IContingencyInstance {
...
@@ -22,4 +22,6 @@ public interface IContingencyInstance {
Optional
<
Equipment
>
fire
(
String
batchNo
,
String
stepCode
,
String
contingencyPlanId
,
String
buttonCode
,
String
buttonState
,
String
stepStateOnbutton
)
throws
Exception
;
Optional
<
Equipment
>
fire
(
String
batchNo
,
String
stepCode
,
String
contingencyPlanId
,
String
buttonCode
,
String
buttonState
,
String
stepStateOnbutton
)
throws
Exception
;
void
updateStep
(
String
step
,
String
batchNo
);
void
updateStep
(
String
step
,
String
batchNo
);
Optional
<
Equipment
>
fire
(
String
batchNo
,
String
stepCode
,
String
contingencyPlanId
,
String
buttonCode
,
String
buttonState
,
String
stepStateOnbutton
,
String
token
,
String
product
)
throws
Exception
;
}
}
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