Commit 5eb576ec authored by maoying's avatar maoying

双预案修改

parent 8ba5d81b
...@@ -45,6 +45,8 @@ public class ContingencyInstanceInfo extends Model<ContingencyInstanceInfo>{ ...@@ -45,6 +45,8 @@ public class ContingencyInstanceInfo extends Model<ContingencyInstanceInfo>{
@TableField @TableField
private String duration; private String duration;
private String planRuleNo;
} }
...@@ -99,6 +99,9 @@ public class ContingencyOriginalData extends BusinessEntity { ...@@ -99,6 +99,9 @@ public class ContingencyOriginalData extends BusinessEntity {
@Column(name = "equipment_code") @Column(name = "equipment_code")
private String equipmentCode; private String equipmentCode;
@Column(name = "plan_rule_no")
private String planRuleNo;
/** /**
* 位置 * 位置
...@@ -107,7 +110,15 @@ public class ContingencyOriginalData extends BusinessEntity { ...@@ -107,7 +110,15 @@ public class ContingencyOriginalData extends BusinessEntity {
private String position; private String position;
public String getPosition() { public String getPlanRuleNo() {
return planRuleNo;
}
public void setPlanRuleNo(String planRuleNo) {
this.planRuleNo = planRuleNo;
}
public String getPosition() {
return position; return position;
} }
......
...@@ -84,6 +84,12 @@ public class ContingencyPlanInstance extends BusinessEntity{ ...@@ -84,6 +84,12 @@ public class ContingencyPlanInstance extends BusinessEntity{
@Column(name = "step_code") @Column(name = "step_code")
private String stepCode; private String stepCode;
/**
* 当前预案执行的序号
*/
@Column(name = "plan_rule_no")
private String planRuleNo;
public void setTaskSort(Integer taskSort) { public void setTaskSort(Integer taskSort) {
this.taskSort = taskSort; this.taskSort = taskSort;
...@@ -238,4 +244,12 @@ public class ContingencyPlanInstance extends BusinessEntity{ ...@@ -238,4 +244,12 @@ public class ContingencyPlanInstance extends BusinessEntity{
public void setBatchNo(String batchNo) { public void setBatchNo(String batchNo) {
this.batchNo = batchNo; this.batchNo = batchNo;
} }
public String getPlanRuleNo() {
return planRuleNo;
}
public void setPlanRuleNo(String planRuleNo) {
this.planRuleNo = planRuleNo;
}
} }
...@@ -149,6 +149,46 @@ public class Equipment extends BasicEntity { ...@@ -149,6 +149,46 @@ public class Equipment extends BasicEntity {
*/ */
@Column(name="reserve_source") @Column(name="reserve_source")
private Integer reserveSource; private Integer reserveSource;
/**
* 第二个预案相关参数
*/
private Integer secStatus;
/**
* 预案开始时间
*/
@Column(name="sec_start_time")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date secStartTime;
/**
* 预案结束时间
*/
@Column(name="sec_end_time")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date secEndTime;
/**
* 预案来源:1-手动触发,0-自动触发(默认)
*/
@Column(name="sec_reserve_source")
private Integer secReserveSource;
/**
* 当前设备预案执行的序号
*/
private String planRuleNo;
@Transient
public String getPlanRuleNo() {
return this.planRuleNo;
}
public void setPlanRuleNo(String planRuleNo) {
this.planRuleNo = planRuleNo;
}
public Equipment() { public Equipment() {
} }
......
...@@ -64,9 +64,14 @@ public class PlanDetail extends BasicEntity { ...@@ -64,9 +64,14 @@ public class PlanDetail extends BasicEntity {
private String remark; private String remark;
/** /**
* 预案状态 * 第一个预案状态
*/ */
private Integer status; private Integer status;
/**
* 第二个预案状态
*/
private Integer secStatus;
/** /**
* 创建人 * 创建人
...@@ -102,5 +107,11 @@ public class PlanDetail extends BasicEntity { ...@@ -102,5 +107,11 @@ public class PlanDetail extends BasicEntity {
@Column(name="input_time") @Column(name="input_time")
private Date inputTime; private Date inputTime;
/**
* 当前预案执行的序号
*/
@Column(name = "plan_rule_no")
private String planRuleNo;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -96,5 +96,12 @@ public class PlanOperationRecord extends BasicEntity { ...@@ -96,5 +96,12 @@ public class PlanOperationRecord extends BasicEntity {
*/ */
@Column(name="fire_equipment_id") @Column(name="fire_equipment_id")
private Long fireEquipmentId; private Long fireEquipmentId;
/**
* 预案编号,默认为1,若一个设备有多个预案模型依次递增
*/
@Column(name="plan_rule_no")
private String planRuleNo = "1";
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -26,6 +26,12 @@ public class PlanRule extends BasicEntity { ...@@ -26,6 +26,12 @@ public class PlanRule extends BasicEntity {
*/ */
@Column(name="rule_id") @Column(name="rule_id")
private String ruleId; private String ruleId;
/**
* 第二个规则ID
*/
@Column(name="sec_rule_id")
private String secRuleId;
/** /**
* 预案ID * 预案ID
...@@ -56,6 +62,7 @@ public class PlanRule extends BasicEntity { ...@@ -56,6 +62,7 @@ public class PlanRule extends BasicEntity {
*/ */
@Column(name="plan_step") @Column(name="plan_step")
private String planStep; private String planStep;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -69,4 +69,10 @@ public class BubbleTipAction implements CustomerAction ...@@ -69,4 +69,10 @@ public class BubbleTipAction implements CustomerAction
public void intreeuptPlan(String batchNo) { public void intreeuptPlan(String batchNo) {
} }
@Override
public void secIntreeuptPlan(String batchNo) {
// TODO Auto-generated method stub
}
} }
...@@ -6,4 +6,9 @@ public interface CustomerAction { ...@@ -6,4 +6,9 @@ public interface CustomerAction {
*数字预案中断 *数字预案中断
*/ */
void intreeuptPlan(String batchNo); void intreeuptPlan(String batchNo);
/**
*数字预案2中断
*/
void secIntreeuptPlan(String batchNo);
} }
...@@ -153,4 +153,10 @@ public class RiskSituationAction implements CustomerAction ...@@ -153,4 +153,10 @@ public class RiskSituationAction implements CustomerAction
public void intreeuptPlan(String batchNo) { public void intreeuptPlan(String batchNo) {
} }
@Override
public void secIntreeuptPlan(String batchNo) {
// TODO Auto-generated method stub
}
} }
...@@ -88,6 +88,12 @@ public class SimpleTipAction implements CustomerAction ...@@ -88,6 +88,12 @@ public class SimpleTipAction implements CustomerAction
} }
@Override
public void secIntreeuptPlan(String batchNo) {
// TODO Auto-generated method stub
}
// @SuppressWarnings("unchecked") // @SuppressWarnings("unchecked")
// private void saveMessageAction(AbstractActionResult abstractActionResult,String type) // private void saveMessageAction(AbstractActionResult abstractActionResult,String type)
// { // {
......
...@@ -105,4 +105,8 @@ public class ContingencyRo implements Serializable { ...@@ -105,4 +105,8 @@ public class ContingencyRo implements Serializable {
@Label("位置") @Label("位置")
private String position; private String position;
@Label("预案序号")
private String planRuleNo;
} }
...@@ -91,14 +91,15 @@ public class ContingencyPlanController extends BaseController { ...@@ -91,14 +91,15 @@ public class ContingencyPlanController extends BaseController {
@RequestParam(value = "editOrgName", required = false) String editOrgName, @RequestParam(value = "editOrgName", required = false) String editOrgName,
@RequestParam(value = "implementationTimeLeft", required = false) Long implementationTimeLeftStamp, @RequestParam(value = "implementationTimeLeft", required = false) Long implementationTimeLeftStamp,
@RequestParam(value = "implementationTimeRight", required = false) Long implementationTimeRightStamp, @RequestParam(value = "implementationTimeRight", required = false) Long implementationTimeRightStamp,
@RequestParam(value = "size") int size) { @RequestParam(value = "size") int size,
@RequestParam(value = "planRuleNo", required = false) String planRuleNo) {
if (current < 1 || size < 1) { if (current < 1 || size < 1) {
throw new YeeException("分页参数有误"); throw new YeeException("分页参数有误");
} }
Date implementationTimeLeft = implementationTimeLeftStamp == null ? null : new Date(implementationTimeLeftStamp); Date implementationTimeLeft = implementationTimeLeftStamp == null ? null : new Date(implementationTimeLeftStamp);
Date implementationTimeRight = implementationTimeRightStamp == null ? null : new Date(implementationTimeRightStamp); Date implementationTimeRight = implementationTimeRightStamp == null ? null : new Date(implementationTimeRightStamp);
Page page = new Page(current, size); Page page = new Page(current, size);
return CommonResponseUtil2.success(contingencyPlanService.pageFilter(page, planName, classifyId, planRange, editOrgName, implementationTimeLeft, implementationTimeRight)); return CommonResponseUtil2.success(contingencyPlanService.pageFilter(page, planName, classifyId, planRange, editOrgName, implementationTimeLeft, implementationTimeRight, planRuleNo));
} }
/** /**
......
...@@ -227,7 +227,7 @@ public class EmergencyTaskController extends BaseController{ ...@@ -227,7 +227,7 @@ public class EmergencyTaskController extends BaseController{
@ApiOperation(httpMethod = "POST",value = "新增流程任务", notes = "新增流程任务") @ApiOperation(httpMethod = "POST",value = "新增流程任务", notes = "新增流程任务")
@PostMapping(value = "/task/add", produces = "application/json; charset=UTF-8") @PostMapping(value = "/task/add", produces = "application/json; charset=UTF-8")
public CommonResponse addTaskContent(@RequestBody String stepCode){ public CommonResponse addTaskContent(@RequestBody String stepCode){
iEmergencyTaskService.saveTask(stepCode, null); iEmergencyTaskService.saveTask(stepCode, null, null);
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
......
package com.yeejoin.amos.fas.business.controller; package com.yeejoin.amos.fas.business.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yeejoin.amos.fas.business.action.CustomerAction; import com.yeejoin.amos.fas.business.action.CustomerAction;
import com.yeejoin.amos.fas.business.service.impl.RiskSourceServiceImpl; import com.yeejoin.amos.fas.business.service.impl.RiskSourceServiceImpl;
import com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance; import com.yeejoin.amos.fas.business.service.intfc.IContingencyInstance;
...@@ -15,6 +16,7 @@ import com.yeejoin.amos.fas.core.enums.NumberEnum; ...@@ -15,6 +16,7 @@ import com.yeejoin.amos.fas.core.enums.NumberEnum;
import com.yeejoin.amos.fas.core.util.CommonResponse; import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil; import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
import com.yeejoin.amos.fas.core.util.DateUtil; import com.yeejoin.amos.fas.core.util.DateUtil;
import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
import com.yeejoin.amos.fas.dao.entity.Equipment; import com.yeejoin.amos.fas.dao.entity.Equipment;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -49,6 +51,9 @@ public class TimeLineController extends BaseController { ...@@ -49,6 +51,9 @@ public class TimeLineController extends BaseController {
@Autowired @Autowired
IRuleRunningSnapshotService iRuleRunningSnapshotService; IRuleRunningSnapshotService iRuleRunningSnapshotService;
@Autowired
IContingencyInstance iContingencyInstanceImpl;
@Autowired @Autowired
IEquipmentService equipmentService; IEquipmentService equipmentService;
...@@ -72,9 +77,14 @@ public class TimeLineController extends BaseController { ...@@ -72,9 +77,14 @@ public class TimeLineController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "点击按钮", notes = "点击按钮") @ApiOperation(httpMethod = "POST", value = "点击按钮", notes = "点击按钮")
@RequestMapping(value = "/fire", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/fire", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse fire(@RequestBody PlanExecuteVo vo) throws Exception { public CommonResponse fire(@RequestBody PlanExecuteVo vo) throws Exception {
AgencyUserModel userInfo = getUserInfo(); ContingencyPlanInstance instance = iContingencyInstanceImpl.getMessageById(vo.getContingencyPlanId());
if(ObjectUtils.isEmpty(instance)){
return CommonResponseUtil.failure("预案不存在");
}
AgencyUserModel userInfo = getUserInfo();
String user = userInfo.getRealName(); String user = userInfo.getRealName();
iContingencyInstance.fire(vo.getBatchNo(), vo.getStepCode(), vo.getButtonJson(), vo.getContingencyPlanId(), vo.getButtonCode(), vo.getConfirm(), vo.getStepState(), "true", "false", getToken(), getProduct(), getAppKey(), user); iContingencyInstance.fire(vo.getBatchNo(), vo.getStepCode(), vo.getButtonJson(), vo.getContingencyPlanId(), vo.getButtonCode(), vo.getConfirm(), vo.getStepState()
, "true", "false", getToken(), getProduct(), getAppKey(), user, instance.getPlanRuleNo());
return CommonResponseUtil.success("SUCCESS"); return CommonResponseUtil.success("SUCCESS");
} }
...@@ -84,7 +94,8 @@ public class TimeLineController extends BaseController { ...@@ -84,7 +94,8 @@ public class TimeLineController extends BaseController {
public CommonResponse clickButton(@RequestBody PlanExecuteVo vo) throws Exception { public CommonResponse clickButton(@RequestBody PlanExecuteVo vo) throws Exception {
AgencyUserModel userInfo = getUserInfo(); AgencyUserModel userInfo = getUserInfo();
String user = userInfo.getRealName(); String user = userInfo.getRealName();
iContingencyInstance.clickButton(vo.getBatchNo(), vo.getStepCode(), vo.getButtonJson(), vo.getContingencyPlanId(), vo.getButtonCode(), vo.getConfirm(), vo.getStepState(), "true", "false", getToken(), getProduct(), getAppKey(), user); iContingencyInstance.clickButton(vo.getBatchNo(), vo.getStepCode(), vo.getButtonJson(), vo.getContingencyPlanId()
, vo.getButtonCode(), vo.getConfirm(), vo.getStepState(), "true", "false", getToken(), getProduct(), getAppKey(), user);
return CommonResponseUtil.success("SUCCESS"); return CommonResponseUtil.success("SUCCESS");
} }
...@@ -102,10 +113,18 @@ public class TimeLineController extends BaseController { ...@@ -102,10 +113,18 @@ public class TimeLineController extends BaseController {
Optional<Equipment> equipment = iContingencyInstance.fire(batchNo, stepCode, "", buttonCode, confirm, stepState); Optional<Equipment> equipment = iContingencyInstance.fire(batchNo, stepCode, "", buttonCode, confirm, stepState);
// 结束预案,更新设备重点设备参数 // 结束预案,更新设备重点设备参数
equipment.ifPresent(equip -> { equipment.ifPresent(equip -> {
equip.setStartTime(DateUtil.getDateNow()); if("1".equals(equip.getPlanRuleNo())){
equip.setEndTime(null); equip.setStartTime(DateUtil.getDateNow());
equip.setReserveSource(NumberEnum.ONE.getValue()); equip.setEndTime(null);
equip.setStatus(NumberEnum.ONE.getValue()); equip.setReserveSource(NumberEnum.ONE.getValue());
equip.setStatus(NumberEnum.ONE.getValue());
}else{
equip.setSecStartTime(DateUtil.getDateNow());
equip.setSecEndTime(null);
equip.setSecReserveSource(NumberEnum.ONE.getValue());
equip.setSecStatus(NumberEnum.ONE.getValue());
}
equipmentService.save(equip); equipmentService.save(equip);
}); });
customerAction.intreeuptPlan(batchNo); customerAction.intreeuptPlan(batchNo);
......
...@@ -47,6 +47,9 @@ public interface PlanDetailMapper { ...@@ -47,6 +47,9 @@ public interface PlanDetailMapper {
List<PlanDetailVo> filterList(@Param("planName") String planName, @Param("classifyId") List<Long> classifyId, @Param("planRange") List<String> planRange, @Param("editOrgName") String editOrgName, @Param("implementationTimeLeft") Date implementationTimeLeft, @Param("implementationTimeRight") Date implementationTimeRight, @Param("start") int start, @Param("size") int size); List<PlanDetailVo> filterList(@Param("planName") String planName, @Param("classifyId") List<Long> classifyId, @Param("planRange") List<String> planRange, @Param("editOrgName") String editOrgName, @Param("implementationTimeLeft") Date implementationTimeLeft, @Param("implementationTimeRight") Date implementationTimeRight, @Param("start") int start, @Param("size") int size);
List<String> getRuleIdByEquipment(@Param("id") Long id); List<String> getRuleIdByEquipment(@Param("id") Long id);
List<String> getSecRuleIdByEquipment(@Param("id") Long id);
PlanDetailVo getPlanDetailByEquipmentId(@Param("fireEquipmentId") Long fireEquipmentId); PlanDetailVo getPlanDetailByEquipmentId(@Param("fireEquipmentId") Long fireEquipmentId);
...@@ -57,6 +60,8 @@ public interface PlanDetailMapper { ...@@ -57,6 +60,8 @@ public interface PlanDetailMapper {
String queryBatchNoByFireEquipmentId(@Param("fireEquipmentId") String fireEquipmentId); String queryBatchNoByFireEquipmentId(@Param("fireEquipmentId") String fireEquipmentId);
Map<String,String> queryBatchNoAndRuleNoByFireEquipmentId(@Param("fireEquipmentId") String fireEquipmentId);
PlanDetailVo getPlanDetailById(@Param("id") String id); PlanDetailVo getPlanDetailById(@Param("id") String id);
} }
...@@ -20,6 +20,9 @@ public interface IPlanDetailDao extends BaseDao<PlanDetail, Long> { ...@@ -20,6 +20,9 @@ public interface IPlanDetailDao extends BaseDao<PlanDetail, Long> {
@Query(value="SELECT * from c_plan_detail where status in (?1) AND is_delete = 0 ", nativeQuery = true) @Query(value="SELECT * from c_plan_detail where status in (?1) AND is_delete = 0 ", nativeQuery = true)
List<PlanDetail> findByStatus(Integer[] status); List<PlanDetail> findByStatus(Integer[] status);
@Query(value="SELECT * from c_plan_detail where sec_status in (?1) AND is_delete = 0 ", nativeQuery = true)
List<PlanDetail> findBySecStatus(Integer[] status);
List<PlanDetail> getPlanDetailsByIdInAndIsDelete(List<Long> idList, Boolean isDelete); List<PlanDetail> getPlanDetailsByIdInAndIsDelete(List<Long> idList, Boolean isDelete);
......
...@@ -19,6 +19,10 @@ public interface IPlanOperationRecordDao extends BaseDao<PlanOperationRecord, Lo ...@@ -19,6 +19,10 @@ public interface IPlanOperationRecordDao extends BaseDao<PlanOperationRecord, Lo
@Query(value="SELECT * from c_plan_operation_record where plan_id = ?1 AND is_delete = 0 AND status = 0 ORDER BY create_date DESC", nativeQuery = true) @Query(value="SELECT * from c_plan_operation_record where plan_id = ?1 AND is_delete = 0 AND status = 0 ORDER BY create_date DESC", nativeQuery = true)
List<PlanOperationRecord> findByPlanId1(Long planId); List<PlanOperationRecord> findByPlanId1(Long planId);
@Query(value="SELECT * from c_plan_operation_record where is_delete = 0 AND status = 0 AND plan_id = ?1 AND plan_rule_no = ?2 ORDER BY create_date DESC", nativeQuery = true)
List<PlanOperationRecord> findByPlanIdAndPlanRuleNo(Long planId, String PlanRuleNo);
int countByPlanId(Long planId); int countByPlanId(Long planId);
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.fas.business.event; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.fas.business.event;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.fas.business.action.ContingencyAction; import com.yeejoin.amos.fas.business.action.ContingencyAction;
import com.yeejoin.amos.fas.business.action.model.ContingencyRo; import com.yeejoin.amos.fas.business.action.model.ContingencyRo;
import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent; import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent;
...@@ -16,6 +17,8 @@ import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData; ...@@ -16,6 +17,8 @@ import com.yeejoin.amos.fas.dao.entity.ContingencyOriginalData;
import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance; import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
import com.yeejoin.amos.fas.dao.entity.Equipment; import com.yeejoin.amos.fas.dao.entity.Equipment;
import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
...@@ -39,7 +42,7 @@ import java.util.*; ...@@ -39,7 +42,7 @@ import java.util.*;
@Component @Component
public class BizContingencyHandler implements EventHandler{ public class BizContingencyHandler implements EventHandler{
private final Logger log = LoggerFactory.getLogger(BizContingencyHandler.class);
@Autowired @Autowired
...@@ -101,13 +104,8 @@ public class BizContingencyHandler implements EventHandler{ ...@@ -101,13 +104,8 @@ public class BizContingencyHandler implements EventHandler{
public void updateData(ContingecyExecEvent event) throws Exception { public void updateData(ContingecyExecEvent event) throws Exception {
try { try {
// fire(event.getPlanExecute().getBatchNo(),
// event.getPlanExecute().getStepCode(),
// event.getPlanExecute().getContingencyPlanId(),
// event.getPlanExecute().getButtonCode(),
// event.getPlanExecute().getConfirm(),
// event.getPlanExecute().getStepState());
log.info(String.format("==BizContingencyHandler===fire====updateData==[%s]",JSONObject.toJSONString(event)));
// 更新redis中预案步骤数据 // 更新redis中预案步骤数据
planVisual3dService.updatePlanStepToRedis( planVisual3dService.updatePlanStepToRedis(
event.getPlanExecute().getBatchNo(), event.getPlanExecute().getBatchNo(),
...@@ -115,18 +113,21 @@ public class BizContingencyHandler implements EventHandler{ ...@@ -115,18 +113,21 @@ public class BizContingencyHandler implements EventHandler{
event.getPlanExecute().getButtonJson(), event.getPlanExecute().getButtonJson(),
event.getPlanExecute().getContingencyPlanId(), event.getPlanExecute().getContingencyPlanId(),
event.getPlanExecute().getButtonCode(), event.getPlanExecute().getButtonCode(),
event.getPlanExecute().getIsExecute(), event.getPlanExecute().getIsExecute(),
event.getPlanExecute().getPlanRuleNo(),
event.getPlanExecute().getIsAuto()); event.getPlanExecute().getIsAuto());
setButtonExecuted(event.getPlanExecute().getBatchNo(), setButtonExecuted(event.getPlanExecute().getBatchNo(),
event.getPlanExecute().getContingencyPlanId(), event.getPlanExecute().getContingencyPlanId(),
event.getPlanExecute().getButtonCode(), event.getPlanExecute().getButtonCode(),
event.getPlanExecute().getConfirm(), event.getPlanExecute().getConfirm(),
event.getPlanExecute().getPlanRuleNo(),
RequestContext.getLoginId()); RequestContext.getLoginId());
log.info("========BizContingencyHandler=======> updateData==PlanRuleNo===="+JSON.toJSONString(event.getPlanExecute().getPlanRuleNo()).toString());
} catch (Exception e) { } catch (Exception e) {
throw e; throw e;
} finally { } finally {
// 更新记录之后发送消息刷新 // 更新记录之后发送消息刷新
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, ("1".equals(event.getPlanExecute().getPlanRuleNo())?"plan":"secPlan"));
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("contingency", new ContingencyRo()); result.put("contingency", new ContingencyRo());
result.put("msgContext", Collections.EMPTY_MAP); result.put("msgContext", Collections.EMPTY_MAP);
...@@ -137,9 +138,10 @@ public class BizContingencyHandler implements EventHandler{ ...@@ -137,9 +138,10 @@ public class BizContingencyHandler implements EventHandler{
@Transactional @Transactional
public void setButtonExecuted(String batchNo, String contingencyPlanId, String code, String buttonState,String user) throws Exception { public void setButtonExecuted(String batchNo, String contingencyPlanId, String code, String buttonState, String planRuleNo, String user) throws Exception {
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
ContingencyPlanInstance contingencyPlanInstance = contingencyInstance.getMessageById(contingencyPlanId); ContingencyPlanInstance contingencyPlanInstance = contingencyInstance.getMessageById(contingencyPlanId);
log.info("===============setButtonExecuted=planRuleNo==,{}",JSON.toJSONString(planRuleNo));
if (contingencyPlanInstance != null) { if (contingencyPlanInstance != null) {
if ("OPERATE".equals(contingencyPlanInstance.getRecordType())) { if ("OPERATE".equals(contingencyPlanInstance.getRecordType())) {
...@@ -176,8 +178,9 @@ public class BizContingencyHandler implements EventHandler{ ...@@ -176,8 +178,9 @@ public class BizContingencyHandler implements EventHandler{
} }
} }
ContingencyPlanInstance instance = repository.save(contingencyPlanInstance); ContingencyPlanInstance instance = repository.save(contingencyPlanInstance);
if (buttonState.equals("CONFIRM")) { if (buttonState.equals("CONFIRM")) {
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, ("1".equals(planRuleNo)?"plan":"secPlan"));
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("contingency", new ContingencyRo()); map.put("contingency", new ContingencyRo());
map.put("msgContext", Collections.EMPTY_MAP); map.put("msgContext", Collections.EMPTY_MAP);
...@@ -185,7 +188,7 @@ public class BizContingencyHandler implements EventHandler{ ...@@ -185,7 +188,7 @@ public class BizContingencyHandler implements EventHandler{
webMqttComponent.publish(topic, JSON.toJSONString(map)); webMqttComponent.publish(topic, JSON.toJSONString(map));
} }
if (buttonState.equals("CANCEL_0")) { if (buttonState.equals("CANCEL_0")) {
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, ("1".equals(planRuleNo)?"plan":"secPlan"));
System.out.println("=========================> 规则触发 初始化动作 initOperate "); System.out.println("=========================> 规则触发 初始化动作 initOperate ");
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("contingency", new ContingencyRo()); map.put("contingency", new ContingencyRo());
...@@ -215,7 +218,7 @@ public class BizContingencyHandler implements EventHandler{ ...@@ -215,7 +218,7 @@ public class BizContingencyHandler implements EventHandler{
planStep = planStepService.getPlanStep(); planStep = planStepService.getPlanStep();
} }
JSONArray objects = JSON.parseArray(planStep); JSONArray objects = JSON.parseArray(planStep);
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, ("1".equals(planRuleNo)?"plan":"secPlan"));
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("contingency", new ContingencyRo()); result.put("contingency", new ContingencyRo());
result.put("msgContext", Collections.EMPTY_MAP); result.put("msgContext", Collections.EMPTY_MAP);
......
...@@ -101,9 +101,11 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -101,9 +101,11 @@ public class FireContingencyHandler implements EventHandler{
@Override @Override
public void handler(ContingecyExecEvent event) throws Exception { public void handler(ContingecyExecEvent event) throws Exception {
/** /**
* TODO 只处理调用触发下次原,不错业务数据更新 * TODO 只处理调用触发下次原,不错业务数据更新
*/ */
log.info(String.format("=====FireContingencyHandler===ContingecyExecEvent==[%s]",JSONObject.toJSONString(event)));
fire(event.getPlanExecute().getBatchNo(), fire(event.getPlanExecute().getBatchNo(),
event.getPlanExecute().getStepCode(), event.getPlanExecute().getStepCode(),
event.getPlanExecute().getContingencyPlanId(), event.getPlanExecute().getContingencyPlanId(),
...@@ -122,7 +124,8 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -122,7 +124,8 @@ public class FireContingencyHandler implements EventHandler{
public void fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String isAuto) throws Exception { public void fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String isAuto) throws Exception {
//火灾误报 //火灾误报
ContingencyOriginalData contingencyOriginalData = iContingencyOriginalDataDao.findByBatchNo(batchNo); ContingencyOriginalData contingencyOriginalData = iContingencyOriginalDataDao.findByBatchNo(batchNo);
log.info(String.format("=====FireContingencyHandler===fire==[%s]",JSONObject.toJSONString(contingencyOriginalData)));
String planRuleNo = contingencyOriginalData.getPlanRuleNo();
String stepKey = batchNo + "_" + stepCode; String stepKey = batchNo + "_" + stepCode;
if (stepMap.get(stepKey) == null) if (stepMap.get(stepKey) == null)
stepMap.put(stepKey, ""); stepMap.put(stepKey, "");
...@@ -139,11 +142,7 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -139,11 +142,7 @@ public class FireContingencyHandler implements EventHandler{
&& stepCode.equals(contingencyOriginalData.getStep())) && stepCode.equals(contingencyOriginalData.getStep()))
contingencyOriginalData.setStepState(contingencyOriginalData.getStepState() + stepStateOnbutton); contingencyOriginalData.setStepState(contingencyOriginalData.getStepState() + stepStateOnbutton);
//请求中的步骤小于以保存的步骤
// if (Integer.parseInt(stepCode) < Integer.parseInt(contingencyOriginalData.getStep()) ) {
// contingencyOriginalData.setRunstep(true);
// }
if (Integer.parseInt(stepCode) > Integer.parseInt(contingencyOriginalData.getStep())) { if (Integer.parseInt(stepCode) > Integer.parseInt(contingencyOriginalData.getStep())) {
contingencyOriginalData.setStepState(stepStateOnbutton); contingencyOriginalData.setStepState(stepStateOnbutton);
} }
...@@ -163,12 +162,7 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -163,12 +162,7 @@ public class FireContingencyHandler implements EventHandler{
} else { } else {
contingencyRo.setFireTruckRoute("false"); contingencyRo.setFireTruckRoute("false");
} }
// //需要优化
// ContingencyInstanceInfoVO infoVO = contingencyInstanceInfoService.selectDisposalDetails(batchNo);
// if (!ObjectUtils.isEmpty(infoVO.getPosition())) {
// contingencyOriginalData.setPosition(infoVO.getPosition());
// }
contingencyOriginalData.setPosition(contingencyOriginalData.getFireEquipmentPosition()); contingencyOriginalData.setPosition(contingencyOriginalData.getFireEquipmentPosition());
BeanUtils.copyProperties(contingencyOriginalData, contingencyRo); BeanUtils.copyProperties(contingencyOriginalData, contingencyRo);
...@@ -182,20 +176,6 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -182,20 +176,6 @@ public class FireContingencyHandler implements EventHandler{
} }
log.info("stepstate:" + contingencyRo.getStepState()); log.info("stepstate:" + contingencyRo.getStepState());
log.info("stepCode:" + stepCode); log.info("stepCode:" + stepCode);
// equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(Long.parseLong(contingencyRo.getFireEquipmentId()));
// if (equipment != null) {
// 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()));
//
// ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(equipment.getName()));
// }
if (StringUtils.isNotEmpty(contingencyOriginalData.getEquipmentName())) { if (StringUtils.isNotEmpty(contingencyOriginalData.getEquipmentName())) {
Map<String, Object> params = contingencyRo.getParams(); Map<String, Object> params = contingencyRo.getParams();
...@@ -206,12 +186,9 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -206,12 +186,9 @@ public class FireContingencyHandler implements EventHandler{
params.put("product", amosRequestContext.getProduct()); params.put("product", amosRequestContext.getProduct());
params.put("token", amosRequestContext.getToken()); 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 = "1".equals(planRuleNo)?this.getNumberPlan(Long.parseLong(contingencyRo.getEquipmentId())):
planDetailMapper.getSecRuleIdByEquipment(Long.parseLong(contingencyRo.getEquipmentId()));
ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(contingencyOriginalData.getEquipmentName())); ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(contingencyOriginalData.getEquipmentName()));
} }
...@@ -246,9 +223,10 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -246,9 +223,10 @@ public class FireContingencyHandler implements EventHandler{
ContingencyRo paramObj = new ContingencyRo(); ContingencyRo paramObj = new ContingencyRo();
paramObj.setBatchNo(contingencyRo.getBatchNo()); paramObj.setBatchNo(contingencyRo.getBatchNo());
paramObj.setEquipmentId(contingencyRo.getEquipmentId()); paramObj.setEquipmentId(contingencyRo.getEquipmentId());
paramObj.setPlanRuleNo(contingencyRo.getPlanRuleNo());
contingencyAction.sendcmdT("recordarea", paramObj, result); contingencyAction.sendcmdT("recordarea", paramObj, result);
if (StringUtils.isNotEmpty(contingencyOriginalData.getEquipmentName())) { if (StringUtils.isNotEmpty(contingencyOriginalData.getEquipmentName())) {
publisherPlanLog(stepCode, buttonCode, batchNo); publisherPlanLog(stepCode, buttonCode, batchNo, planRuleNo);
} }
} else { } else {
throw new Exception("数据异常,请联系管理员."); throw new Exception("数据异常,请联系管理员.");
...@@ -261,7 +239,7 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -261,7 +239,7 @@ public class FireContingencyHandler implements EventHandler{
return ruleId; return ruleId;
} }
private void publisherPlanLog(String stepCode, String buttonCode, String batchNo) { private void publisherPlanLog(String stepCode, String buttonCode, String batchNo, String planRuleNo) {
ContingencyEvent event = new ContingencyEvent(this); ContingencyEvent event = new ContingencyEvent(this);
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
JSONObject msgContext = new JSONObject(); JSONObject msgContext = new JSONObject();
...@@ -273,7 +251,7 @@ public class FireContingencyHandler implements EventHandler{ ...@@ -273,7 +251,7 @@ public class FireContingencyHandler implements EventHandler{
json.put("msgType", "message"); json.put("msgType", "message");
json.put("msgContext", msgContext); json.put("msgContext", msgContext);
event.setMsgBody(json.toJSONString()); event.setMsgBody(json.toJSONString());
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, ("1".equals(planRuleNo)?"plan":"secPlan"));
event.setTopic(topic); event.setTopic(topic);
event.setMsgType("clickEvent"); event.setMsgType("clickEvent");
event.setContingency(batchNo); event.setContingency(batchNo);
......
...@@ -143,7 +143,7 @@ public class EmergencyTaskServiceImpl implements IEmergencyTaskService { ...@@ -143,7 +143,7 @@ public class EmergencyTaskServiceImpl implements IEmergencyTaskService {
@Async @Async
@Transactional @Transactional
@Override @Override
public void saveTask(String stepCode, String batchId) { public void saveTask(String stepCode, String batchId, String planRuleNo) {
String planType = null; String planType = null;
if (redisTemplate.hasKey("planType")) { if (redisTemplate.hasKey("planType")) {
planType = redisTemplate.boundValueOps("planType").get(0, -1); planType = redisTemplate.boundValueOps("planType").get(0, -1);
...@@ -170,6 +170,7 @@ public class EmergencyTaskServiceImpl implements IEmergencyTaskService { ...@@ -170,6 +170,7 @@ public class EmergencyTaskServiceImpl implements IEmergencyTaskService {
contingencyPlanInstance.setTaskSort(taskNum); contingencyPlanInstance.setTaskSort(taskNum);
contingencyPlanInstance.setStepCode(stepCode); contingencyPlanInstance.setStepCode(stepCode);
contingencyPlanInstance.setContent(buttonJson); contingencyPlanInstance.setContent(buttonJson);
contingencyPlanInstance.setPlanRuleNo(planRuleNo);
contingencyPlanInstanceRepository.saveAndFlush(contingencyPlanInstance); contingencyPlanInstanceRepository.saveAndFlush(contingencyPlanInstance);
if ("0".equals(stepCode)) { if ("0".equals(stepCode)) {
...@@ -183,7 +184,7 @@ public class EmergencyTaskServiceImpl implements IEmergencyTaskService { ...@@ -183,7 +184,7 @@ public class EmergencyTaskServiceImpl implements IEmergencyTaskService {
planStep = planStepService.getPlanStep(); planStep = planStepService.getPlanStep();
} }
JSONArray objects = JSON.parseArray(planStep); JSONArray objects = JSON.parseArray(planStep);
String topic = String.format("/%s/%s/%s", serviceName, stationName, "plan"); String topic = String.format("/%s/%s/%s", serviceName, stationName, ("1".equals(planRuleNo)?"plan":"secPlan"));
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("contingency", new ContingencyRo()); result.put("contingency", new ContingencyRo());
result.put("msgContext", Collections.EMPTY_MAP); result.put("msgContext", Collections.EMPTY_MAP);
......
...@@ -543,20 +543,20 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService { ...@@ -543,20 +543,20 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
*/ */
@Async @Async
@Override @Override
public String executeDynamicPlan(String batchNo, AlarmParam deviceData, Equipment equipment, EquipmentSpecificForRiskVo equipmentSpecific, Toke toke, Long recordId) { public String executeDynamicPlan(String batchNo, AlarmParam deviceData, Equipment equipment, EquipmentSpecificForRiskVo equipmentSpecific, Toke toke, Long recordId, String planRuleNo) {
RequestContext.setToken(toke.getToke()); RequestContext.setToken(toke.getToke());
RequestContext.setProduct(toke.getProduct()); RequestContext.setProduct(toke.getProduct());
try { try {
sleep(1000); sleep(1000);
alarmContingency(batchNo, equipmentSpecific, equipment, recordId, deviceData.getIsMock()); alarmContingency(batchNo, equipmentSpecific, equipment, recordId, deviceData.getIsMock(), planRuleNo);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return batchNo; return batchNo;
} }
public void alarmContingency(String batchNo, EquipmentSpecificForRiskVo equipmentSpecific, Equipment equipment, Long recordId, Boolean isMock) throws Exception { public void alarmContingency(String batchNo, EquipmentSpecificForRiskVo equipmentSpecific, Equipment equipment, Long recordId, Boolean isMock, String planRuleNo) throws Exception {
ContingencyRo contingencyRo = new ContingencyRo(); ContingencyRo contingencyRo = new ContingencyRo();
contingencyRo.setBatchNo(batchNo); contingencyRo.setBatchNo(batchNo);
contingencyRo.setEquipmentId(String.valueOf(equipment.getId())); contingencyRo.setEquipmentId(String.valueOf(equipment.getId()));
...@@ -574,6 +574,7 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService { ...@@ -574,6 +574,7 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
contingencyRo.getParams().put("equipmentId", equipment.getId()); contingencyRo.getParams().put("equipmentId", equipment.getId());
contingencyRo.setIsMock(isMock); contingencyRo.setIsMock(isMock);
contingencyRo.setPosition(equipmentSpecific.getPosition()); contingencyRo.setPosition(equipmentSpecific.getPosition());
contingencyRo.setPlanRuleNo(planRuleNo);
ContingencyOriginalData contingencyOriginalData = new ContingencyOriginalData(); ContingencyOriginalData contingencyOriginalData = new ContingencyOriginalData();
BeanUtils.copyProperties(contingencyRo, contingencyOriginalData); BeanUtils.copyProperties(contingencyRo, contingencyOriginalData);
......
...@@ -8,7 +8,7 @@ import java.util.Optional; ...@@ -8,7 +8,7 @@ import java.util.Optional;
public interface IContingencyInstance { public interface IContingencyInstance {
ContingencyPlanInstance createInstanceRecord(String instanceNo, String category, String subCategory, String content, String recordType, String icon); ContingencyPlanInstance createInstanceRecord(String instanceNo, String category, String subCategory, String content, String recordType, String icon, String planRuleNo);
...@@ -19,13 +19,17 @@ public interface IContingencyInstance { ...@@ -19,13 +19,17 @@ public interface IContingencyInstance {
void setButtonWait(String batchNo,String contingencyPlanId,String buttonState) throws Exception; void setButtonWait(String batchNo,String contingencyPlanId,String buttonState) throws Exception;
Optional<Equipment> fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton) throws Exception; Optional<Equipment> fire(String batchNo, String stepCode, String contingencyPlanId, String buttonCode, String buttonState
, String stepStateOnbutton) throws Exception;
void updateStep(String step, String batchNo); void updateStep(String step, String batchNo, String planRuleNo);
Optional<Equipment> fire(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String isExecute, String isAuto, String token, String product, String appKey,String startUserName) throws Exception; Optional<Equipment> fire(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode
, String buttonState, String stepStateOnbutton, String isExecute, String isAuto, String token, String product
, String appKey,String startUserName, String planRuleNo) throws Exception;
Optional<Equipment> clickButton(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String buttonState, String stepStateOnbutton, String isExecute, String isAuto, String token, String product, String appKey,String startUserName) throws Exception; Optional<Equipment> clickButton(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode
, String buttonState, String stepStateOnbutton, String isExecute, String isAuto, String token, String product, String appKey,String startUserName) throws Exception;
/** /**
* 扩展属性赋值 * 扩展属性赋值
......
...@@ -98,7 +98,7 @@ public interface IContingencyPlanService { ...@@ -98,7 +98,7 @@ public interface IContingencyPlanService {
* @param implementationTimeRight 实施时间右界限 * @param implementationTimeRight 实施时间右界限
* @return Page * @return Page
*/ */
Page<PlanDetailVo> pageFilter(Page page, String planName, Long classifyId, List<String> planRange, String editOrgName, Date implementationTimeLeft, Date implementationTimeRight); Page<PlanDetailVo> pageFilter(Page page, String planName, Long classifyId, List<String> planRange, String editOrgName, Date implementationTimeLeft, Date implementationTimeRight, String planRuleNo);
/** /**
* 查询预案使用的文档ID * 查询预案使用的文档ID
......
...@@ -28,7 +28,7 @@ public interface IEmergencyTaskService { ...@@ -28,7 +28,7 @@ public interface IEmergencyTaskService {
String getRolesNameByUserId(String userId); String getRolesNameByUserId(String userId);
void saveTask(String stepCode, String batchNo); void saveTask(String stepCode, String batchNo, String planRuleNo);
List<EmergencyTaskContentVo> getMustTaskList(String stepCode, String planType); List<EmergencyTaskContentVo> getMustTaskList(String stepCode, String planType);
} }
...@@ -20,5 +20,5 @@ public interface IEquipmentHandlerService { ...@@ -20,5 +20,5 @@ public interface IEquipmentHandlerService {
void subscribeTopic(); void subscribeTopic();
String executeDynamicPlan(String batchNO, AlarmParam deviceData, Equipment equipment, EquipmentSpecificForRiskVo equipmentSpecific, Toke toke, Long recordId); String executeDynamicPlan(String batchNO, AlarmParam deviceData, Equipment equipment, EquipmentSpecificForRiskVo equipmentSpecific, Toke toke, Long recordId, String planRuleNo);
} }
...@@ -87,7 +87,7 @@ public interface IPlanVisual3dService { ...@@ -87,7 +87,7 @@ public interface IPlanVisual3dService {
void updatePlanStep(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String isExecute); void updatePlanStep(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String isExecute);
void updatePlanStepToRedis(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String isExecute, String isAuto); void updatePlanStepToRedis(String batchNo, String stepCode, String buttonJson, String contingencyPlanId, String buttonCode, String isExecute, String planRuleNo,String isAuto);
Page<ContingencyPlanInstanceVO> selectDisposalActionPage(int current, int size, String batchNo, List<RoleModel> roleModelList, int dataType); Page<ContingencyPlanInstanceVO> selectDisposalActionPage(int current, int size, String batchNo, List<RoleModel> roleModelList, int dataType);
......
...@@ -54,6 +54,9 @@ public class ToipResponse implements Serializable ...@@ -54,6 +54,9 @@ public class ToipResponse implements Serializable
private boolean mockData; private boolean mockData;
public String planRuleNo = "1";
public String toJsonStr() { public String toJsonStr() {
return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField); return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField);
} }
......
...@@ -23,6 +23,8 @@ public class ContingencyPlanParamVo { ...@@ -23,6 +23,8 @@ public class ContingencyPlanParamVo {
*/ */
public String triggerMode = "manual"; public String triggerMode = "manual";
public String planRuleNo = "1";
} }
...@@ -14,4 +14,5 @@ public class PlanExecuteVo { ...@@ -14,4 +14,5 @@ public class PlanExecuteVo {
private String stepState; private String stepState;
private String isAuto; private String isAuto;
private String isExecute; private String isExecute;
private String planRuleNo = "1";
} }
...@@ -1018,4 +1018,111 @@ ...@@ -1018,4 +1018,111 @@
ALTER TABLE `c_plan_classify_tree` ADD COLUMN plan_type varchar(100) NULL COMMENT '分类TYPE'; ALTER TABLE `c_plan_classify_tree` ADD COLUMN plan_type varchar(100) NULL COMMENT '分类TYPE';
</sql> </sql>
</changeSet> </changeSet>
<changeSet author="my" id="2024091301-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="c_plan_operation_record" columnName="plan_rule_no" />
</not>
</preConditions>
<comment>c_plan_operation_record.plan_rule_no</comment>
<sql>
ALTER TABLE `c_plan_operation_record`
ADD COLUMN `plan_rule_no` varchar(5) NULL DEFAULT 1 COMMENT '预案编号,默认为1,若一个设备有多个预案模型依次递增';
</sql>
</changeSet>
<changeSet author="my" id="2024091301-2">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="c_plan_detail" columnName="sec_status" />
</not>
</preConditions>
<comment>c_plan_detail.sec_status</comment>
<sql>
ALTER TABLE `c_plan_detail`
ADD COLUMN `sec_status` int(0) NULL COMMENT '第二个预案运行状态' AFTER `status`;
</sql>
</changeSet>
<changeSet author="my" id="2024091301-3">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="f_equipment" columnName="sec_status" />
</not>
</preConditions>
<comment>f_equipment.sec_status</comment>
<sql>
ALTER TABLE `f_equipment`
ADD COLUMN `sec_status` int(0) NULL COMMENT '第二个预案状态 1-启动 0 未启动' ,
ADD COLUMN `sec_start_time` datetime(0) NULL COMMENT '第二个预案启动时间',
ADD COLUMN `sec_end_time` datetime(0) NULL COMMENT '第二个预案结束时间',
ADD COLUMN `sec_reserve_source` int(0) NULL COMMENT '预案来源:1-手动触发,0-自动触发(默认)';
</sql>
</changeSet>
<changeSet author="my" id="2024091301-4">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="c_plan_rule" columnName="sec_rule_id" />
</not>
</preConditions>
<comment>c_plan_rule.sec_rule_id</comment>
<sql>
ALTER TABLE `c_plan_rule`
ADD COLUMN `sec_rule_id` varchar(32) NULL COMMENT '第二个预案规则id' AFTER `rule_id`;
</sql>
</changeSet>
<changeSet author="my" id="2024091301-5">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="contingency_instance_info" columnName="plan_rule_no" />
</not>
</preConditions>
<comment>contingency_instance_info.plan_rule_no</comment>
<sql>
ALTER TABLE `contingency_instance_info`
ADD COLUMN `plan_rule_no` varchar(5) NULL DEFAULT 1 COMMENT '预案规则执行号默认1执行第一个预案,自动化可执行2第二个';
</sql>
</changeSet>
<changeSet author="my" id="2024091301-6">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="contingency_original_data" columnName="plan_rule_no" />
</not>
</preConditions>
<comment>contingency_original_data.plan_rule_no</comment>
<sql>
ALTER TABLE `contingency_original_data`
ADD COLUMN `plan_rule_no` varchar(5) NULL DEFAULT 1 COMMENT '预案规则执行号默认1执行第一个预案,自动化可执行2第二个';
</sql>
</changeSet>
<changeSet author="my" id="2024091301-7">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="c_plan_detail" columnName="plan_rule_no" />
</not>
</preConditions>
<comment>c_plan_detail.plan_rule_no</comment>
<sql>
ALTER TABLE `c_plan_detail`
ADD COLUMN `plan_rule_no` varchar(5) NULL DEFAULT 1 COMMENT '预案规则执行号默认1执行第一个预案,自动化可执行2第二个';
</sql>
</changeSet>
<changeSet author="my" id="2024091301-8">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="contingency_plan_instance" columnName="plan_rule_no" />
</not>
</preConditions>
<comment>contingency_plan_instance.plan_rule_no</comment>
<sql>
ALTER TABLE `contingency_plan_instance`
ADD COLUMN `plan_rule_no` varchar(5) NULL DEFAULT 1 COMMENT '预案规则执行号默认1执行第一个预案,自动化可执行2第二个';
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
\ No newline at end of file
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
, implementation_time implementationTime , implementation_time implementationTime
, cpd.remark , cpd.remark
, status , status
, sec_status
, creator , creator
, reviser , reviser
, update_time updateTime , update_time updateTime
...@@ -122,6 +123,21 @@ ...@@ -122,6 +123,21 @@
AND equip.is_delete != 1 AND equip.is_delete != 1
AND rule.is_delete !=1 AND rule.is_delete !=1
</select> </select>
<select id="getSecRuleIdByEquipment" parameterType="java.lang.Long" resultType="java.lang.String">
SELECT
sec_rule_id
FROM
c_plan_detail cpd
LEFT JOIN c_plan_rule rule ON rule.plan_id = cpd.id
LEFT JOIN c_plan_equipment equip ON equip.plan_id = cpd.id
LEFT JOIN f_equipment equipment ON equipment.id = equip.fire_equipment_id
where
equipment.id = #{id}
AND equip.is_delete != 1
AND rule.is_delete !=1
</select>
<select id="getPlanDetailByEquipmentId" resultType="com.yeejoin.amos.fas.business.vo.PlanDetailVo"> <select id="getPlanDetailByEquipmentId" resultType="com.yeejoin.amos.fas.business.vo.PlanDetailVo">
select select
d.id, d.id,
...@@ -188,4 +204,21 @@ ...@@ -188,4 +204,21 @@
limit 0, 1 limit 0, 1
</select> </select>
<select id="queryBatchNoAndRuleNoByFireEquipmentId" resultType="Map" >
SELECT
p.batch_no as batchNo,p.plan_rule_no as planRuleNo
FROM
f_equipment_fire_equipment fe
RIGHT JOIN f_equipment e ON fe.equipment_id = e.id
RIGHT JOIN c_plan_operation_record p ON e.id = p.fire_equipment_id
WHERE
fe.fire_equipment_id = #{fireEquipmentId}
AND p.end_time is null
AND p.`status` = 0
ORDER BY p.start_time desc
limit 0, 1
</select>
</mapper> </mapper>
\ 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