Commit 4b49dd73 authored by litengwei's avatar litengwei

预案弹窗逻辑

parent ecb3e195
...@@ -185,6 +185,23 @@ public class ContingencyPlanController extends BaseController { ...@@ -185,6 +185,23 @@ public class ContingencyPlanController extends BaseController {
return CommonResponseUtil2.success(result); return CommonResponseUtil2.success(result);
} }
@ApiOperation(value = "执行第一步")
@RequestMapping(value = "/startFirst", method = RequestMethod.GET)
public ResponseModel startFirst(String batchNo) {
Toke toke = new Toke();
toke.setAppKey(getAppKey());
toke.setProduct(getProduct());
toke.setToke(getToken());
try {
contingencyPlanService.planStartFirst(batchNo, toke);
}catch (Exception e){
e.printStackTrace();
return CommonResponseUtil2.failure();
}
return CommonResponseUtil2.success(null);
}
@ApiOperation(value = "装备确景") @ApiOperation(value = "装备确景")
@RequestMapping(value = "/scene", method = RequestMethod.GET) @RequestMapping(value = "/scene", method = RequestMethod.GET)
public ResponseModel scene(@ApiParam(value = "装备Id", required = true) String equipmentId, public ResponseModel scene(@ApiParam(value = "装备Id", required = true) String equipmentId,
......
package com.yeejoin.amos.fas.business.event; package com.yeejoin.amos.fas.business.event;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.component.rule.RuleTrigger; import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.fas.business.action.ContingencyAction; import com.yeejoin.amos.fas.business.action.ContingencyAction;
import com.yeejoin.amos.fas.business.action.model.ContingencyEvent; import com.yeejoin.amos.fas.business.action.model.ContingencyEvent;
...@@ -58,6 +59,10 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -58,6 +59,10 @@ public class FireContingencyHandler implements EventHandler{
@Autowired @Autowired
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired @Autowired
private ContingencyLogPublisher contingencyLogPublisher; private ContingencyLogPublisher contingencyLogPublisher;
@Autowired @Autowired
...@@ -194,9 +199,17 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -194,9 +199,17 @@ public class FireContingencyHandler implements EventHandler{
if (StringUtils.isNotEmpty(contingencyOriginalData.getEquipmentName())) { if (StringUtils.isNotEmpty(contingencyOriginalData.getEquipmentName())) {
Map<String, Object> params = contingencyRo.getParams(); Map<String, Object> params = contingencyRo.getParams();
params.put("appKey", RequestContext.getAppKey()); RequestContext.setProduct(amosRequestContext.getProduct());
params.put("product", RequestContext.getProduct()); RequestContext.setAppKey(amosRequestContext.getAppKey());
params.put("token", RequestContext.getToken()); RequestContext.setToken(amosRequestContext.getToken());
params.put("appKey", amosRequestContext.getAppKey());
params.put("product", amosRequestContext.getProduct());
params.put("token", amosRequestContext.getToken());
log.info("appKey===,{}", amosRequestContext.getAppKey());
log.info("product====,{}", amosRequestContext.getProduct());
log.info("token====,{}", amosRequestContext.getToken());
contingencyRo.setParams(params); 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(contingencyOriginalData.getEquipmentName())); ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(contingencyOriginalData.getEquipmentName()));
......
...@@ -170,6 +170,17 @@ public class RemoteSecurityService { ...@@ -170,6 +170,17 @@ public class RemoteSecurityService {
return toke; return toke;
} }
public Toke getTokenS() {
Toke toke = new Toke();
toke.setToke(amosRequestContext.getToken());
toke.setProduct(amosRequestContext.getProduct());
toke.setAppKey(amosRequestContext.getAppKey());
return toke;
}
private Toke getLogin(IdPasswordAuthModel dPasswordAuthModel){ private Toke getLogin(IdPasswordAuthModel dPasswordAuthModel){
Toke toke = new Toke(); Toke toke = new Toke();
RequestContext.setProduct(amosRequestContext.getProduct()); RequestContext.setProduct(amosRequestContext.getProduct());
......
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.component.rule.RuleTrigger; import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.fas.business.action.ContingencyAction; import com.yeejoin.amos.fas.business.action.ContingencyAction;
import com.yeejoin.amos.fas.business.action.model.ContingencyEvent; import com.yeejoin.amos.fas.business.action.model.ContingencyEvent;
...@@ -59,6 +60,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -59,6 +60,7 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
// public final static List<String> list = Arrays.asList("0", "1", "2", "5", "9", "10", "11"); // public final static List<String> list = Arrays.asList("0", "1", "2", "5", "9", "10", "11");
@Autowired @Autowired
private IContingencyPlanInstanceRepository repository; private IContingencyPlanInstanceRepository repository;
...@@ -264,9 +266,18 @@ public class ContingencyInstanceImpl implements IContingencyInstance { ...@@ -264,9 +266,18 @@ public class ContingencyInstanceImpl implements IContingencyInstance {
if (equipment != null) { if (equipment != null) {
contingencyRo.setEquipmentCode(equipment.getCode()); contingencyRo.setEquipmentCode(equipment.getCode());
Map<String, Object> params = contingencyRo.getParams(); Map<String, Object> params = contingencyRo.getParams();
params.put("appKey", RequestContext.getAppKey()); Toke toke = remoteSecurityService.getTokenS();
params.put("product", RequestContext.getProduct()); RequestContext.setProduct(toke.getProduct());
params.put("token", RequestContext.getToken()); RequestContext.setAppKey(toke.getAppKey());
RequestContext.setToken(toke.getToke());
params.put("appKey", toke.getToke());
params.put("product", toke.getProduct());
params.put("token", toke.getAppKey());
log.info("appKey===11,{}", toke.getAppKey());
log.info("product====11,{}", toke.getProduct());
log.info("token====11,{}", toke.getToke());
contingencyRo.setParams(params); contingencyRo.setParams(params);
......
package com.yeejoin.amos.fas.business.service.impl; package com.yeejoin.amos.fas.business.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.component.rule.config.ClazzUtils; import com.yeejoin.amos.component.rule.config.ClazzUtils;
...@@ -11,6 +12,7 @@ import com.yeejoin.amos.fas.business.dao.mapper.*; ...@@ -11,6 +12,7 @@ import com.yeejoin.amos.fas.business.dao.mapper.*;
import com.yeejoin.amos.fas.business.dao.repository.*; import com.yeejoin.amos.fas.business.dao.repository.*;
import com.yeejoin.amos.fas.business.param.AlarmParam; import com.yeejoin.amos.fas.business.param.AlarmParam;
import com.yeejoin.amos.fas.business.service.intfc.*; import com.yeejoin.amos.fas.business.service.intfc.*;
import com.yeejoin.amos.fas.business.service.model.ToipResponse;
import com.yeejoin.amos.fas.business.util.TreeUtil; import com.yeejoin.amos.fas.business.util.TreeUtil;
import com.yeejoin.amos.fas.business.vo.*; import com.yeejoin.amos.fas.business.vo.*;
import com.yeejoin.amos.fas.common.enums.*; import com.yeejoin.amos.fas.common.enums.*;
...@@ -33,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -33,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization; import org.springframework.transaction.support.TransactionSynchronization;
...@@ -253,10 +256,6 @@ public class ContingencyPlanServiceImpl implements IContingencyPlanService { ...@@ -253,10 +256,6 @@ public class ContingencyPlanServiceImpl implements IContingencyPlanService {
result.setMessage(ReserveEnum.RUN.getText()); result.setMessage(ReserveEnum.RUN.getText());
result.setBatchNo(batchNo); result.setBatchNo(batchNo);
if(vo.getTriggerMode().equals("automatic")) {
iContingencyInstance.fire(batchNo, "0", "", instanceInfo.getId(), "FIRE_CONFIRM", "CONFIRM", "0", "true", "false", toke.getToke(), toke.getProduct(), toke.getAppKey(), null);
}
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override @Override
public void afterCommit() { public void afterCommit() {
...@@ -296,11 +295,46 @@ public class ContingencyPlanServiceImpl implements IContingencyPlanService { ...@@ -296,11 +295,46 @@ public class ContingencyPlanServiceImpl implements IContingencyPlanService {
map.put("msgContext", msgContext); map.put("msgContext", msgContext);
map.put("msgType", "refreshRecord"); map.put("msgType", "refreshRecord");
webMqttComponent.publish(topic, JSON.toJSONString(map)); webMqttComponent.publish(topic, JSON.toJSONString(map));
// if(vo.getTriggerMode().equals("automatic")) {
// logger.info("===============开始查询ButtonJson");
// getStepButtonJson(batchNo, toke);
// }
} }
return result; return result;
} }
@Override @Override
public ContingencyPlanResponseVo planStartFirst(String batchNo, Toke toke) {
logger.info("开始查询Step=============");
for (int i =0; i < 30 ; i++) {
ToipResponse planStepByBatchNo = planVisual3dService.getPlanStepByBatchNo(batchNo);
logger.info("===============1111111,{}", planStepByBatchNo);
if(null != planStepByBatchNo && null != planStepByBatchNo.getMsgContext()) {
String str = JSONObject.toJSONString(planStepByBatchNo.getMsgContext());
JSONObject obj = JSON.parseObject(str);
JSONArray arr = obj.getJSONArray("step");
JSONObject step = arr.getJSONObject(0);
if (!ObjectUtils.isEmpty(step.get("buttonJson"))) {
logger.info("===============查询到ButtonJson");
try {
iContingencyInstance.fire(batchNo, "0", step.get("buttonJson").toString(), step.get("caseId").toString(), "FIRE_CONFIRM", "CONFIRM", "0", "true", "false", toke.getToke(), toke.getProduct(), toke.getAppKey(), null);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
}
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}
@Override
public Map<String, Object> firstGetRecord(String batchNo) { public Map<String, Object> firstGetRecord(String batchNo) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
PlanOperationRecord PlanOperationRecord = planOperationRecordDao.findByBatchNo(batchNo); PlanOperationRecord PlanOperationRecord = planOperationRecordDao.findByBatchNo(batchNo);
......
...@@ -259,6 +259,9 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService { ...@@ -259,6 +259,9 @@ public class PlanVisual3dServiceImpl implements IPlanVisual3dService {
if (StringUtil.isNotEmpty(planStep) && StringUtils.isNotBlank(batchNo)) { if (StringUtil.isNotEmpty(planStep) && StringUtils.isNotBlank(batchNo)) {
// 查询当前步骤 // 查询当前步骤
ContingencyOriginalData contingencyOriginalData = contingencyOriginalDataDao.findByBatchNo(batchNo); ContingencyOriginalData contingencyOriginalData = contingencyOriginalDataDao.findByBatchNo(batchNo);
if( null == contingencyOriginalData) {
return null;
}
msgContext.put("currentStep", contingencyOriginalData.getStep()); msgContext.put("currentStep", contingencyOriginalData.getStep());
msgContext.put("confirm", contingencyOriginalData.getConfirm()); msgContext.put("confirm", contingencyOriginalData.getConfirm());
msgContext.put("createDate", contingencyOriginalData.getCreateDate()); msgContext.put("createDate", contingencyOriginalData.getCreateDate());
......
...@@ -31,6 +31,8 @@ public interface IContingencyPlanService { ...@@ -31,6 +31,8 @@ public interface IContingencyPlanService {
ContingencyPlanResponseVo planStart(ContingencyPlanParamVo vo, Toke toke) throws Exception; ContingencyPlanResponseVo planStart(ContingencyPlanParamVo vo, Toke toke) throws Exception;
ContingencyPlanResponseVo planStartFirst(String batchNo, Toke toke) throws Exception;
ContingencyPlanParamVo equipmentScene(Long equipmentId, String riskType); ContingencyPlanParamVo equipmentScene(Long equipmentId, String riskType);
/** /**
......
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