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
6d13cee1
Commit
6d13cee1
authored
May 28, 2020
by
单奇雲
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_upgrade' of
http://172.16.10.76/station/YeeAmosFireAutoSysRoot
into dev_upgrade
parents
4477efa1
baf46507
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1144 additions
and
1258 deletions
+1144
-1258
MessageRo.java
.../main/java/com/yeejoin/amos/fas/dao/entity/MessageRo.java
+105
-0
ContingencyAction.java
...m/yeejoin/amos/fas/business/action/ContingencyAction.java
+437
-437
SimpleTipAction.java
...com/yeejoin/amos/fas/business/action/SimpleTipAction.java
+68
-65
TimeLineController.java
...join/amos/fas/business/controller/TimeLineController.java
+183
-181
IContingencyOriginalDataDao.java
.../business/dao/repository/IContingencyOriginalDataDao.java
+6
-0
IMessageDao.java
...yeejoin/amos/fas/business/dao/repository/IMessageDao.java
+7
-0
ContingencyInstanceImpl.java
...os/fas/business/service/impl/ContingencyInstanceImpl.java
+271
-559
MessageServiceImpl.java
...in/amos/fas/business/service/impl/MessageServiceImpl.java
+28
-0
RiskSourceServiceImpl.java
...amos/fas/business/service/impl/RiskSourceServiceImpl.java
+7
-1
IContingencyInstance.java
...amos/fas/business/service/intfc/IContingencyInstance.java
+19
-15
IMessageService.java
...join/amos/fas/business/service/intfc/IMessageService.java
+13
-0
No files found.
YeeAmosFireAutoSysCommon/src/main/java/com/yeejoin/amos/fas/dao/entity/MessageRo.java
0 → 100644
View file @
6d13cee1
package
com
.
yeejoin
.
amos
.
fas
.
dao
.
entity
;
import
java.util.Date
;
import
com.yeejoin.amos.fas.core.common.request.DateUtil
;
/**
*
* <pre>
* RO基础信息
* </pre>
*
* @author amos
* @version $Id: BasicsRo.java, v 0.1 2019年5月22日 上午10:44:22 amos Exp $
*/
public
class
MessageRo
extends
BusinessEntity
{
//TODO 添加批次号字段
/**
* 批次号,标记规则执行批次
*/
private
String
batchNo
;
/**
* 所要执行的规则包id
*/
private
String
packageId
;
/**
* <pre>
*
* </pre>
*/
private
static
final
long
serialVersionUID
=
-
2678718393223476996L
;
/**
* id
*/
private
String
id
;
/**
* 当前时间
*/
private
Date
dateTime
=
DateUtil
.
getNow
();
/**
* 当前时间
*/
private
String
currTime
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
Date
getDateTime
()
{
if
(
dateTime
==
null
)
{
return
DateUtil
.
getNow
();
}
return
dateTime
;
}
public
void
setDateTime
(
Date
dateTime
)
{
this
.
dateTime
=
dateTime
;
}
public
String
getCurrTime
()
{
if
(
currTime
==
null
)
{
return
DateUtil
.
getDateTimeFormat
(
dateTime
);
}
return
currTime
;
}
public
void
setCurrTime
(
String
currTime
)
{
this
.
currTime
=
currTime
;
}
public
String
getBatchNo
()
{
return
batchNo
;
}
public
void
setBatchNo
(
String
batchNo
)
{
this
.
batchNo
=
batchNo
;
}
public
String
getPackageId
()
{
return
packageId
;
}
public
void
setPackageId
(
String
packageId
)
{
this
.
packageId
=
packageId
;
}
}
\ No newline at end of file
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/action/ContingencyAction.java
View file @
6d13cee1
//
package com.yeejoin.amos.fas.business.action;
//
//
//
import java.io.IOException;
//
import java.lang.reflect.Constructor;
//
import java.lang.reflect.Field;
//
import java.lang.reflect.Method;
//
import java.text.SimpleDateFormat;
//
import java.util.Date;
//
import java.util.HashMap;
//
import java.util.List;
//
import java.util.Map;
//
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.stereotype.Component;
//
import org.springframework.util.CollectionUtils;
//
//
import com.fasterxml.jackson.databind.ObjectMapper;
//
import com.yeejoin.amos.fas.business.action.result.ActionResult;
//
import com.yeejoin.amos.fas.business.action.result.BubbleTipResult;
//
import com.yeejoin.amos.fas.business.action.result.message.ActionResultMessage;
//
import com.yeejoin.amos.fas.business.service.impl.RuleRunigSnapshotServiceImpl;
//
import com.yeejoin.amos.fas.business.service.intfc.FireStengthService;
//
import com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance;
//
import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService;
//
import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus;
//
import com.yeejoin.amos.fas.business.service.model.ContingencyRo;
//
import com.yeejoin.amos.fas.business.util.StringUtil;
//
import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
//
import com.yeejoin.amos.fas.dao.entity.FireStrength;
//
//
@Component
//
public class ContingencyAction implements CustomerAction {
//
//
//
private static String PACKAGEURL = "com.yeejoin.amos.fas.business.action.result.message.";
//
//
@Autowired
//
private IContingencyInstance iContingencyInstance;
//
//
@Autowired
//
private FireStengthService fireStrengthService;
//
//
// private RestTemplate restTemplate = new RestTemplate();
//
//
// @Value("${bussunis.domain}")
//
// private String bussunisDomain ;
//
//
@Autowired
//
private IRiskSourceService riskSourceService;
//
//
private static Map<String, String> OPERATE_RECORD_ID = new HashMap<>();
//
//
private static Map<String, Map<String,String>> stringStringMap = new HashMap<>();
//
static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
//
//
//当值值班长(S1)、副值班长(S2)、值班员(A1,A2,A3)、白班值班员、保安人员、驻站消防队长(F1)
//
/* private static Map<String, String> positionMap = new HashMap<String, String>() {{
//
put("S1", "S1");
//
put("S2", "S2");
//
put("A1", "A1");
//
put("A2", "A2");
//
put("A3", "A3");
//
put("F1", "F1");
//
}};
//
*/
//
//
private Map<String, String> getStrengthMap(String batchNo) {
//
//
Map<String,String> returnMap = stringStringMap.get(batchNo);
//
if (CollectionUtils.isEmpty(returnMap)) {
//
stringStringMap = new HashMap<>();
//
returnMap = new HashMap<>();
//
//
//
//
Date now = new Date();
//
String time = sdf.format(now);
//
//
//
List<FireStrength> strengths = fireStrengthService.queryForStrengthList(time);
//
// List<FireStrength> strengths = iStrengthRepository.queryForStrengthList(time);
//
//
if (!CollectionUtils.isEmpty(strengths))
//
{
//
for (FireStrength fireStrength : strengths)
//
{
//
String name = returnMap.get(fireStrength.getPosition());
//
if (StringUtil.isNotEmpty(name))
//
{
//
returnMap.put(fireStrength.getPosition(), name + "、" + fireStrength.getUsername());
//
}else
//
{
//
returnMap.put(fireStrength.getPosition(), fireStrength.getUsername());
//
}
//
}
//
}
//
stringStringMap.put(batchNo,returnMap);
//
}
//
return returnMap;
//
}
//
//
//
public static void sendcmd(String firstStr, String secondStr, String thirdStr, BubbleTipResult result) {
//
//
Constructor<?> constructor;
//
try {
//
constructor = Class.forName(
//
PACKAGEURL + result.getClass().getSimpleName() + "Message")
//
.getConstructor(ActionResult.class);
//
ActionResultMessage<?> action = (ActionResultMessage<?>) constructor.newInstance(result);
//
action.execute(firstStr, secondStr, thirdStr);
//
} catch (Exception e) {
//
e.printStackTrace();
//
}
//
}
//
//
//
/**
//
* @param stepCode 当前步骤编号
//
* @param stepName 当前步骤名称
//
* @param state 当前步骤状态
//
* @param nextStepCode 下一步编号
//
* @param nextStepName 下一步名称
//
* @param stepType 步骤类型,总览步骤、详细步骤
//
* @param paramObj 预案对象
//
*/
//
public void stepInfo(String stepCode, String stepName, String state, String nextStepCode, String nextStepName, String stepType, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//
//
BubbleTipResult result = new BubbleTipResult();
//
Map<String, Object> tempmap1 = new HashMap<>();
//
//
tempmap1.put("stepCode", stepCode);
//
tempmap1.put("stepName", stepName);
//
tempmap1.put("state", state);
//
tempmap1.put("nextStepCode", nextStepCode);
//
tempmap1.put("nextStepName", nextStepName);
//
tempmap1.put("batchNo", contingencyRo.getBatchNo());
//
tempmap1.put("contingencyRo", contingencyRo);
//
result.add(tempmap1);
//
//
this.sendcmd("fromws", "stepArea", stepType, result);
//
}
//
//
/**
//
* @param stepCode 当前步骤编号
//
* @param paramObj 预案对象
//
*/
//
public void saveStepInfo(String stepCode, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
iContingencyInstance.updateStep(stepCode, contingencyRo.getBatchNo());
//
}
//
//
//
/**
//
* @param content 消息内容
//
* @param paramObj 预案对象
//
*/
//
public void messageRecord(String content, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//转换content中的变量
//
content = instedParams(content,contingencyRo);
//
//
BubbleTipResult result = new BubbleTipResult();
//
Map<String, Object> tempmap1 = new HashMap<>();
//
//
tempmap1.put("refresh", "refresh");
//
tempmap1.put("batchNo", contingencyRo.getBatchNo());
//
result.add(tempmap1);
//
iContingencyInstance.createInstanceRecord(contingencyRo.getBatchNo(), "", "DEFAULT", content, "MESSAGE", "");
//
this.sendcmd("fromws", "recordArea", "refresh", result);
//
}
//
//
/**
//
* <pre>
//
* 智能辅助
//
* </pre>
//
*
//
* @param step 当前步骤
//
* @param icon 图标
//
* @param title 标题
//
* @param image 图片集合
//
* @param table 表格
//
* @param content 内容
//
* @param paramObj 预案对象
//
*/
//
public void help(String step, String icon, String title, String image, String table, String content, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//
//
//转换智能辅助中的变量
//
content = instedParams(content,contingencyRo);
//
//
BubbleTipResult result = new BubbleTipResult();
//
Map<String, Object> tempmap1 = new HashMap<>();
//
//
tempmap1.put("icon", icon);
//
tempmap1.put("step", step);
//
tempmap1.put("title", title);
//
tempmap1.put("content", content);
//
tempmap1.put("image", image);
//
tempmap1.put("table", table);
//
tempmap1.put("batchNo", contingencyRo.getBatchNo());
//
tempmap1.put("contingencyRo", contingencyRo);
//
result.add(tempmap1);
//
//
this.sendcmd("fromws", "helpArea", "", result);
//
}
//
//
//
private String instedParams(String content, ContingencyRo contingencyRo) {
//
//
Map<String, String> strengthMap = this.getStrengthMap(contingencyRo.getBatchNo());
//
for (String key : strengthMap.keySet())
//
content = content.replaceAll("\\$\\{" + key + "}", strengthMap.get(key));
//
//
//
/* for (String key : positionMap.keySet())
//
c ontent = content.replaceAll("\\$\\{" + key + "}", positionMap.get(key));
//
*/
//
//
Field[] fields = contingencyRo.getClass().getDeclaredFields();
//
Method getMethod = null;
//
try {
//
for (Field field : fields) {
//
if(field.getName().equals("serialVersionUID"))
//
continue;
//
String fileNameInMethod = String.valueOf(field.getName().charAt(0)).toUpperCase() + field.getName().substring(1);
//
getMethod = contingencyRo.getClass().getMethod("get" + fileNameInMethod);
//
String value = String.valueOf(getMethod.invoke(contingencyRo));
//
content = content.replaceAll("\\$\\{" + field.getName() + "}", value);
//
}
//
//
content = content.replaceAll("\\$\\{", "");
//
content = content.replaceAll("}", "");
//
} catch (Exception e) {
//
e.printStackTrace();
//
}
//
return content;
//
}
//
//
//
/**
//
* 交互动作
//
*
//
* @param actionName 动作名称
//
* @param icon 图标
//
* @param tips 提示信息
//
* @param buttonJson 按钮json字符串
//
* @param paramObj 预案对象
//
*/
//
public void operation(String actionName, String icon, String tips, String buttonJson, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//
//转换content中的变量
//
tips = instedParams(tips,contingencyRo);
//
//
//
BubbleTipResult result = new BubbleTipResult();
//
Map<String, Object> tempmap1 = new HashMap<>();
//
//
//
String contingencyPlanId = getContingencyPlanId(contingencyRo.getBatchNo(), actionName, icon, tips, buttonJson);
//
//
//
tempmap1.put("actionName", actionName);
//
tempmap1.put("icon", icon);
//
tempmap1.put("tips", tips);
//
tempmap1.put("buttonJson", buttonJson);
//
tempmap1.put("batchNo", contingencyRo.getBatchNo());
//
tempmap1.put("contingencyRo", contingencyRo);
//
tempmap1.put("contingencyPlanId", contingencyPlanId);
//
result.add(tempmap1);
//
//
//
this.sendcmd("fromws", "optionArea", "", result);
//
//
//
sendButton(contingencyRo.getBatchNo(),contingencyPlanId,contingencyRo.getEquipmentId(),actionName,buttonJson);
//
//
}
//
//
//
private boolean sendButton(String batchNo,String contingencyPlanId,String equipmentId,String actionName,String buttonJson) {
//
//
// String url = bussunisDomain+ "/api/risksource/contingency/setup";
//
//
ObjectMapper objectMapper = new ObjectMapper();
//
//Map<String,Object> map = new HashMap<>();
//
//
/**
//
* batchNo
//
* stepCode
//
* buttonCode
//
* confirm
//
* contingencyPlanId
//
* stepState
//
*/
//
//
try {
//
Map button = objectMapper.readValue(buttonJson,Map.class);
//
Map operateInstance = (Map)((List)button.get("operate")).get(0);
//
//
map.put("batchNo",batchNo);
//
//
map.put("actionName",actionName);
//
//
map.put("equipmentId",equipmentId);
//
//
map.put("stepCode",button.get("stepCode"));
//
//
map.put("buttonCode",operateInstance.get("code"));
//
//
map.put("confirm","CONFIRM");
//
//
map.put("stepState",operateInstance.get("stepState"));
//
//
map.put("contingencyPlanId",contingencyPlanId);
//
ContingencyDeviceStatus contingencyDeviceStatus = new ContingencyDeviceStatus();
//
contingencyDeviceStatus.setActionName(actionName);
//
contingencyDeviceStatus.setButtonCode(String.valueOf(operateInstance.get("code")));
//
contingencyDeviceStatus.setConfirm("CONFIRM");
//
contingencyDeviceStatus.setContingencyPlanId(contingencyPlanId);
//
contingencyDeviceStatus.setEquipmentId(equipmentId);
//
contingencyDeviceStatus.setStepCode(String.valueOf(button.get("stepCode")));
//
contingencyDeviceStatus.setStepState(String.valueOf(operateInstance.get("stepState")));
//
riskSourceService.queryContingencyDeviceStatus(contingencyDeviceStatus);
//
//HttpEntity<Map> entity = new HttpEntity<>(map);
//
// restTemplate.exchange(url, HttpMethod.POST,entity,Map.class);
//
//
} catch (IOException e) {
//
e.printStackTrace();
//
}
//
//
return false;
//
}
//
//
//
/**
//
* 保存交互动作
//
*
//
* @param actionName 动作名称
//
* @param icon 图标
//
* @param tips 提示信息
//
* @param buttonJson 按钮json字符串
//
* @param paramObj 预案对象
//
*/
//
public void saveOperation(String actionName, String icon, String tips, String buttonJson, Object paramObj) {
//
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//
//转换content中的变量
//
tips = instedParams(tips,contingencyRo);
//
//
BubbleTipResult result1 = new BubbleTipResult();
//
Map<String, Object> tempmap2 = new HashMap<>();
//
tempmap2.put("refresh", "refresh");
//
tempmap2.put("batchNo", contingencyRo.getBatchNo());
//
result1.add(tempmap2);
//
//
String contingencyPlanId = getContingencyPlanId(contingencyRo.getBatchNo(), actionName, icon, tips, buttonJson);
//
//
this.sendcmd("fromws", "recordArea", "refresh", result1);
//
//
}
//
//
private String getContingencyPlanId(String batchNo, String actionName, String icon, String tips, String buttonJson) {
//
String cacheKey = batchNo + actionName;
//
String contingencyPlanId = null;
//
ContingencyPlanInstance contingencyPlanInstance = null;
//
if (OPERATE_RECORD_ID.get(cacheKey) == null) {
//
contingencyPlanInstance = iContingencyInstance.createInstanceRecord(batchNo, actionName, "DEFAULT", buttonJson, "OPERATE", icon);
//
contingencyPlanId = contingencyPlanInstance.getId();
//
OPERATE_RECORD_ID.put(cacheKey, contingencyPlanId);
//
} else {
//
contingencyPlanId = OPERATE_RECORD_ID.get(cacheKey);
//
OPERATE_RECORD_ID.remove(cacheKey);
//
}
//
return contingencyPlanId;
//
}
//
//
//
/**
//
* 地图动作推送
//
*
//
* @param actionName 动作名称标识
//
* @param paramObj 预案对象
//
*/
//
public void mapAction(String actionName, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//
//
BubbleTipResult result = new BubbleTipResult();
//
Map<String, Object> tempmap1 = new HashMap<>();
//
//
tempmap1.put("actionName", actionName);
//
tempmap1.put("batchNo", contingencyRo.getBatchNo());
//
tempmap1.put("contingencyRo", contingencyRo);
//
result.add(tempmap1);
//
//
this.sendcmd("fromws", "mapArea", actionName, result);
//
}
//
//
//
/**
//
* 顶部消息提示
//
*
//
* @param content 消息内容
//
* @param messageType 消息类型 messageType 黑色框消息类型CONTINGENCY,,滚动消息:CURRENTMESSAGE
//
* @param paramObj 预案对象
//
*/
//
public void topMessage(String content, String messageType, Object paramObj) {
//
ContingencyRo contingencyRo = (ContingencyRo) paramObj;
//
stopSnapshop(contingencyRo);
//
//
//
BubbleTipResult result = new BubbleTipResult();
//
Map<String, Object> tempmap1 = new HashMap<>();
//
//转换content中的变量
//
content = instedParams(content,contingencyRo);
//
//
tempmap1.put("content", content);
//
tempmap1.put("messageType", messageType);//消息类型 messageType 黑色框消息类型 CONTINGENCY,,滚动消息:CURRENTMESSAGE
//
tempmap1.put("batchNo", contingencyRo.getBatchNo());
//
tempmap1.put("contingencyRo", contingencyRo);
//
result.add(tempmap1);
//
//
this.sendcmd("fromws", "topArea", messageType, result);
//
}
//
//
//
private void stopSnapshop(ContingencyRo contingencyRo) {
//
if (RuleRunigSnapshotServiceImpl.getReplayBatchNo() != null && !RuleRunigSnapshotServiceImpl.getReplayBatchNo().equals(contingencyRo.getBatchNo()))
//
RuleRunigSnapshotServiceImpl.setReplayBatchNoToNull();
//
}
//
//
}
package
com
.
yeejoin
.
amos
.
fas
.
business
.
action
;
import
java.io.IOException
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Method
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.yeejoin.amos.fas.business.action.result.ActionResult
;
import
com.yeejoin.amos.fas.business.action.result.BubbleTipResult
;
import
com.yeejoin.amos.fas.business.action.result.message.ActionResultMessage
;
import
com.yeejoin.amos.fas.business.service.impl.RuleRunigSnapshotServiceImpl
;
import
com.yeejoin.amos.fas.business.service.intfc.FireStengthService
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance
;
import
com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService
;
import
com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus
;
import
com.yeejoin.amos.fas.business.service.model.ContingencyRo
;
import
com.yeejoin.amos.fas.business.util.StringUtil
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance
;
import
com.yeejoin.amos.fas.dao.entity.FireStrength
;
@Component
public
class
ContingencyAction
implements
CustomerAction
{
private
static
String
PACKAGEURL
=
"com.yeejoin.amos.fas.business.action.result.message."
;
@Autowired
private
IContingencyInstance
iContingencyInstance
;
@Autowired
private
FireStengthService
fireStrengthService
;
// private RestTemplate restTemplate = new RestTemplate();
// @Value("${bussunis.domain}")
// private String bussunisDomain ;
@Autowired
private
IRiskSourceService
riskSourceService
;
private
static
Map
<
String
,
String
>
OPERATE_RECORD_ID
=
new
HashMap
<>();
private
static
Map
<
String
,
Map
<
String
,
String
>>
stringStringMap
=
new
HashMap
<>();
static
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
//当值值班长(S1)、副值班长(S2)、值班员(A1,A2,A3)、白班值班员、保安人员、驻站消防队长(F1)
/* private static Map<String, String> positionMap = new HashMap<String, String>() {{
put("S1", "S1");
put("S2", "S2");
put("A1", "A1");
put("A2", "A2");
put("A3", "A3");
put("F1", "F1");
}};
*/
private
Map
<
String
,
String
>
getStrengthMap
(
String
batchNo
)
{
Map
<
String
,
String
>
returnMap
=
stringStringMap
.
get
(
batchNo
);
if
(
CollectionUtils
.
isEmpty
(
returnMap
))
{
stringStringMap
=
new
HashMap
<>();
returnMap
=
new
HashMap
<>();
Date
now
=
new
Date
();
String
time
=
sdf
.
format
(
now
);
List
<
FireStrength
>
strengths
=
fireStrengthService
.
queryForStrengthList
(
time
);
// List<FireStrength> strengths = iStrengthRepository.queryForStrengthList(time);
if
(!
CollectionUtils
.
isEmpty
(
strengths
))
{
for
(
FireStrength
fireStrength
:
strengths
)
{
String
name
=
returnMap
.
get
(
fireStrength
.
getPosition
());
if
(
StringUtil
.
isNotEmpty
(
name
))
{
returnMap
.
put
(
fireStrength
.
getPosition
(),
name
+
"、"
+
fireStrength
.
getUsername
());
}
else
{
returnMap
.
put
(
fireStrength
.
getPosition
(),
fireStrength
.
getUsername
());
}
}
}
stringStringMap
.
put
(
batchNo
,
returnMap
);
}
return
returnMap
;
}
public
static
void
sendcmd
(
String
firstStr
,
String
secondStr
,
String
thirdStr
,
BubbleTipResult
result
)
{
Constructor
<?>
constructor
;
try
{
constructor
=
Class
.
forName
(
PACKAGEURL
+
result
.
getClass
().
getSimpleName
()
+
"Message"
)
.
getConstructor
(
ActionResult
.
class
);
ActionResultMessage
<?>
action
=
(
ActionResultMessage
<?>)
constructor
.
newInstance
(
result
);
action
.
execute
(
firstStr
,
secondStr
,
thirdStr
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* @param stepCode 当前步骤编号
* @param stepName 当前步骤名称
* @param state 当前步骤状态
* @param nextStepCode 下一步编号
* @param nextStepName 下一步名称
* @param stepType 步骤类型,总览步骤、详细步骤
* @param paramObj 预案对象
*/
public
void
stepInfo
(
String
stepCode
,
String
stepName
,
String
state
,
String
nextStepCode
,
String
nextStepName
,
String
stepType
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
BubbleTipResult
result
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
tempmap1
.
put
(
"stepCode"
,
stepCode
);
tempmap1
.
put
(
"stepName"
,
stepName
);
tempmap1
.
put
(
"state"
,
state
);
tempmap1
.
put
(
"nextStepCode"
,
nextStepCode
);
tempmap1
.
put
(
"nextStepName"
,
nextStepName
);
tempmap1
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
tempmap1
.
put
(
"contingencyRo"
,
contingencyRo
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"fromws"
,
"stepArea"
,
stepType
,
result
);
}
/**
* @param stepCode 当前步骤编号
* @param paramObj 预案对象
*/
public
void
saveStepInfo
(
String
stepCode
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
iContingencyInstance
.
updateStep
(
stepCode
,
contingencyRo
.
getBatchNo
());
}
/**
* @param content 消息内容
* @param paramObj 预案对象
*/
public
void
messageRecord
(
String
content
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
//转换content中的变量
content
=
instedParams
(
content
,
contingencyRo
);
BubbleTipResult
result
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
tempmap1
.
put
(
"refresh"
,
"refresh"
);
tempmap1
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
result
.
add
(
tempmap1
);
iContingencyInstance
.
createInstanceRecord
(
contingencyRo
.
getBatchNo
(),
""
,
"DEFAULT"
,
content
,
"MESSAGE"
,
""
);
this
.
sendcmd
(
"fromws"
,
"recordArea"
,
"refresh"
,
result
);
}
/**
* <pre>
* 智能辅助
* </pre>
*
* @param step 当前步骤
* @param icon 图标
* @param title 标题
* @param image 图片集合
* @param table 表格
* @param content 内容
* @param paramObj 预案对象
*/
public
void
help
(
String
step
,
String
icon
,
String
title
,
String
image
,
String
table
,
String
content
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
//转换智能辅助中的变量
content
=
instedParams
(
content
,
contingencyRo
);
BubbleTipResult
result
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
tempmap1
.
put
(
"icon"
,
icon
);
tempmap1
.
put
(
"step"
,
step
);
tempmap1
.
put
(
"title"
,
title
);
tempmap1
.
put
(
"content"
,
content
);
tempmap1
.
put
(
"image"
,
image
);
tempmap1
.
put
(
"table"
,
table
);
tempmap1
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
tempmap1
.
put
(
"contingencyRo"
,
contingencyRo
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"fromws"
,
"helpArea"
,
""
,
result
);
}
private
String
instedParams
(
String
content
,
ContingencyRo
contingencyRo
)
{
Map
<
String
,
String
>
strengthMap
=
this
.
getStrengthMap
(
contingencyRo
.
getBatchNo
());
for
(
String
key
:
strengthMap
.
keySet
())
content
=
content
.
replaceAll
(
"\\$\\{"
+
key
+
"}"
,
strengthMap
.
get
(
key
));
/* for (String key : positionMap.keySet())
c ontent = content.replaceAll("\\$\\{" + key + "}", positionMap.get(key));
*/
Field
[]
fields
=
contingencyRo
.
getClass
().
getDeclaredFields
();
Method
getMethod
=
null
;
try
{
for
(
Field
field
:
fields
)
{
if
(
field
.
getName
().
equals
(
"serialVersionUID"
))
continue
;
String
fileNameInMethod
=
String
.
valueOf
(
field
.
getName
().
charAt
(
0
)).
toUpperCase
()
+
field
.
getName
().
substring
(
1
);
getMethod
=
contingencyRo
.
getClass
().
getMethod
(
"get"
+
fileNameInMethod
);
String
value
=
String
.
valueOf
(
getMethod
.
invoke
(
contingencyRo
));
content
=
content
.
replaceAll
(
"\\$\\{"
+
field
.
getName
()
+
"}"
,
value
);
}
content
=
content
.
replaceAll
(
"\\$\\{"
,
""
);
content
=
content
.
replaceAll
(
"}"
,
""
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
content
;
}
/**
* 交互动作
*
* @param actionName 动作名称
* @param icon 图标
* @param tips 提示信息
* @param buttonJson 按钮json字符串
* @param paramObj 预案对象
*/
public
void
operation
(
String
actionName
,
String
icon
,
String
tips
,
String
buttonJson
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
//转换content中的变量
tips
=
instedParams
(
tips
,
contingencyRo
);
BubbleTipResult
result
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
String
contingencyPlanId
=
getContingencyPlanId
(
contingencyRo
.
getBatchNo
(),
actionName
,
icon
,
tips
,
buttonJson
);
tempmap1
.
put
(
"actionName"
,
actionName
);
tempmap1
.
put
(
"icon"
,
icon
);
tempmap1
.
put
(
"tips"
,
tips
);
tempmap1
.
put
(
"buttonJson"
,
buttonJson
);
tempmap1
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
tempmap1
.
put
(
"contingencyRo"
,
contingencyRo
);
tempmap1
.
put
(
"contingencyPlanId"
,
contingencyPlanId
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"fromws"
,
"optionArea"
,
""
,
result
);
sendButton
(
contingencyRo
.
getBatchNo
(),
contingencyPlanId
,
contingencyRo
.
getEquipmentId
(),
actionName
,
buttonJson
);
}
private
boolean
sendButton
(
String
batchNo
,
String
contingencyPlanId
,
String
equipmentId
,
String
actionName
,
String
buttonJson
)
{
// String url = bussunisDomain+ "/api/risksource/contingency/setup";
ObjectMapper
objectMapper
=
new
ObjectMapper
();
//Map<String,Object> map = new HashMap<>();
/**
* batchNo
* stepCode
* buttonCode
* confirm
* contingencyPlanId
* stepState
*/
try
{
Map
button
=
objectMapper
.
readValue
(
buttonJson
,
Map
.
class
);
Map
operateInstance
=
(
Map
)((
List
)
button
.
get
(
"operate"
)).
get
(
0
);
// map.put("batchNo",batchNo);
// map.put("actionName",actionName);
// map.put("equipmentId",equipmentId);
// map.put("stepCode",button.get("stepCode"));
// map.put("buttonCode",operateInstance.get("code"));
// map.put("confirm","CONFIRM");
// map.put("stepState",operateInstance.get("stepState"));
// map.put("contingencyPlanId",contingencyPlanId);
ContingencyDeviceStatus
contingencyDeviceStatus
=
new
ContingencyDeviceStatus
();
contingencyDeviceStatus
.
setActionName
(
actionName
);
contingencyDeviceStatus
.
setButtonCode
(
String
.
valueOf
(
operateInstance
.
get
(
"code"
)));
contingencyDeviceStatus
.
setConfirm
(
"CONFIRM"
);
contingencyDeviceStatus
.
setContingencyPlanId
(
contingencyPlanId
);
contingencyDeviceStatus
.
setEquipmentId
(
equipmentId
);
contingencyDeviceStatus
.
setStepCode
(
String
.
valueOf
(
button
.
get
(
"stepCode"
)));
contingencyDeviceStatus
.
setStepState
(
String
.
valueOf
(
operateInstance
.
get
(
"stepState"
)));
riskSourceService
.
queryContingencyDeviceStatus
(
contingencyDeviceStatus
);
//HttpEntity<Map> entity = new HttpEntity<>(map);
// restTemplate.exchange(url, HttpMethod.POST,entity,Map.class);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
/**
* 保存交互动作
*
* @param actionName 动作名称
* @param icon 图标
* @param tips 提示信息
* @param buttonJson 按钮json字符串
* @param paramObj 预案对象
*/
public
void
saveOperation
(
String
actionName
,
String
icon
,
String
tips
,
String
buttonJson
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
//转换content中的变量
tips
=
instedParams
(
tips
,
contingencyRo
);
BubbleTipResult
result1
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap2
=
new
HashMap
<>();
tempmap2
.
put
(
"refresh"
,
"refresh"
);
tempmap2
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
result1
.
add
(
tempmap2
);
String
contingencyPlanId
=
getContingencyPlanId
(
contingencyRo
.
getBatchNo
(),
actionName
,
icon
,
tips
,
buttonJson
);
this
.
sendcmd
(
"fromws"
,
"recordArea"
,
"refresh"
,
result1
);
}
private
String
getContingencyPlanId
(
String
batchNo
,
String
actionName
,
String
icon
,
String
tips
,
String
buttonJson
)
{
String
cacheKey
=
batchNo
+
actionName
;
String
contingencyPlanId
=
null
;
ContingencyPlanInstance
contingencyPlanInstance
=
null
;
if
(
OPERATE_RECORD_ID
.
get
(
cacheKey
)
==
null
)
{
contingencyPlanInstance
=
iContingencyInstance
.
createInstanceRecord
(
batchNo
,
actionName
,
"DEFAULT"
,
buttonJson
,
"OPERATE"
,
icon
);
contingencyPlanId
=
contingencyPlanInstance
.
getId
();
OPERATE_RECORD_ID
.
put
(
cacheKey
,
contingencyPlanId
);
}
else
{
contingencyPlanId
=
OPERATE_RECORD_ID
.
get
(
cacheKey
);
OPERATE_RECORD_ID
.
remove
(
cacheKey
);
}
return
contingencyPlanId
;
}
/**
* 地图动作推送
*
* @param actionName 动作名称标识
* @param paramObj 预案对象
*/
public
void
mapAction
(
String
actionName
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
BubbleTipResult
result
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
tempmap1
.
put
(
"actionName"
,
actionName
);
tempmap1
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
tempmap1
.
put
(
"contingencyRo"
,
contingencyRo
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"fromws"
,
"mapArea"
,
actionName
,
result
);
}
/**
* 顶部消息提示
*
* @param content 消息内容
* @param messageType 消息类型 messageType 黑色框消息类型CONTINGENCY,,滚动消息:CURRENTMESSAGE
* @param paramObj 预案对象
*/
public
void
topMessage
(
String
content
,
String
messageType
,
Object
paramObj
)
{
ContingencyRo
contingencyRo
=
(
ContingencyRo
)
paramObj
;
stopSnapshop
(
contingencyRo
);
BubbleTipResult
result
=
new
BubbleTipResult
();
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
//转换content中的变量
content
=
instedParams
(
content
,
contingencyRo
);
tempmap1
.
put
(
"content"
,
content
);
tempmap1
.
put
(
"messageType"
,
messageType
);
//消息类型 messageType 黑色框消息类型 CONTINGENCY,,滚动消息:CURRENTMESSAGE
tempmap1
.
put
(
"batchNo"
,
contingencyRo
.
getBatchNo
());
tempmap1
.
put
(
"contingencyRo"
,
contingencyRo
);
result
.
add
(
tempmap1
);
this
.
sendcmd
(
"fromws"
,
"topArea"
,
messageType
,
result
);
}
private
void
stopSnapshop
(
ContingencyRo
contingencyRo
)
{
if
(
RuleRunigSnapshotServiceImpl
.
getReplayBatchNo
()
!=
null
&&
!
RuleRunigSnapshotServiceImpl
.
getReplayBatchNo
().
equals
(
contingencyRo
.
getBatchNo
()))
RuleRunigSnapshotServiceImpl
.
setReplayBatchNoToNull
();
}
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/action/SimpleTipAction.java
View file @
6d13cee1
...
...
@@ -14,10 +14,11 @@ import com.yeejoin.amos.fas.business.action.result.ActionResult;
import
com.yeejoin.amos.fas.business.action.result.TipResult
;
import
com.yeejoin.amos.fas.business.action.result.message.ActionResultMessage
;
import
com.yeejoin.amos.fas.business.action.util.DataItemUtil
;
import
com.yeejoin.amos.fas.business.service.
model.BasicsRo
;
import
com.yeejoin.amos.fas.business.service.
intfc.IMessageService
;
import
com.yeejoin.amos.fas.business.service.model.ToipResponse
;
import
com.yeejoin.amos.fas.dao.entity.BusinessEntity
;
import
com.yeejoin.amos.fas.dao.entity.Message
;
import
com.yeejoin.amos.fas.dao.entity.MessageRo
;
/**
*
* <pre>
...
...
@@ -30,71 +31,73 @@ import com.yeejoin.amos.fas.dao.entity.Message;
@Component
public
class
SimpleTipAction
implements
CustomerAction
{
private
static
String
PACKAGEURL
=
"com.yeejoin.amos.rule.map.action.result.message."
;
// @Autowired
// private IMessageService messageService;
private
static
String
PACKAGEURL
=
"com.yeejoin.amos.fas.business.action.result.message."
;
@Autowired
private
IMessageService
messageService
;
//@ExposeAction("消息提示")
//
public void sendMessageTip(Object bizobj, String title, String content,String type)
//
{
//
//
try
//
{
//
//
ELEvaluationContext.setVariable("bizobj",bizobj);
//
TipResult result = new TipResult();
//
result.add(bizobj);
//
Map<String, Object> tempmap1 = new HashMap<>();
//
tempmap1.put("title", title);
//
result.add(tempmap1);
//
Map<String, Object> tempmap2 = new HashMap<>();
//
content =DataItemUtil.getNative(content);
//
tempmap2.put("content", content);
//
result.add(tempmap2);
//
//
//
Constructor<?> constructor;
//
//
constructor = Class.forName(
//
PACKAGEURL + result.getClass().getSimpleName() + "Message")
//
.getConstructor(ActionResult.class);
//
ActionResultMessage<?> action = (ActionResultMessage<?>) constructor.newInstance(result);
//
String firstStr = "fromws";
//
String secondStr = "global";
//
String thirdStr = "msg";
//
result.setBizObj((BusinessEntity)bizobj);
//
Object obj = action.execute(firstStr, secondStr, thirdStr);
//
result.setToipResponse((ToipResponse) obj);
//
saveMessageAction(result,type);
//
}
//
catch (Exception e)
//
{
//
// TODO Auto-generated catch block
//
e.printStackTrace();
//
}
//
}
public
void
sendMessageTip
(
Object
bizobj
,
String
title
,
String
content
,
String
type
)
{
try
{
ELEvaluationContext
.
setVariable
(
"bizobj"
,
bizobj
);
TipResult
result
=
new
TipResult
();
result
.
add
(
bizobj
);
Map
<
String
,
Object
>
tempmap1
=
new
HashMap
<>();
tempmap1
.
put
(
"title"
,
title
);
result
.
add
(
tempmap1
);
Map
<
String
,
Object
>
tempmap2
=
new
HashMap
<>();
content
=
DataItemUtil
.
getNative
(
content
);
tempmap2
.
put
(
"content"
,
content
);
result
.
add
(
tempmap2
);
Constructor
<?>
constructor
;
constructor
=
Class
.
forName
(
PACKAGEURL
+
result
.
getClass
().
getSimpleName
()
+
"Message"
)
.
getConstructor
(
ActionResult
.
class
);
ActionResultMessage
<?>
action
=
(
ActionResultMessage
<?>)
constructor
.
newInstance
(
result
);
String
firstStr
=
"fromws"
;
String
secondStr
=
"global"
;
String
thirdStr
=
"msg"
;
result
.
setBizObj
((
BusinessEntity
)
bizobj
);
Object
obj
=
action
.
execute
(
firstStr
,
secondStr
,
thirdStr
);
result
.
setToipResponse
((
ToipResponse
)
obj
);
saveMessageAction
(
result
,
type
);
}
catch
(
Exception
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
// @SuppressWarnings("unchecked")
// private void saveMessageAction(AbstractActionResult abstractActionResult,String type)
// {
// Message message = new Message();
// List<Map<String, Object>> list = (List<Map<String, Object>>) abstractActionResult.getData();
// for(Map<String, Object> map : list) {
// for(String str: map.keySet()) {
// if(str.equals("content")) {
// message.setContent(map.get("content").toString());
// }else
// if (str.equals("title"))
// {
// message.setTitle(map.get("title").toString());
// }
// }
// BasicsRo basicsRo = (BasicsRo)abstractActionResult.getToipResponse().getBizObj();
// message.setTime(basicsRo.getDateTime());
// message.setBizId(basicsRo.getId());
// message.setBizclassName(abstractActionResult.getToipResponse().getBizObj().getClass().toString());
// message.setType(type);
// messageService.save(message);
// }
// }
@SuppressWarnings
(
"unchecked"
)
private
void
saveMessageAction
(
AbstractActionResult
abstractActionResult
,
String
type
)
{
Message
message
=
new
Message
();
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
abstractActionResult
.
getData
();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
for
(
String
str:
map
.
keySet
())
{
if
(
str
.
equals
(
"content"
))
{
message
.
setContent
(
map
.
get
(
"content"
).
toString
());
}
else
if
(
str
.
equals
(
"title"
))
{
message
.
setTitle
(
map
.
get
(
"title"
).
toString
());
}
}
MessageRo
messageRo
=
(
MessageRo
)
abstractActionResult
.
getToipResponse
().
getBizObj
();
message
.
setTime
(
messageRo
.
getCreateDate
());
//目前获取不到id
message
.
setBizId
(
messageRo
.
getId
());
message
.
setBizclassName
(
abstractActionResult
.
getToipResponse
().
getBizObj
().
getClass
().
toString
());
message
.
setType
(
type
);
messageService
.
save
(
message
);
}
}
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/controller/TimeLineController.java
View file @
6d13cee1
//package com.yeejoin.amos.fas.business.controller;
//
//
//import com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance;
//import com.yeejoin.amos.fas.business.service.intfc.IContingencyOriginalDataService;
//import com.yeejoin.amos.fas.core.common.request.CommonPageable;
//import com.yeejoin.amos.fas.core.common.request.CommonRequest;
//import com.yeejoin.amos.fas.core.util.CommonResponse;
//import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import io.swagger.annotations.ApiParam;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Scheduled;
//import org.springframework.util.CollectionUtils;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.HashMap;
//import java.util.LinkedList;
//import java.util.List;
//import java.util.Map;
//
//@RestController
//@RequestMapping(value = "/api/timeline")
//@Api(tags="时间轴")
//public class TimeLineController extends BaseController{
//
// private static final Logger log = LoggerFactory.getLogger(TimeLineController.class);
//
// @Autowired
// IContingencyOriginalDataService iContingencyOriginalDataService;
//
// static LinkedList<Map<String,String >> fireQueue = new LinkedList<>();
//
//
// //@Authorization(ingore = true)
// @ApiOperation(httpMethod = "GET",value = "根据批次号查询时间轴", notes = "根据批次号查询时间轴")
// @RequestMapping(value = "/{instanceNo}", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
// public CommonResponse queryPoint(@PathVariable String instanceNo,@RequestParam("recordType") String recordType) throws Exception{
// return CommonResponseUtil.success();
//// return CommonResponseUtil.success(iContingencyInstance.queryForTimeLine(instanceNo,recordType));
// }
//
//
// //@Authorization(ingore = true)
// @ApiOperation(httpMethod = "PUT",value = "点击按钮", notes = "点击按钮")
// @RequestMapping(value = "/fire", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
// public CommonResponse fire(@RequestParam("batchNo") String batchNo,
// @RequestParam("stepCode") String stepCode,
// @RequestParam("buttonCode") String buttonCode,
// @RequestParam("confirm") String confirm,
// @RequestParam("contingencyPlanId") String contingencyPlanId,
// @RequestParam("stepState") String stepState) throws Exception{
//
//
// 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);
// fireQueue.addLast(map);
//
// return CommonResponseUtil.success("SUCCESS");
// }
//
//
// @Scheduled(cron = "*/2 * * * * ?")
// private 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");
// 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"));
//
//// iContingencyInstance.setButtonExecuted(batchNo,contingencyPlanId,buttonCode,confirm);
//// iContingencyInstance.fire(batchNo,stepCode,contingencyPlanId,buttonCode,confirm,stepState);
// }catch (Exception e)
// {
// //iContingencyInstance.setButtonWait(batchNo,contingencyPlanId,confirm);
// throw e;
// }finally {
// fireQueue.removeFirst();
// }
// }
//
//
//
//
//
//
//
//
//
// // @Authorization(ingore = true)
// @ApiOperation(httpMethod = "POST",value = "查询预案记录", notes = "查询预案记录")
// @RequestMapping(value = "/contingency/page", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
// public CommonResponse contingencyRecord(
// @ApiParam(value = "查询条件", required = false) @RequestBody(required = false) List<CommonRequest> queryRequests,
// @ApiParam(value = "分页参数", required = true) CommonPageable commonPageable
// ) {
// //CommonPageable commonPageable = new CommonPageable(pageNumber,pageSize);
//
// String contingencyName = null;
// String equipmentId = null;
// String createTime = null;
// if(!CollectionUtils.isEmpty(queryRequests))
// {
// for(CommonRequest request:queryRequests)
// {
// if("contingencyName".equals(request.getName()))
// {
// contingencyName = String.valueOf(request.getValue());
// }
// if("equipmentId".equals(request.getName()))
// {
// equipmentId = String.valueOf(request.getValue());
// }
// if("createTime".equals(request.getName()))
// {
// createTime = String.valueOf(request.getValue());
// }
// }
// }
//
// return CommonResponseUtil.success(iContingencyOriginalDataService.queryForPage(contingencyName,equipmentId,createTime,commonPageable));
// }
//
//
//
//
//
//
//
//
//
//
//
// String operate = "{" +
// " \"type\": \"button\"," +
// " \"operate\": [" +
// " {" +
// " \"title\": \"确认着火\"," +
// " \"paramName\": \"batchNo\"," +
// " \"paramValue\": \"11\"," +
// " \"requestUrl\": \"url\"," +
// " \"icon\": \"querenzhuohuo\"," +
// " \"confirm\": true," +
// " \"state\": \"executed\"" +
// " }," +
// " {" +
// " \"title\": \"消除误报\"," +
// " \"paramName\": \"batchNo\"," +
// " \"paramValue\": \"11\"," +
// " \"requestUrl\": \"url\"," +
// " \"icon\": \"xiaochuwubao\"," +
// " \"confirm\": true," +
// " \"state\": \"wait\"" +
// " }" +
// " ]" +
// "}";
//
//}
package
com
.
yeejoin
.
amos
.
fas
.
business
.
controller
;
import
com.yeejoin.amos.fas.business.service.impl.ContingencyInstanceImpl
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance
;
import
com.yeejoin.amos.fas.business.service.intfc.IContingencyOriginalDataService
;
import
com.yeejoin.amos.fas.core.common.request.CommonPageable
;
import
com.yeejoin.amos.fas.core.common.request.CommonRequest
;
import
com.yeejoin.amos.fas.core.util.CommonResponse
;
import
com.yeejoin.amos.fas.core.util.CommonResponseUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.xml.bind.ValidationEvent
;
import
java.util.*
;
@RestController
@RequestMapping
(
value
=
"/api/timeline"
)
@Api
(
tags
=
"时间轴"
)
public
class
TimeLineController
extends
BaseController
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
TimeLineController
.
class
);
@Autowired
IContingencyInstance
iContingencyInstance
;
@Autowired
IContingencyOriginalDataService
iContingencyOriginalDataService
;
static
LinkedList
<
Map
<
String
,
String
>>
fireQueue
=
new
LinkedList
<>();
//@Authorization(ingore = true)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据批次号查询时间轴"
,
notes
=
"根据批次号查询时间轴"
)
@RequestMapping
(
value
=
"/{instanceNo}"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
GET
)
public
CommonResponse
queryPoint
(
@PathVariable
String
instanceNo
,
@RequestParam
(
"recordType"
)
String
recordType
)
throws
Exception
{
return
CommonResponseUtil
.
success
(
iContingencyInstance
.
queryForTimeLine
(
instanceNo
,
recordType
));
}
//@Authorization(ingore = true)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"点击按钮"
,
notes
=
"点击按钮"
)
@RequestMapping
(
value
=
"/fire"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
PUT
)
public
CommonResponse
fire
(
@RequestParam
(
"batchNo"
)
String
batchNo
,
@RequestParam
(
"stepCode"
)
String
stepCode
,
@RequestParam
(
"buttonCode"
)
String
buttonCode
,
@RequestParam
(
"confirm"
)
String
confirm
,
@RequestParam
(
"contingencyPlanId"
)
String
contingencyPlanId
,
@RequestParam
(
"stepState"
)
String
stepState
)
throws
Exception
{
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
);
fireQueue
.
addLast
(
map
);
return
CommonResponseUtil
.
success
(
"SUCCESS"
);
}
@Scheduled
(
cron
=
"*/2 * * * * ?"
)
private
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"
);
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"
));
iContingencyInstance
.
setButtonExecuted
(
batchNo
,
contingencyPlanId
,
buttonCode
,
confirm
);
iContingencyInstance
.
fire
(
batchNo
,
stepCode
,
contingencyPlanId
,
buttonCode
,
confirm
,
stepState
);
}
catch
(
Exception
e
)
{
//iContingencyInstance.setButtonWait(batchNo,contingencyPlanId,confirm);
throw
e
;
}
finally
{
fireQueue
.
removeFirst
();
}
}
// @Authorization(ingore = true)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"查询预案记录"
,
notes
=
"查询预案记录"
)
@RequestMapping
(
value
=
"/contingency/page"
,
produces
=
"application/json;charset=UTF-8"
,
method
=
RequestMethod
.
POST
)
public
CommonResponse
contingencyRecord
(
@ApiParam
(
value
=
"查询条件"
,
required
=
false
)
@RequestBody
(
required
=
false
)
List
<
CommonRequest
>
queryRequests
,
@ApiParam
(
value
=
"分页参数"
,
required
=
true
)
CommonPageable
commonPageable
)
{
//CommonPageable commonPageable = new CommonPageable(pageNumber,pageSize);
String
contingencyName
=
null
;
String
equipmentId
=
null
;
String
createTime
=
null
;
if
(!
CollectionUtils
.
isEmpty
(
queryRequests
))
{
for
(
CommonRequest
request:
queryRequests
)
{
if
(
"contingencyName"
.
equals
(
request
.
getName
()))
{
contingencyName
=
String
.
valueOf
(
request
.
getValue
());
}
if
(
"equipmentId"
.
equals
(
request
.
getName
()))
{
equipmentId
=
String
.
valueOf
(
request
.
getValue
());
}
if
(
"createTime"
.
equals
(
request
.
getName
()))
{
createTime
=
String
.
valueOf
(
request
.
getValue
());
}
}
}
return
CommonResponseUtil
.
success
(
iContingencyOriginalDataService
.
queryForPage
(
contingencyName
,
equipmentId
,
createTime
,
commonPageable
));
}
String
operate
=
"{"
+
" \"type\": \"button\","
+
" \"operate\": ["
+
" {"
+
" \"title\": \"确认着火\","
+
" \"paramName\": \"batchNo\","
+
" \"paramValue\": \"11\","
+
" \"requestUrl\": \"url\","
+
" \"icon\": \"querenzhuohuo\","
+
" \"confirm\": true,"
+
" \"state\": \"executed\""
+
" },"
+
" {"
+
" \"title\": \"消除误报\","
+
" \"paramName\": \"batchNo\","
+
" \"paramValue\": \"11\","
+
" \"requestUrl\": \"url\","
+
" \"icon\": \"xiaochuwubao\","
+
" \"confirm\": true,"
+
" \"state\": \"wait\""
+
" }"
+
" ]"
+
"}"
;
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/dao/repository/IContingencyOriginalDataDao.java
View file @
6d13cee1
...
...
@@ -25,6 +25,12 @@ public interface IContingencyOriginalDataDao extends BaseDao<ContingencyOrigina
@Modifying
(
clearAutomatically
=
true
)
@Query
(
value
=
"update contingency_original_data c set c.confirm = ?1,c.runstep=?2 ,c.step_state=?3 where c.batch_No = ?4"
,
nativeQuery
=
true
)
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/dao/repository/IMessageDao.java
0 → 100644
View file @
6d13cee1
package
com
.
yeejoin
.
amos
.
fas
.
business
.
dao
.
repository
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData
;
public
interface
IMessageDao
extends
BaseDao
<
ContingencyOriginalData
,
String
>
{
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/ContingencyInstanceImpl.java
View file @
6d13cee1
//<<<<<<< HEAD
////package com.yeejoin.amos.fas.business.service.impl;
////
////
////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.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 {
////
//// 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());
////// ruleTrigger.publish(contingencyRo, equipment.getReservePlan());
//////
////// 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
//////
////// }
////}
//=======
//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
package
com
.
yeejoin
.
amos
.
fas
.
business
.
service
.
impl
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
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.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.client.RestTemplate
;
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
;
@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());
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
)
{
iContingencyOriginalDataDao
.
updateByButtonStep
(
step
,
batchNo
);
}
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/MessageServiceImpl.java
0 → 100644
View file @
6d13cee1
package
com
.
yeejoin
.
amos
.
fas
.
business
.
service
.
impl
;
import
java.util.List
;
import
org.springframework.stereotype.Service
;
import
com.yeejoin.amos.fas.business.service.intfc.IMessageService
;
import
com.yeejoin.amos.fas.dao.entity.Message
;
@Service
public
class
MessageServiceImpl
implements
IMessageService
{
//MessageMapper messageMapper;
@Override
public
List
<
Message
>
findMessageByBizId
(
String
bizId
)
{
return
null
;
// TODO Auto-generated method stub
// messageRepository.findMessageByBizId(bizId);
}
@Override
public
void
save
(
Message
msg
)
{
// TODO Auto-generated method stub
}
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/impl/RiskSourceServiceImpl.java
View file @
6d13cee1
...
...
@@ -7,6 +7,7 @@ import com.google.common.base.Joiner;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Sets
;
import
com.yeejoin.amos.component.rule.RuleTrigger
;
import
com.yeejoin.amos.fas.business.bo.*
;
import
com.yeejoin.amos.fas.business.constants.FasConstant
;
import
com.yeejoin.amos.fas.business.dao.mapper.*
;
...
...
@@ -40,6 +41,8 @@ import com.yeejoin.amos.fas.dao.entity.*;
import
com.yeejoin.amos.fas.exception.YeeException
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.DepartmentModel
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -147,6 +150,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
private
IDictDao
dictDao
;
@Autowired
private
RedisTemplate
redisTemplate
;
@Autowired
private
RuleTrigger
ruleTrigger
;
@Autowired
private
FmeaEquipmentPointMapper
fmeaEquipmentPointMapper
;
...
...
@@ -485,7 +491,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
}
//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
();
BeanUtils
.
copyProperties
(
contingencyRo
,
contingencyOriginalData
);
iContingencyOriginalDataDao
.
save
(
contingencyOriginalData
);
...
...
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/intfc/IContingencyInstance.java
View file @
6d13cee1
package
com
.
yeejoin
.
amos
.
fas
.
business
.
service
.
intfc
;
import
java.util.List
;
import
com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance
;
public
interface
IContingencyInstance
{
//
//
ContingencyPlanInstance createInstanceRecord(String instanceNo, String category, String subCategory, String content, String recordType, String icon);
//
//
//
//
List<ContingencyPlanInstance> queryForTimeLine(String instanceNo,String recordType) throws Exception;
//
//
//
void setButtonExecuted(String batchNo,String contingencyPlanId,String code,String buttonState) throws Exception;
//
void setButtonWait(String batchNo,String contingencyPlanId,String buttonState) throws Exception;
//
//
//
void fire(String batchNo,String stepCode, String contingencyPlanId, String buttonCode,String buttonState,String stepStateOnbutton) throws Exception;
//
//
void updateStep(String step, String batchNo);
ContingencyPlanInstance
createInstanceRecord
(
String
instanceNo
,
String
category
,
String
subCategory
,
String
content
,
String
recordType
,
String
icon
);
List
<
ContingencyPlanInstance
>
queryForTimeLine
(
String
instanceNo
,
String
recordType
)
throws
Exception
;
void
setButtonExecuted
(
String
batchNo
,
String
contingencyPlanId
,
String
code
,
String
buttonState
)
throws
Exception
;
void
setButtonWait
(
String
batchNo
,
String
contingencyPlanId
,
String
buttonState
)
throws
Exception
;
void
fire
(
String
batchNo
,
String
stepCode
,
String
contingencyPlanId
,
String
buttonCode
,
String
buttonState
,
String
stepStateOnbutton
)
throws
Exception
;
void
updateStep
(
String
step
,
String
batchNo
);
}
YeeAmosFireAutoSysService/src/main/java/com/yeejoin/amos/fas/business/service/intfc/IMessageService.java
0 → 100644
View file @
6d13cee1
package
com
.
yeejoin
.
amos
.
fas
.
business
.
service
.
intfc
;
import
java.util.List
;
import
com.yeejoin.amos.fas.dao.entity.Message
;
public
interface
IMessageService
{
List
<
Message
>
findMessageByBizId
(
String
bizId
);
void
save
(
Message
msg
);
}
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