Commit a90f12fc authored by KeYong's avatar KeYong

设备报警红黄码

parent 41879898
package com.yeejoin.equipmanage.common.enums;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
/**
* @author
* @title: EquipQrcodeColorEnum
* <pre>
* @description: TODO
* </pre>
* @date 2020/12/12 14:23
*/
@Getter
@AllArgsConstructor
public enum EquipQrcodeColorEnum {
GREEN("0","绿色"),
YELLOW("1","黄色"),
RED("2","红色");
private String code;
private String describe;
}
......@@ -22,4 +22,6 @@ public class SendToMsgRiskEquipInfoVo {
private String bizOrgName;
private String bizOrgCode;
private Boolean reportIsAlarm;
}
......@@ -271,6 +271,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
private static Boolean bool = Boolean.FALSE;
private static Boolean isAlarm = Boolean.FALSE;
@Autowired
protected EmqKeeper emqKeeper;
......@@ -514,18 +516,24 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
@Override
public void afterCommit() {
equipmentSpecificAlarms.forEach(action -> {
EquipmentSpecific specific = equipmentSpecificMapper.selectById(action.getEquipmentSpecificId());
if (AlarmStatusEnum.BJ.getCode() == action.getStatus()) {
alarmLogs.add(addEquipAlarmLogRecord(action));
if (ValidationUtil.isEmpty(action.getAlamContent())) {
action.setAlamContent(action.getEquipmentSpecificName() + action.getEquipmentSpecificIndexName());
}
specific.setEquipStatus(EquipQrcodeColorEnum.RED.getCode());
isAlarm = Boolean.TRUE;
mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString());
} else {
specific.setEquipStatus(EquipQrcodeColorEnum.GREEN.getCode());
isAlarm = Boolean.FALSE;
alarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), action.getTraceId(),
equipmentSpecificAlarmLogService, false));
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE;
}
equipmentSpecificMapper.updateById(specific);
});
// 直流中心消息推送刷新
......@@ -535,7 +543,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
publishNormalIndexValueToPage(equipmentSpecificIndexList);
// 触发风险---> 站端发送消息到Message服务
publishDataToMessage(equipmentSpecificIndexList);
publishDataToMessage(equipmentSpecificIndexList, isAlarm);
if("zd".equals(system)){
System.out.println("站端系统----------------");
......@@ -1452,7 +1460,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
log.info(String.format("四横八纵遥测指标消息发送:%s", JSON.toJSONString(equipmentSpecificIndexList)));
}
public void publishDataToMessage(List<EquipmentSpecificIndex> equipmentSpeIndexes) {
public void publishDataToMessage(List<EquipmentSpecificIndex> equipmentSpeIndexes, Boolean isAlarm) {
equipmentSpeIndexes.forEach(equipmentSpeIndex -> {
SendToMsgRiskDetailVo detailVo = new SendToMsgRiskDetailVo();
SendToMsgRiskEquipInfoVo equipInfoVo = new SendToMsgRiskEquipInfoVo();
......@@ -1462,6 +1470,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipInfoVo.setCode(equipmentSpeIndex.getEquipmentSpecificCode());
equipInfoVo.setBizOrgCode(equipmentSpeIndex.getBizOrgCode());
equipInfoVo.setBizOrgName(equipmentSpeIndex.getBizOrgName());
equipInfoVo.setReportIsAlarm(isAlarm);
alarmInfoVo.setKey(equipmentSpeIndex.getEquipmentIndexKey());
alarmInfoVo.setValue(equipmentSpeIndex.getValue());
......
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