Commit 512ed150 authored by 高建强's avatar 高建强

item:应急处置流程执行,参数携带请求头

parent eca9d81c
...@@ -22,7 +22,6 @@ import com.yeejoin.amos.fas.business.dao.mapper.PlanDetailMapper; ...@@ -22,7 +22,6 @@ import com.yeejoin.amos.fas.business.dao.mapper.PlanDetailMapper;
import com.yeejoin.amos.fas.business.dao.mapper.PlanOperationRecordMapper; import com.yeejoin.amos.fas.business.dao.mapper.PlanOperationRecordMapper;
import com.yeejoin.amos.fas.business.dao.repository.IPlanDetailDao; import com.yeejoin.amos.fas.business.dao.repository.IPlanDetailDao;
import com.yeejoin.amos.fas.business.dao.repository.IPlanOperationRecordDao; import com.yeejoin.amos.fas.business.dao.repository.IPlanOperationRecordDao;
import com.yeejoin.amos.fas.business.feign.IDutyModeServer;
import com.yeejoin.amos.fas.business.feign.JcsFeign; import com.yeejoin.amos.fas.business.feign.JcsFeign;
import com.yeejoin.amos.fas.business.feign.RemoteSecurityService; import com.yeejoin.amos.fas.business.feign.RemoteSecurityService;
import com.yeejoin.amos.fas.business.service.impl.RuleRunigSnapshotServiceImpl; import com.yeejoin.amos.fas.business.service.impl.RuleRunigSnapshotServiceImpl;
...@@ -100,9 +99,6 @@ public class ContingencyAction implements CustomerAction { ...@@ -100,9 +99,6 @@ public class ContingencyAction implements CustomerAction {
private IRiskSourceService riskSourceService; private IRiskSourceService riskSourceService;
@Autowired @Autowired
private IDutyModeServer dutyModeServer;
@Autowired
private IEquipmentService equipmentService; private IEquipmentService equipmentService;
@Autowired @Autowired
...@@ -359,6 +355,16 @@ public class ContingencyAction implements CustomerAction { ...@@ -359,6 +355,16 @@ public class ContingencyAction implements CustomerAction {
String batchNo = contingencyRo.getBatchNo(); String batchNo = contingencyRo.getBatchNo();
if (!findByBatchNoAndStatus(batchNo)) { if (!findByBatchNoAndStatus(batchNo)) {
stopSnapshop(contingencyRo); stopSnapshop(contingencyRo);
Map<String, Object> params = contingencyRo.getParams();
RequestContext.setAppKey(params.getOrDefault("appKey", "").toString());
RequestContext.setProduct(params.getOrDefault("product", "").toString());
RequestContext.setToken(params.getOrDefault("token", "").toString());
redisTemplate.opsForValue().set("action:appKey", params.getOrDefault("appKey", "").toString());
redisTemplate.opsForValue().set("action:product", params.getOrDefault("product", "").toString());
redisTemplate.opsForValue().set("action:token", params.getOrDefault("token", "").toString());
//转换content中的变量 //转换content中的变量
content = instedParams(content, contingencyRo); content = instedParams(content, contingencyRo);
iContingencyInstance.createInstanceRecord(contingencyRo.getBatchNo(), "", "DEFAULT", content, "MESSAGE", ""); iContingencyInstance.createInstanceRecord(contingencyRo.getBatchNo(), "", "DEFAULT", content, "MESSAGE", "");
...@@ -502,7 +508,6 @@ public class ContingencyAction implements CustomerAction { ...@@ -502,7 +508,6 @@ public class ContingencyAction implements CustomerAction {
this.sendcmd("optionarea", paramObj, result); this.sendcmd("optionarea", paramObj, result);
ContingencyPlanInstance instance = contingencyInstance.getMessageById(contingencyPlanId); ContingencyPlanInstance instance = contingencyInstance.getMessageById(contingencyPlanId);
if (instance != null) { if (instance != null) {
// ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(instance);
instance.setRoleCode(contingencyInstance.getPlanStepRoleCodeByButtonCode(buttonCode)); instance.setRoleCode(contingencyInstance.getPlanStepRoleCodeByButtonCode(buttonCode));
contingencyPlanInstanceMapper.updateMessageById(instance); contingencyPlanInstanceMapper.updateMessageById(instance);
} }
...@@ -877,7 +882,7 @@ public class ContingencyAction implements CustomerAction { ...@@ -877,7 +882,7 @@ public class ContingencyAction implements CustomerAction {
if (!findByBatchNoAndStatus(batchNo)) { if (!findByBatchNoAndStatus(batchNo)) {
String contingencyPlanId = getContingencyPlanId(contingencyRo.getBatchNo(), actionName, icon, tips, buttonJson); String contingencyPlanId = getContingencyPlanId(contingencyRo.getBatchNo(), actionName, icon, tips, buttonJson);
try { try {
contingencyInstance.fire(contingencyRo.getBatchNo(), stepCode, contingencyPlanId, buttonCode, confirm, stepState, RequestContext.getToken(), RequestContext.getProduct()); contingencyInstance.fire(contingencyRo.getBatchNo(), stepCode, contingencyPlanId, buttonCode, confirm, stepState, RequestContext.getToken(), RequestContext.getProduct(), RequestContext.getAppKey());
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -75,7 +75,7 @@ public class TimeLineController extends BaseController { ...@@ -75,7 +75,7 @@ public class TimeLineController extends BaseController {
@RequestParam("confirm") String confirm, @RequestParam("confirm") String confirm,
@RequestParam("contingencyPlanId") String contingencyPlanId, @RequestParam("contingencyPlanId") String contingencyPlanId,
@RequestParam("stepState") String stepState) throws Exception { @RequestParam("stepState") String stepState) throws Exception {
iContingencyInstance.fire(batchNo, stepCode, contingencyPlanId, buttonCode, confirm, stepState, getToken(), getProduct()); iContingencyInstance.fire(batchNo, stepCode, contingencyPlanId, buttonCode, confirm, stepState, getToken(), getProduct(), getAppKey());
return CommonResponseUtil.success("SUCCESS"); return CommonResponseUtil.success("SUCCESS");
} }
......
...@@ -266,9 +266,15 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -266,9 +266,15 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
} }
contingencyRo.setTelemetryMap(telemetryMap); contingencyRo.setTelemetryMap(telemetryMap);
contingencyRo.setEquipmentCode(equipment.getCode()); contingencyRo.setEquipmentCode(equipment.getCode());
Map<String, Object> params = contingencyRo.getParams();
params.put("appKey", RequestContext.getAppKey());
params.put("product", RequestContext.getProduct());
params.put("token", RequestContext.getToken());
contingencyRo.setParams(params);
List<String> plan = this.getNumberPlan(Long.parseLong(contingencyRo.getEquipmentId())); List<String> plan = this.getNumberPlan(Long.parseLong(contingencyRo.getEquipmentId()));
ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(equipment.getName())); ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(equipment.getName()));
...@@ -348,12 +354,6 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -348,12 +354,6 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
// 应急处置中断,更新预案信息表结束时间 // 应急处置中断,更新预案信息表结束时间
contingencyInstanceInfoService.updateEndTimeById(batchNo); contingencyInstanceInfoService.updateEndTimeById(batchNo);
} }
// if ("END_EMERGENCY".equals(code)) {
// // 应急处置中断,初始化planStep,json数据
// planRuleService.updatePlanRuleByBatchNo(batchNo);
// // 应急处置中断,更新预案信息表结束时间
// contingencyInstanceInfoService.updateEndTimeById(batchNo);
// }
} else { } else {
operate.setState("disable"); operate.setState("disable");
} }
...@@ -365,10 +365,8 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -365,10 +365,8 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
contingencyPlanInstance.setContent(operateJson); contingencyPlanInstance.setContent(operateJson);
if (buttonState.equals("CONFIRM")) { if (buttonState.equals("CONFIRM")) {
contingencyPlanInstance.setRunstate(true); contingencyPlanInstance.setRunstate(true);
// ContingencyPlanInstance planInstance = contingencyInstance.updateExtendColumn(contingencyPlanInstance);
// BeanUtils.copyProperties(planInstance, contingencyPlanInstance);
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan");
webMqttComponent.publish(topic, "应急处置执行任务完成提醒"); webMqttComponent.publish(topic, "{\"msgType\":\"replayMessage\"}");
} }
ContingencyPlanInstance instance = repository.save(contingencyPlanInstance); ContingencyPlanInstance instance = repository.save(contingencyPlanInstance);
// 异步数据同步之消息发送 // 异步数据同步之消息发送
...@@ -420,7 +418,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -420,7 +418,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
} }
@Override @Override
public Optional<Equipment> fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String token, String product) throws Exception { public Optional<Equipment> fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String token, String product, String appKey) throws Exception {
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("batchNo", batchNo); map.put("batchNo", batchNo);
map.put("stepCode", stepCode); map.put("stepCode", stepCode);
...@@ -432,9 +430,11 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -432,9 +430,11 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
Toke serverToken = remoteSecurityService.getServerToken(); Toke serverToken = remoteSecurityService.getServerToken();
map.put("token", serverToken.getToke()); map.put("token", serverToken.getToke());
map.put("product", serverToken.getProduct()); map.put("product", serverToken.getProduct());
map.put("appKey", serverToken.getAppKey());
} else { } else {
map.put("token", token); map.put("token", token);
map.put("product", product); map.put("product", product);
map.put("appKey", appKey);
} }
fireQueue.addLast(map); fireQueue.addLast(map);
//应急指挥给总部推送消息 //应急指挥给总部推送消息
...@@ -444,14 +444,21 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -444,14 +444,21 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
@Override @Override
public ContingencyPlanInstance updateExtendColumn(ContingencyPlanInstance contingencyPlanInstance) { public ContingencyPlanInstance updateExtendColumn(ContingencyPlanInstance contingencyPlanInstance) {
String appKey = RequestContext.getAppKey(); String appKey = redisTemplate.opsForValue().get("action:appKey").toString();
String token = RequestContext.getToken(); String product = redisTemplate.opsForValue().get("action:product").toString();
if (StringUtils.isBlank(appKey) || StringUtils.isBlank(token)) { String token = redisTemplate.opsForValue().get("action:token").toString();
if (StringUtils.isBlank(appKey) || StringUtils.isBlank(product) || StringUtils.isBlank(token)) {
Toke toke = remoteSecurityService.getServerToken(); Toke toke = remoteSecurityService.getServerToken();
RequestContext.setToken(toke.getToke()); RequestContext.setToken(toke.getToke());
RequestContext.setProduct(toke.product); RequestContext.setProduct(toke.getProduct());
RequestContext.setAppKey(toke.appKey); RequestContext.setAppKey(toke.getAppKey());
} else {
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(token);
} }
FeignClientResult<AgencyUserModel> feignClientResult = Privilege.agencyUserClient.getme(); FeignClientResult<AgencyUserModel> feignClientResult = Privilege.agencyUserClient.getme();
AgencyUserModel user = (AgencyUserModel) feignClientResult.getResult(); AgencyUserModel user = (AgencyUserModel) feignClientResult.getResult();
...@@ -527,16 +534,18 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -527,16 +534,18 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
String confirm = map.get("confirm"); String confirm = map.get("confirm");
String contingencyPlanId = map.get("contingencyPlanId"); String contingencyPlanId = map.get("contingencyPlanId");
String stepState = map.get("stepState"); String stepState = map.get("stepState");
String token = map.get("token"); String appKey = map.get("appKey");
String product = map.get("product"); String product = map.get("product");
String token = map.get("token");
try { try {
log.info("fireQueue-size:" + fireQueue.size()); log.info("fireQueue-size:" + fireQueue.size());
log.info("stepCode:" + map.get("stepCode")); log.info("stepCode:" + map.get("stepCode"));
log.info("buttonCode:" + map.get("buttonCode")); log.info("buttonCode:" + map.get("buttonCode"));
log.info("confirm:" + map.get("confirm")); log.info("confirm:" + map.get("confirm"));
log.info("stepState:" + map.get("stepState")); log.info("stepState:" + map.get("stepState"));
RequestContext.setToken(token); RequestContext.setAppKey(appKey);
RequestContext.setProduct(product); RequestContext.setProduct(product);
RequestContext.setToken(token);
setButtonExecuted(batchNo, contingencyPlanId, buttonCode, confirm); setButtonExecuted(batchNo, contingencyPlanId, buttonCode, confirm);
fire(batchNo, stepCode, contingencyPlanId, buttonCode, confirm, stepState); fire(batchNo, stepCode, contingencyPlanId, buttonCode, confirm, stepState);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -117,6 +117,9 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -117,6 +117,9 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
@Value("${plan.instance.personImg}") @Value("${plan.instance.personImg}")
private String personImg; private String personImg;
@Value("${plan.instance.playImg}")
private String playImg;
@Override @Override
public List<TreeSubjectVo> getPlanTree() { public List<TreeSubjectVo> getPlanTree() {
...@@ -397,6 +400,7 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -397,6 +400,7 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
ContingencyPlanInstanceVO instanceVO = new ContingencyPlanInstanceVO(); ContingencyPlanInstanceVO instanceVO = new ContingencyPlanInstanceVO();
BeanUtils.copyProperties(item, instanceVO); BeanUtils.copyProperties(item, instanceVO);
instanceVO.setLoginUserId(user.getUserId()); instanceVO.setLoginUserId(user.getUserId());
instanceVO.setPlayImg(playImg);
list.add(instanceVO); list.add(instanceVO);
}); });
} }
......
...@@ -23,7 +23,7 @@ public interface IContingencyInstance { ...@@ -23,7 +23,7 @@ public interface IContingencyInstance {
void updateStep(String step, String batchNo); void updateStep(String step, String batchNo);
Optional<Equipment> fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String token, String product) throws Exception; Optional<Equipment> fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String token, String product, String appKey) throws Exception;
/** /**
* 扩展属性赋值 * 扩展属性赋值
......
...@@ -44,6 +44,8 @@ public class ContingencyPlanInstanceVO { ...@@ -44,6 +44,8 @@ public class ContingencyPlanInstanceVO {
private String personImg; private String personImg;
private String playImg;
private String loginUserId; private String loginUserId;
private String name; private String name;
......
...@@ -59,6 +59,7 @@ file.downLoad.url=http://172.16.11.201:9000/ ...@@ -59,6 +59,7 @@ file.downLoad.url=http://172.16.11.201:9000/
#应急处置移动端默认头像地址 #应急处置移动端默认头像地址
plan.instance.personImg=upload/3dview_icon/plan_via.png plan.instance.personImg=upload/3dview_icon/plan_via.png
plan.instance.playImg=upload/3dview_icon/plan_play.png
# 是否使用rocketmq on/off # 是否使用rocketmq on/off
rocketmq.producer.sysIsUsed=off rocketmq.producer.sysIsUsed=off
......
...@@ -811,4 +811,14 @@ ...@@ -811,4 +811,14 @@
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应急预案执行记录实例' ROW_FORMAT = Dynamic; ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '应急预案执行记录实例' ROW_FORMAT = Dynamic;
</sql> </sql>
</changeSet> </changeSet>
<changeSet author="gaojianqiang" id="20221026-01">
<preConditions onFail="MARK_RAN">
<columnExists tableName="contingency_plan_instance" columnName="update_date"/>
</preConditions>
<comment>修改属性字段 update_date</comment>
<sql>
ALTER TABLE `contingency_plan_instance`
MODIFY COLUMN `update_date` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) AFTER `create_user`;
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment