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
dbb0c867
Commit
dbb0c867
authored
May 28, 2020
by
吴江
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_rule' into 'dev_upgrade'
Dev rule See merge request
!1
parents
9e592a48
6e7ae3b0
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
284 additions
and
560 deletions
+284
-560
IContingencyOriginalDataDao.java
.../business/dao/repository/IContingencyOriginalDataDao.java
+6
-0
ContingencyInstanceImpl.java
...os/fas/business/service/impl/ContingencyInstanceImpl.java
+277
-559
RiskSourceServiceImpl.java
...amos/fas/business/service/impl/RiskSourceServiceImpl.java
+1
-1
No files found.
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/dao/repository/IContingencyOriginalDataDao.java
View file @
dbb0c867
...
@@ -27,4 +27,10 @@ public interface IContingencyOriginalDataDao extends BaseDao<ContingencyOrigina
...
@@ -27,4 +27,10 @@ public interface IContingencyOriginalDataDao extends BaseDao<ContingencyOrigina
int
updateByButton
(
String
confirm
,
Boolean
runstep
,
String
stepState
,
String
batchNo
);
int
updateByButton
(
String
confirm
,
Boolean
runstep
,
String
stepState
,
String
batchNo
);
@Transactional
@Modifying
(
clearAutomatically
=
true
)
@Query
(
value
=
"update contingency_original_data c set c.step = ?1 where c.batch_No = ?2"
,
nativeQuery
=
true
)
int
updateByButtonStep
(
String
step
,
String
batchNo
);
}
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/ContingencyInstanceImpl.java
View file @
dbb0c867
//<<<<<<< HEAD
package
com
.
yeejoin
.
amos
.
fas
.
business
.
service
.
impl
;
////package com.yeejoin.amos.fas.business.service.impl;
////
import
com.yeejoin.amos.component.rule.RuleTrigger
;
////
import
com.yeejoin.amos.fas.business.action.ContingencyAction
;
////import com.yeejoin.amos.fas.business.action.ContingencyAction;
import
com.yeejoin.amos.fas.business.action.result.BubbleTipResult
;
////import com.yeejoin.amos.fas.business.action.result.BubbleTipResult;
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.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.RemoteRuleServer
;
////import com.yeejoin.amos.fas.business.feign.RemoteRuleServer;
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.model.ContingencyRo
;
////import com.yeejoin.amos.fas.business.service.model.ContingencyRo;
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.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.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
;
////import org.springframework.beans.BeanUtils;
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.http.HttpEntity;
import
org.springframework.http.HttpEntity
;
////import org.springframework.http.HttpMethod;
import
org.springframework.http.HttpMethod
;
////import org.springframework.scheduling.annotation.Async;
import
org.springframework.scheduling.annotation.Async
;
////import org.springframework.stereotype.Service;
import
org.springframework.stereotype.Service
;
////import org.springframework.util.CollectionUtils;
import
org.springframework.util.CollectionUtils
;
////import org.springframework.web.client.RestTemplate;
import
org.springframework.web.client.RestTemplate
;
////import org.typroject.tyboot.component.cache.Redis;
import
org.typroject.tyboot.component.cache.Redis
;
////
////import java.util.HashMap;
import
java.util.HashMap
;
////import java.util.List;
import
java.util.List
;
////import java.util.Map;
import
java.util.Map
;
////import java.util.Optional;
import
java.util.Optional
;
////
////@Service
@Service
////public class ContingencyInstanceImpl {
public
class
ContingencyInstanceImpl
/*extends GenericManagerImpl<ContingencyPlanInstance, String>*/
implements
IContingencyInstance
{
////
//// private static final Logger log = LoggerFactory.getLogger(ContingencyInstanceImpl.class);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
ContingencyInstanceImpl
.
class
);
//////
////// @Autowired
@Autowired
////// private IContingencyPlanInstanceRepository repository;
private
IContingencyPlanInstanceRepository
repository
;
//////
//////
////// @Autowired
@Autowired
////// IContingencyOriginalDataDao iContingencyOriginalDataDao;
IContingencyOriginalDataDao
iContingencyOriginalDataDao
;
//////
//////
////// @Autowired
@Autowired
////// private RemoteRuleServer remoteRuleServer;
private
RemoteRuleServer
remoteRuleServer
;
//////
////// @Autowired
@Autowired
////// private RestTemplate restTemplate;
private
RestTemplate
restTemplate
;
//////
////// @Autowired
@Autowired
////// private ImpAndFireEquipMapper impAndFireEquipMapper;
private
ImpAndFireEquipMapper
impAndFireEquipMapper
;
//////
////// @Autowired
@Autowired
////// private RedisTemplate redisTemplate;
private
RedisTemplate
redisTemplate
;
//////
//////
////// @Value("${params.remoteRuleUrl}")
@Value
(
"${params.remoteRuleUrl}"
)
////// private String remoteRuleUrl;
private
String
remoteRuleUrl
;
//////
//////
////// private static Map<String, String> stepMap = new HashMap<>();
private
static
Map
<
String
,
String
>
stepMap
=
new
HashMap
<>();
//////
////// @Autowired
@Autowired
////// private RuleTrigger ruleTrigger;
private
RuleTrigger
ruleTrigger
;
//////
////// /* public ContingencyInstanceImpl(IContingencyPlanInstanceRepository repository) {
/* public ContingencyInstanceImpl(IContingencyPlanInstanceRepository repository) {
////// super(repository);
super(repository);
////// this.repository = repository;
this.repository = repository;
////// }*/
}*/
//////
//////
////// /**
/**
////// * 创建预案执行记录
* 创建预案执行记录
////// *
*
////// * @param category 一级分类
* @param category 一级分类
////// * @param subCategory 二级分类
* @param subCategory 二级分类
////// * @param content 信息内容
* @param content 信息内容
////// * @param recordType 信息分类
* @param recordType 信息分类
////// * @param icon 信息显示图标
* @param icon 信息显示图标
////// */
*/
////// public ContingencyPlanInstance createInstanceRecord(String instanceNo, String category, String subCategory, String content, String recordType, String icon) {
public
ContingencyPlanInstance
createInstanceRecord
(
String
instanceNo
,
String
category
,
String
subCategory
,
String
content
,
String
recordType
,
String
icon
)
{
////// ContingencyPlanInstance planInstance = new ContingencyPlanInstance();
ContingencyPlanInstance
planInstance
=
new
ContingencyPlanInstance
();
//////
////// planInstance.setContent(content);
planInstance
.
setContent
(
content
);
////// planInstance.setIcon(icon);
planInstance
.
setIcon
(
icon
);
////// planInstance.setRecordType(recordType);
planInstance
.
setRecordType
(
recordType
);
////// planInstance.setCategory(category);
planInstance
.
setCategory
(
category
);
////// planInstance.setBatchNo(instanceNo);
planInstance
.
setBatchNo
(
instanceNo
);
//////
////// //计算序号
//计算序号
////// int count = repository.countByBatchNo(instanceNo);
int
count
=
repository
.
countByBatchNo
(
instanceNo
);
////// planInstance.setSort(++count);
planInstance
.
setSort
(++
count
);
////// return this.repository.save(planInstance);
return
this
.
repository
.
save
(
planInstance
);
////// }
}
//////
//////
////// /**
/**
////// * 查询时间轴
* 查询时间轴
////// *
*
////// * @param instanceNo
* @param instanceNo
////// * @return
* @return
////// * @throws Exception
* @throws Exception
////// */
*/
////// public List<ContingencyPlanInstance> queryForTimeLine(String instanceNo, String recordType) throws Exception {
public
List
<
ContingencyPlanInstance
>
queryForTimeLine
(
String
instanceNo
,
String
recordType
)
throws
Exception
{
////// List<ContingencyPlanInstance> categorys = repository.queryForCategory(instanceNo, recordType);
List
<
ContingencyPlanInstance
>
categorys
=
repository
.
queryForCategory
(
instanceNo
,
recordType
);
////// return categorys;
return
categorys
;
////// }
}
//////
//////
////// public void fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton) throws Exception {
public
void
fire
(
String
batchNo
,
String
stepCode
,
String
contingencyPlanId
,
String
buttonCode
,
String
buttonState
,
String
stepStateOnbutton
)
throws
Exception
{
////// //火灾误报
//火灾误报
//////
////// ContingencyOriginalData contingencyOriginalData = iContingencyOriginalDataDao.findByBatchNo(batchNo);
ContingencyOriginalData
contingencyOriginalData
=
iContingencyOriginalDataDao
.
findByBatchNo
(
batchNo
);
////// if("FIRE_CANCEL".equals(buttonCode) || "END_EMERGENCY".equals(buttonCode)){
if
(
"FIRE_CANCEL"
.
equals
(
buttonCode
)
||
"END_EMERGENCY"
.
equals
(
buttonCode
)){
////// redisTemplate.delete(RiskSourceServiceImpl.cacheKeyForCanBeRunning());
redisTemplate
.
delete
(
RiskSourceServiceImpl
.
cacheKeyForCanBeRunning
());
////// }else{
}
else
{
////// redisTemplate.opsForValue().setIfAbsent(RiskSourceServiceImpl.cacheKeyForCanBeRunning(),"CONTINGENCYRUNING");
redisTemplate
.
opsForValue
().
setIfAbsent
(
RiskSourceServiceImpl
.
cacheKeyForCanBeRunning
(),
"CONTINGENCYRUNING"
);
////// }
}
////// String stepKey = batchNo + "_" + stepCode;
String
stepKey
=
batchNo
+
"_"
+
stepCode
;
////// if (stepMap.get(stepKey) == null)
if
(
stepMap
.
get
(
stepKey
)
==
null
)
////// stepMap.put(stepKey, "");
stepMap
.
put
(
stepKey
,
""
);
////// if (contingencyOriginalData != null) {
if
(
contingencyOriginalData
!=
null
)
{
////// log.info("数据库中的stepcode:" + contingencyOriginalData.getStep());
log
.
info
(
"数据库中的stepcode:"
+
contingencyOriginalData
.
getStep
());
////// contingencyOriginalData.setConfirm(buttonState);
contingencyOriginalData
.
setConfirm
(
buttonState
);
////// contingencyOriginalData.setRunstep(false);
contingencyOriginalData
.
setRunstep
(
false
);
////// if (contingencyOriginalData.getStepState() == null)
if
(
contingencyOriginalData
.
getStepState
()
==
null
)
////// contingencyOriginalData.setStepState("");
contingencyOriginalData
.
setStepState
(
""
);
//////
////// if ("CONFIRM".equals(buttonState)
if
(
"CONFIRM"
.
equals
(
buttonState
)
////// && !contingencyOriginalData.getStepState().contains(stepStateOnbutton)
&&
!
contingencyOriginalData
.
getStepState
().
contains
(
stepStateOnbutton
)
////// && stepCode.equals(contingencyOriginalData.getStep()))
&&
stepCode
.
equals
(
contingencyOriginalData
.
getStep
()))
////// contingencyOriginalData.setStepState(contingencyOriginalData.getStepState() + stepStateOnbutton);
contingencyOriginalData
.
setStepState
(
contingencyOriginalData
.
getStepState
()
+
stepStateOnbutton
);
//////
//////
////// //请求中的步骤小于以保存的步骤
//请求中的步骤小于以保存的步骤
////// if (Integer.parseInt(stepCode) < Integer.parseInt(contingencyOriginalData.getStep())) {
if
(
Integer
.
parseInt
(
stepCode
)
<
Integer
.
parseInt
(
contingencyOriginalData
.
getStep
()))
{
////// contingencyOriginalData.setRunstep(true);
contingencyOriginalData
.
setRunstep
(
true
);
////// }
}
//////
//////
////// if (Integer.parseInt(stepCode) > Integer.parseInt(contingencyOriginalData.getStep())) {
if
(
Integer
.
parseInt
(
stepCode
)
>
Integer
.
parseInt
(
contingencyOriginalData
.
getStep
()))
{
////// //contingencyOriginalData.setStep(stepCode);
//contingencyOriginalData.setStep(stepCode);
////// contingencyOriginalData.setStepState(stepStateOnbutton);
contingencyOriginalData
.
setStepState
(
stepStateOnbutton
);
////// }
}
//////
//////
////// iContingencyOriginalDataDao.updateByButton(
iContingencyOriginalDataDao
.
updateByButton
(
////// contingencyOriginalData.getConfirm(),
contingencyOriginalData
.
getConfirm
(),
////// contingencyOriginalData.getRunstep(),
contingencyOriginalData
.
getRunstep
(),
////// contingencyOriginalData.getStepState(),
contingencyOriginalData
.
getStepState
(),
////// contingencyOriginalData.getBatchNo());
contingencyOriginalData
.
getBatchNo
());
////// //setButtonExecuted(batchNo,contingencyPlanId, buttonCode,buttonState);
// setButtonExecuted(batchNo,contingencyPlanId, buttonCode,buttonState);
//////
////// //使用原始数据触发规则
//使用原始数据触发规则
//////
//////
////// if ("CONFIRM".equals(buttonState)
if
(
"CONFIRM"
.
equals
(
buttonState
)
////// && !stepMap.get(stepKey).contains(stepStateOnbutton))
&&
!
stepMap
.
get
(
stepKey
).
contains
(
stepStateOnbutton
))
////// stepMap.put(stepKey, stepMap.get(stepKey) + stepStateOnbutton);
stepMap
.
put
(
stepKey
,
stepMap
.
get
(
stepKey
)
+
stepStateOnbutton
);
//////
////// ContingencyRo contingencyRo = new ContingencyRo();
ContingencyRo
contingencyRo
=
new
ContingencyRo
();
////// contingencyRo.setButtonCode(buttonCode);
contingencyRo
.
setButtonCode
(
buttonCode
);
////// contingencyRo.setButtonState(buttonState);
contingencyRo
.
setButtonState
(
buttonState
);
////// BeanUtils.copyProperties(contingencyOriginalData, contingencyRo);
BeanUtils
.
copyProperties
(
contingencyOriginalData
,
contingencyRo
);
////// contingencyRo.setStep(stepCode);
contingencyRo
.
setStep
(
stepCode
);
////// contingencyRo.setStepState(stepMap.get(stepKey));
contingencyRo
.
setStepState
(
stepMap
.
get
(
stepKey
));
////// log.info("stepstate:" + contingencyRo.getStepState());
log
.
info
(
"stepstate:"
+
contingencyRo
.
getStepState
());
//////
//////
////// Equipment equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(Long.parseLong(contingencyRo.getFireEquipmentId()));
Equipment
equipment
=
impAndFireEquipMapper
.
queryImpEqumtByFireEquipmt
(
Long
.
parseLong
(
contingencyRo
.
getFireEquipmentId
()));
////// //Object result = remoteRuleServer.fireRuleFlow(contingencyRo, equipment.getReservePlan(),equipment.getName());
//Object result = remoteRuleServer.fireRuleFlow(contingencyRo, equipment.getReservePlan(),equipment.getName());
////// ruleTrigger.publish(contingencyRo, equipment.getReservePlan());
ruleTrigger
.
publish
(
contingencyRo
,
equipment
.
getReservePlan
(),
ArrayUtils
.
toArray
(
equipment
.
getName
()));
//////
////// BubbleTipResult result1 = new BubbleTipResult();
BubbleTipResult
result1
=
new
BubbleTipResult
();
////// Map<String, Object> tempmap2 = new HashMap<>();
Map
<
String
,
Object
>
tempmap2
=
new
HashMap
<>();
////// tempmap2.put("refresh","refresh");
tempmap2
.
put
(
"refresh"
,
"refresh"
);
////// tempmap2.put("batchNo",batchNo);
tempmap2
.
put
(
"batchNo"
,
batchNo
);
////// ContingencyAction.sendcmd("fromws","recordArea","refresh",result1);
ContingencyAction
.
sendcmd
(
"fromws"
,
"recordArea"
,
"refresh"
,
result1
);
////// // String url = remoteRuleUrl + "/urule/rule/refreshTimeline?batchNo=" + batchNo;
// String url = remoteRuleUrl + "/urule/rule/refreshTimeline?batchNo=" + batchNo;
////// //restTemplate.exchange(url, HttpMethod.GET, HttpEntity.EMPTY, Object.class);
//restTemplate.exchange(url, HttpMethod.GET, HttpEntity.EMPTY, Object.class);
////// } else {
}
else
{
////// throw new Exception("数据异常,请联系管理员.");
throw
new
Exception
(
"数据异常,请联系管理员."
);
////// }
}
////// }
}
//////
//////
////// public void setButtonExecuted(String batchNo, String contingencyPlanId, String code, String buttonState) throws Exception {
public
void
setButtonExecuted
(
String
batchNo
,
String
contingencyPlanId
,
String
code
,
String
buttonState
)
throws
Exception
{
////// ObjectMapper objectMapper = new ObjectMapper();
ObjectMapper
objectMapper
=
new
ObjectMapper
();
////// Optional<ContingencyPlanInstance> contingencyPlanInstance1 = repository.findById(contingencyPlanId);
Optional
<
ContingencyPlanInstance
>
contingencyPlanInstance1
=
repository
.
findById
(
contingencyPlanId
);
//////
////// ContingencyPlanInstance contingencyPlanInstance=contingencyPlanInstance1.get();
ContingencyPlanInstance
contingencyPlanInstance
=
contingencyPlanInstance1
.
get
();
//////
////// if(contingencyPlanInstance1.isPresent()){
if
(
contingencyPlanInstance1
.
isPresent
()){
////// if (contingencyPlanInstance != null && "OPERATE".equals(contingencyPlanInstance.getRecordType())) {
if
(
contingencyPlanInstance
!=
null
&&
"OPERATE"
.
equals
(
contingencyPlanInstance
.
getRecordType
()))
{
////// String operateJson = contingencyPlanInstance.getContent();
String
operateJson
=
contingencyPlanInstance
.
getContent
();
////// OperateGroup operateGroup = objectMapper.readValue(operateJson, OperateGroup.class);
OperateGroup
operateGroup
=
objectMapper
.
readValue
(
operateJson
,
OperateGroup
.
class
);
//////
////// List<Operate> operates = operateGroup.getOperate();
List
<
Operate
>
operates
=
operateGroup
.
getOperate
();
////// if (!CollectionUtils.isEmpty(operates)) {
if
(!
CollectionUtils
.
isEmpty
(
operates
))
{
////// for (Operate operate : operates) {
for
(
Operate
operate
:
operates
)
{
//////
////// if (code.equals(operate.getCode()) && ("executed".equals(operate.getState()) || "disable".equals(operate.getState()))){
if
(
code
.
equals
(
operate
.
getCode
())
&&
(
"executed"
.
equals
(
operate
.
getState
())
||
"disable"
.
equals
(
operate
.
getState
()))){
////// if("FIRE_CANCEL".equals(code) || "END_EMERGENCY".equals(code)){
if
(
"FIRE_CANCEL"
.
equals
(
code
)
||
"END_EMERGENCY"
.
equals
(
code
)){
////// redisTemplate.delete(RiskSourceServiceImpl.cacheKeyForCanBeRunning());
redisTemplate
.
delete
(
RiskSourceServiceImpl
.
cacheKeyForCanBeRunning
());
////// }
}
////// throw new Exception("请勿重复操作.");
throw
new
Exception
(
"请勿重复操作."
);
////// }
}
//////
//////
////// if ("CONFIRM".equals(buttonState)) {
if
(
"CONFIRM"
.
equals
(
buttonState
))
{
////// if (code.equals(operate.getCode())) {
if
(
code
.
equals
(
operate
.
getCode
()))
{
////// operate.setState("executed");
operate
.
setState
(
"executed"
);
////// if("FIRE_CANCEL".equals(code) || "END_EMERGENCY".equals(code))
if
(
"FIRE_CANCEL"
.
equals
(
code
)
||
"END_EMERGENCY"
.
equals
(
code
))
////// redisTemplate.delete(RiskSourceServiceImpl.cacheKeyForCanBeRunning());
redisTemplate
.
delete
(
RiskSourceServiceImpl
.
cacheKeyForCanBeRunning
());
////// } else {
}
else
{
////// operate.setState("disable");
operate
.
setState
(
"disable"
);
////// }
}
////// }
}
////// }
}
////// }
}
//////
//////
////// if (buttonState.equals("CONFIRM"))
if
(
buttonState
.
equals
(
"CONFIRM"
))
////// contingencyPlanInstance.setRunstate(true);
contingencyPlanInstance
.
setRunstate
(
true
);
////// operateJson = objectMapper.writeValueAsString(operateGroup);
operateJson
=
objectMapper
.
writeValueAsString
(
operateGroup
);
////// contingencyPlanInstance.setContent(operateJson);
contingencyPlanInstance
.
setContent
(
operateJson
);
////// repository.save(contingencyPlanInstance);
repository
.
save
(
contingencyPlanInstance
);
////// }
}
////// }
}
//////
////// }
}
//////
////// public void setButtonWait(String batchNo, String contingencyPlanId, String buttonState) throws Exception {
public
void
setButtonWait
(
String
batchNo
,
String
contingencyPlanId
,
String
buttonState
)
throws
Exception
{
////// ObjectMapper objectMapper = new ObjectMapper();
ObjectMapper
objectMapper
=
new
ObjectMapper
();
////// Optional<ContingencyPlanInstance> contingencyPlanInstance1 = repository.findById(contingencyPlanId);
Optional
<
ContingencyPlanInstance
>
contingencyPlanInstance1
=
repository
.
findById
(
contingencyPlanId
);
////// ContingencyPlanInstance contingencyPlanInstance=null;
ContingencyPlanInstance
contingencyPlanInstance
=
null
;
////// if(contingencyPlanInstance1.isPresent()){
if
(
contingencyPlanInstance1
.
isPresent
()){
////// contingencyPlanInstance=contingencyPlanInstance1.get();
contingencyPlanInstance
=
contingencyPlanInstance1
.
get
();
////// }
}
//////
////// if (contingencyPlanInstance != null && "OPERATE".equals(contingencyPlanInstance.getRecordType())) {
if
(
contingencyPlanInstance
!=
null
&&
"OPERATE"
.
equals
(
contingencyPlanInstance
.
getRecordType
()))
{
////// String operateJson = contingencyPlanInstance.getContent();
String
operateJson
=
contingencyPlanInstance
.
getContent
();
////// OperateGroup operateGroup = objectMapper.readValue(operateJson, OperateGroup.class);
OperateGroup
operateGroup
=
objectMapper
.
readValue
(
operateJson
,
OperateGroup
.
class
);
//////
////// List<Operate> operates = operateGroup.getOperate();
List
<
Operate
>
operates
=
operateGroup
.
getOperate
();
////// if (!CollectionUtils.isEmpty(operates)) {
if
(!
CollectionUtils
.
isEmpty
(
operates
))
{
////// for (Operate operate : operates) {
for
(
Operate
operate
:
operates
)
{
//////
////// if ("CONFIRM".equals(buttonState)) {
if
(
"CONFIRM"
.
equals
(
buttonState
))
{
////// operate.setState("executed");
operate
.
setState
(
"executed"
);
////// }
}
////// }
}
////// }
}
//////
//////
////// if (buttonState.equals("CONFIRM"))
if
(
buttonState
.
equals
(
"CONFIRM"
))
////// contingencyPlanInstance.setRunstate(true);
contingencyPlanInstance
.
setRunstate
(
true
);
////// operateJson = objectMapper.writeValueAsString(operateGroup);
operateJson
=
objectMapper
.
writeValueAsString
(
operateGroup
);
////// contingencyPlanInstance.setContent(operateJson);
contingencyPlanInstance
.
setContent
(
operateJson
);
////// repository.save(contingencyPlanInstance);
repository
.
save
(
contingencyPlanInstance
);
////// }
}
////// }
}
//////
//////
////// @Override
@Override
////// public void updateStep(String step, String batchNo) {
public
void
updateStep
(
String
step
,
String
batchNo
)
{
////// // TODO Auto-generated method stub
iContingencyOriginalDataDao
.
updateByButtonStep
(
step
,
batchNo
);
//////
}
////// }
}
////}
//=======
//package com.yeejoin.amos.fas.business.service.impl;
//
//import com.yeejoin.amos.component.rule.RuleTrigger;
//import com.yeejoin.amos.fas.business.action.ContingencyAction;
//import com.yeejoin.amos.fas.business.action.result.BubbleTipResult;
//import com.yeejoin.amos.fas.business.dao.mapper.ImpAndFireEquipMapper;
//import com.yeejoin.amos.fas.business.dao.repository.IContingencyOriginalDataDao;
//import com.yeejoin.amos.fas.business.dao.repository.IContingencyPlanInstanceRepository;
//import com.yeejoin.amos.fas.business.feign.RemoteRuleServer;
//import com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance;
//import com.yeejoin.amos.fas.business.service.model.ContingencyRo;
//import com.yeejoin.amos.fas.business.service.model.Operate;
//import com.yeejoin.amos.fas.business.service.model.OperateGroup;
//import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData;
//import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
//import com.yeejoin.amos.fas.dao.entity.Equipment;
//
//import org.apache.commons.lang3.ArrayUtils;
//import org.codehaus.jackson.map.ObjectMapper;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.BeanUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.http.HttpEntity;
//import org.springframework.http.HttpMethod;
//import org.springframework.scheduling.annotation.Async;
//import org.springframework.stereotype.Service;
//import org.springframework.util.CollectionUtils;
//import org.springframework.web.client.RestTemplate;
//import org.typroject.tyboot.component.cache.Redis;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.Optional;
//
//@Service
//public class ContingencyInstanceImpl /*extends GenericManagerImpl<ContingencyPlanInstance, String>*/ implements IContingencyInstance {
//
// private static final Logger log = LoggerFactory.getLogger(ContingencyInstanceImpl.class);
//
// @Autowired
// private IContingencyPlanInstanceRepository repository;
//
//
// @Autowired
// IContingencyOriginalDataDao iContingencyOriginalDataDao;
//
//
// @Autowired
// private RemoteRuleServer remoteRuleServer;
//
// @Autowired
// private RestTemplate restTemplate;
//
// @Autowired
// private ImpAndFireEquipMapper impAndFireEquipMapper;
//
// @Autowired
// private RedisTemplate redisTemplate;
//
//
// @Value("${params.remoteRuleUrl}")
// private String remoteRuleUrl;
//
//
// private static Map<String, String> stepMap = new HashMap<>();
//
// @Autowired
// private RuleTrigger ruleTrigger;
//
// /* public ContingencyInstanceImpl(IContingencyPlanInstanceRepository repository) {
// super(repository);
// this.repository = repository;
// }*/
//
//
// /**
// * 创建预案执行记录
// *
// * @param category 一级分类
// * @param subCategory 二级分类
// * @param content 信息内容
// * @param recordType 信息分类
// * @param icon 信息显示图标
// */
// public ContingencyPlanInstance createInstanceRecord(String instanceNo, String category, String subCategory, String content, String recordType, String icon) {
// ContingencyPlanInstance planInstance = new ContingencyPlanInstance();
//
// planInstance.setContent(content);
// planInstance.setIcon(icon);
// planInstance.setRecordType(recordType);
// planInstance.setCategory(category);
// planInstance.setBatchNo(instanceNo);
//
// //计算序号
// int count = repository.countByBatchNo(instanceNo);
// planInstance.setSort(++count);
// return this.repository.save(planInstance);
// }
//
//
// /**
// * 查询时间轴
// *
// * @param instanceNo
// * @return
// * @throws Exception
// */
// public List<ContingencyPlanInstance> queryForTimeLine(String instanceNo, String recordType) throws Exception {
// List<ContingencyPlanInstance> categorys = repository.queryForCategory(instanceNo, recordType);
// return categorys;
// }
//
//
// public void fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton) throws Exception {
// //火灾误报
//
// ContingencyOriginalData contingencyOriginalData = iContingencyOriginalDataDao.findByBatchNo(batchNo);
// if("FIRE_CANCEL".equals(buttonCode) || "END_EMERGENCY".equals(buttonCode)){
// redisTemplate.delete(RiskSourceServiceImpl.cacheKeyForCanBeRunning());
// }else{
// redisTemplate.opsForValue().setIfAbsent(RiskSourceServiceImpl.cacheKeyForCanBeRunning(),"CONTINGENCYRUNING");
// }
// String stepKey = batchNo + "_" + stepCode;
// if (stepMap.get(stepKey) == null)
// stepMap.put(stepKey, "");
// if (contingencyOriginalData != null) {
// log.info("数据库中的stepcode:" + contingencyOriginalData.getStep());
// contingencyOriginalData.setConfirm(buttonState);
// contingencyOriginalData.setRunstep(false);
// if (contingencyOriginalData.getStepState() == null)
// contingencyOriginalData.setStepState("");
//
// if ("CONFIRM".equals(buttonState)
// && !contingencyOriginalData.getStepState().contains(stepStateOnbutton)
// && stepCode.equals(contingencyOriginalData.getStep()))
// contingencyOriginalData.setStepState(contingencyOriginalData.getStepState() + stepStateOnbutton);
//
//
// //请求中的步骤小于以保存的步骤
// if (Integer.parseInt(stepCode) < Integer.parseInt(contingencyOriginalData.getStep())) {
// contingencyOriginalData.setRunstep(true);
// }
//
//
// if (Integer.parseInt(stepCode) > Integer.parseInt(contingencyOriginalData.getStep())) {
// //contingencyOriginalData.setStep(stepCode);
// contingencyOriginalData.setStepState(stepStateOnbutton);
// }
//
//
// iContingencyOriginalDataDao.updateByButton(
// contingencyOriginalData.getConfirm(),
// contingencyOriginalData.getRunstep(),
// contingencyOriginalData.getStepState(),
// contingencyOriginalData.getBatchNo());
// //setButtonExecuted(batchNo,contingencyPlanId, buttonCode,buttonState);
//
// //使用原始数据触发规则
//
//
// if ("CONFIRM".equals(buttonState)
// && !stepMap.get(stepKey).contains(stepStateOnbutton))
// stepMap.put(stepKey, stepMap.get(stepKey) + stepStateOnbutton);
//
// ContingencyRo contingencyRo = new ContingencyRo();
// contingencyRo.setButtonCode(buttonCode);
// contingencyRo.setButtonState(buttonState);
// BeanUtils.copyProperties(contingencyOriginalData, contingencyRo);
// contingencyRo.setStep(stepCode);
// contingencyRo.setStepState(stepMap.get(stepKey));
// log.info("stepstate:" + contingencyRo.getStepState());
//
//
// Equipment equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(Long.parseLong(contingencyRo.getFireEquipmentId()));
// //Object result = remoteRuleServer.fireRuleFlow(contingencyRo, equipment.getReservePlan(),equipment.getName());
// equipment.setName("极Ⅰ高端YY换流变A相");
// ruleTrigger.publish(contingencyRo, equipment.getReservePlan(), ArrayUtils.toArray(equipment.getName()));
//
// BubbleTipResult result1 = new BubbleTipResult();
// Map<String, Object> tempmap2 = new HashMap<>();
// tempmap2.put("refresh","refresh");
// tempmap2.put("batchNo",batchNo);
// ContingencyAction.sendcmd("fromws","recordArea","refresh",result1);
// // String url = remoteRuleUrl + "/urule/rule/refreshTimeline?batchNo=" + batchNo;
// //restTemplate.exchange(url, HttpMethod.GET, HttpEntity.EMPTY, Object.class);
// } else {
// throw new Exception("数据异常,请联系管理员.");
// }
// }
//
//
// public void setButtonExecuted(String batchNo, String contingencyPlanId, String code, String buttonState) throws Exception {
// ObjectMapper objectMapper = new ObjectMapper();
// Optional<ContingencyPlanInstance> contingencyPlanInstance1 = repository.findById(contingencyPlanId);
//
// ContingencyPlanInstance contingencyPlanInstance=contingencyPlanInstance1.get();
//
// if(contingencyPlanInstance1.isPresent()){
// if (contingencyPlanInstance != null && "OPERATE".equals(contingencyPlanInstance.getRecordType())) {
// String operateJson = contingencyPlanInstance.getContent();
// OperateGroup operateGroup = objectMapper.readValue(operateJson, OperateGroup.class);
//
// List<Operate> operates = operateGroup.getOperate();
// if (!CollectionUtils.isEmpty(operates)) {
// for (Operate operate : operates) {
//
// if (code.equals(operate.getCode()) && ("executed".equals(operate.getState()) || "disable".equals(operate.getState()))){
// if("FIRE_CANCEL".equals(code) || "END_EMERGENCY".equals(code)){
// redisTemplate.delete(RiskSourceServiceImpl.cacheKeyForCanBeRunning());
// }
// throw new Exception("请勿重复操作.");
// }
//
//
// if ("CONFIRM".equals(buttonState)) {
// if (code.equals(operate.getCode())) {
// operate.setState("executed");
// if("FIRE_CANCEL".equals(code) || "END_EMERGENCY".equals(code))
// redisTemplate.delete(RiskSourceServiceImpl.cacheKeyForCanBeRunning());
// } else {
// operate.setState("disable");
// }
// }
// }
// }
//
//
// if (buttonState.equals("CONFIRM"))
// contingencyPlanInstance.setRunstate(true);
// operateJson = objectMapper.writeValueAsString(operateGroup);
// contingencyPlanInstance.setContent(operateJson);
// repository.save(contingencyPlanInstance);
// }
// }
//
// }
//
// public void setButtonWait(String batchNo, String contingencyPlanId, String buttonState) throws Exception {
// ObjectMapper objectMapper = new ObjectMapper();
// Optional<ContingencyPlanInstance> contingencyPlanInstance1 = repository.findById(contingencyPlanId);
// ContingencyPlanInstance contingencyPlanInstance=null;
// if(contingencyPlanInstance1.isPresent()){
// contingencyPlanInstance=contingencyPlanInstance1.get();
// }
//
// if (contingencyPlanInstance != null && "OPERATE".equals(contingencyPlanInstance.getRecordType())) {
// String operateJson = contingencyPlanInstance.getContent();
// OperateGroup operateGroup = objectMapper.readValue(operateJson, OperateGroup.class);
//
// List<Operate> operates = operateGroup.getOperate();
// if (!CollectionUtils.isEmpty(operates)) {
// for (Operate operate : operates) {
//
// if ("CONFIRM".equals(buttonState)) {
// operate.setState("executed");
// }
// }
// }
//
//
// if (buttonState.equals("CONFIRM"))
// contingencyPlanInstance.setRunstate(true);
// operateJson = objectMapper.writeValueAsString(operateGroup);
// contingencyPlanInstance.setContent(operateJson);
// repository.save(contingencyPlanInstance);
// }
// }
//
//
// @Override
// public void updateStep(String step, String batchNo) {
// // TODO Auto-generated method stub
//
// }
//}
//>>>>>>> 28409f79427e917f31bc936696f98f961a5dd24d
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/RiskSourceServiceImpl.java
View file @
dbb0c867
...
@@ -485,7 +485,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
...
@@ -485,7 +485,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
}
}
//Object result = remoteRuleServer.fireRuleFlow(contingencyRo, equipment.getReservePlan(), equipment.getName());
//Object result = remoteRuleServer.fireRuleFlow(contingencyRo, equipment.getReservePlan(), equipment.getName());
// ruleTrigger.publish(contingencyRo, equipment.getReservePlan(
));
ruleTrigger
.
publish
(
contingencyRo
,
equipment
.
getReservePlan
(),
ArrayUtils
.
toArray
(
equipment
.
getName
()
));
ContingencyOriginalData
contingencyOriginalData
=
new
ContingencyOriginalData
();
ContingencyOriginalData
contingencyOriginalData
=
new
ContingencyOriginalData
();
BeanUtils
.
copyProperties
(
contingencyRo
,
contingencyOriginalData
);
BeanUtils
.
copyProperties
(
contingencyRo
,
contingencyOriginalData
);
iContingencyOriginalDataDao
.
save
(
contingencyOriginalData
);
iContingencyOriginalDataDao
.
save
(
contingencyOriginalData
);
...
...
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