Browse Source

告警流程代码修正

zhongwei
ty 11 months ago
parent
commit
e192312675
  1. 2
      hzims-service-api/alarm-api/src/main/java/com/hnac/hzims/alarm/config/entity/AlarmHandleFlowEntity.java
  2. 183
      hzims-service/hzims-alarm/src/main/java/com/hnac/hzims/alarm/show/service/impl/AlarmHandleFlowServiceImpl.java

2
hzims-service-api/alarm-api/src/main/java/com/hnac/hzims/alarm/config/entity/AlarmHandleFlowEntity.java

@ -39,7 +39,7 @@ public class AlarmHandleFlowEntity extends BaseEntity {
@ApiModelProperty("告警内容") @ApiModelProperty("告警内容")
private String alarmContent; private String alarmContent;
@ApiModelProperty("告警状态 1L,2L,3L,4L,5L 误报 、延后、缺陷 、检修、处理 ") @ApiModelProperty("告警状态 1L,2L,3L,4L,5L,6L 误报 、延后、缺陷 、检修、处理、处理完成 ")
private Long handleWay; private Long handleWay;
// @ApiModelProperty("处理详情ID") // @ApiModelProperty("处理详情ID")

183
hzims-service/hzims-alarm/src/main/java/com/hnac/hzims/alarm/show/service/impl/AlarmHandleFlowServiceImpl.java

@ -35,103 +35,106 @@ import java.util.*;
@Slf4j @Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class AlarmHandleFlowServiceImpl extends BaseServiceImpl<AlarmHandleFlowMapper, AlarmHandleFlowEntity> implements AlarmHandleFlowService{ public class AlarmHandleFlowServiceImpl extends BaseServiceImpl<AlarmHandleFlowMapper, AlarmHandleFlowEntity> implements AlarmHandleFlowService {
private final IMessageClient messageClient; private final IMessageClient messageClient;
private final ISysClient sysClient; private final ISysClient sysClient;
private final IFlowClient processClient; private final IFlowClient processClient;
@Autowired @Autowired
private AlarmHandleMapper alarmHandleMapper; private AlarmHandleMapper alarmHandleMapper;
private final IFdpDiagnoseClient iFdpDiagnoseClient; private final IFdpDiagnoseClient iFdpDiagnoseClient;
@Override @Override
public R listenAndUpdate(ProcessWorkFlowResponse processWorkFlowResponse) { public R listenAndUpdate(ProcessWorkFlowResponse processWorkFlowResponse) {
long taskId; long taskId;
AlarmHandleFlowEntity alarmHandleFlowEntity; AlarmHandleFlowEntity alarmHandleFlowEntity;
log.info("消缺消息开始转换"+processWorkFlowResponse); log.info("消缺消息开始转换" + processWorkFlowResponse);
try { try {
Map<String, Object> variables = (Map<String, Object>) processWorkFlowResponse.getVariables(); Map<String, Object> variables = (Map<String, Object>) processWorkFlowResponse.getVariables();
//现象缺陷全表更新 //现象缺陷全表更新
alarmHandleFlowEntity= JSONObject.parseObject(JSONObject.toJSONString(variables), new TypeReference<AlarmHandleFlowEntity>(){}); alarmHandleFlowEntity = JSONObject.parseObject(JSONObject.toJSONString(variables), new TypeReference<AlarmHandleFlowEntity>() {
} catch (Exception e) { });
log.info("消息转换失败:"+e.getMessage()); } catch (Exception e) {
return R.fail("消息转换失败"); log.info("消息转换失败:" + e.getMessage());
} return R.fail("消息转换失败");
taskId=alarmHandleFlowEntity.getId(); }
//设置当前环节+当前环节处理人 taskId = alarmHandleFlowEntity.getId();
if (StringUtils.isNotEmpty(processWorkFlowResponse.getNextStepOperator())) { //设置当前环节+当前环节处理人
alarmHandleFlowEntity.setCurrentOperator(processWorkFlowResponse.getTaskName()); if (StringUtils.isNotEmpty(processWorkFlowResponse.getNextStepOperator())) {
alarmHandleFlowEntity.setCurrentLinkHandler(processWorkFlowResponse.getNextStepOperator()); alarmHandleFlowEntity.setCurrentOperator(processWorkFlowResponse.getTaskName());
}else { alarmHandleFlowEntity.setCurrentLinkHandler(processWorkFlowResponse.getNextStepOperator());
alarmHandleFlowEntity.setCurrentOperator("流程结束"); } else {
alarmHandleFlowEntity.setCurrentLinkHandler(""); alarmHandleFlowEntity.setCurrentOperator("流程结束");
// 预警 alarmHandleFlowEntity.setCurrentLinkHandler("");
if(AlarmHandleConstant.EARLY_WARNING.equals(alarmHandleFlowEntity.getAlarmType())){ if (1l == alarmHandleFlowEntity.getHandleWay()) {
Map<String, Object> map=new HashMap<>(); //如果是误诊,把处理结果复制到误报原因
map.put("uuid",alarmHandleFlowEntity.getAlarmId()); alarmHandleFlowEntity.setFalseAlarmDesc(alarmHandleFlowEntity.getDealDesc());
map.put("result",alarmHandleFlowEntity.getHandleWay()); alarmHandleMapper.update(null, Wrappers.<AlarmHandleEntity>lambdaUpdate()
if (1l==alarmHandleFlowEntity.getHandleWay()){ .set(AlarmHandleEntity::getHandleWay, alarmHandleFlowEntity.getHandleWay())
//处理发现误报,修改对应状态 .set(AlarmHandleEntity::getFalseAlarmDesc, alarmHandleFlowEntity.getDealDesc())
map.put("result_info",alarmHandleFlowEntity.getDealDesc()); .eq(AlarmHandleEntity::getAlarmId, alarmHandleFlowEntity.getAlarmId()));
alarmHandleMapper.update(null,Wrappers.<AlarmHandleEntity>lambdaUpdate() } else {
.set(AlarmHandleEntity::getHandleWay, alarmHandleFlowEntity.getHandleWay()) //流程结束把告警状态修改为结束
.set(AlarmHandleEntity::getFalseAlarmDesc, alarmHandleFlowEntity.getDealDesc()) alarmHandleFlowEntity.setHandleWay(6L);
.eq(AlarmHandleEntity::getAlarmId, alarmHandleFlowEntity.getAlarmId())); //设置处理完成
alarmHandleMapper.update(null, Wrappers.<AlarmHandleEntity>lambdaUpdate()
.set(AlarmHandleEntity::getHandleWay, 6l)
.set(AlarmHandleEntity::getFalseAlarmDesc, alarmHandleFlowEntity.getDealDesc())
.eq(AlarmHandleEntity::getAlarmId, alarmHandleFlowEntity.getAlarmId()));
}
// 预警,调用fdp
if (AlarmHandleConstant.EARLY_WARNING.equals(alarmHandleFlowEntity.getAlarmType())) {
Map<String, Object> map = new HashMap<>();
map.put("uuid", alarmHandleFlowEntity.getAlarmId());
map.put("result", alarmHandleFlowEntity.getHandleWay());
map.put("result_info", alarmHandleFlowEntity.getDealDesc());
//流程结束后才,调用fdp修改状态的接口
R r = iFdpDiagnoseClient.setFaultStatusInfo(map);
if (!r.isSuccess()) {
throw new ServiceException("修改告警状态异常,请稍后重试!");
}
}
}else { }
//设置处理完成 this.updateById(alarmHandleFlowEntity);
alarmHandleMapper.update(null,Wrappers.<AlarmHandleEntity>lambdaUpdate() //推送消息中心相关消息
.set(AlarmHandleEntity::getHandleWay, 6l) sendMessage(processWorkFlowResponse, alarmHandleFlowEntity, taskId);
.set(AlarmHandleEntity::getFalseAlarmDesc, alarmHandleFlowEntity.getDealDesc()) log.info("消缺消息转换结束" + processWorkFlowResponse);
.eq(AlarmHandleEntity::getAlarmId, alarmHandleFlowEntity.getAlarmId())); return R.success("消息保存成功");
map.put("result_info",alarmHandleFlowEntity.getDealDesc()); }
}
//流程结束后才,调用fdp修改状态的接口
R r = iFdpDiagnoseClient.setFaultStatusInfo(map);
if (!r.isSuccess()){
throw new ServiceException("修改告警状态异常,请稍后重试!");
}
}
}
this.updateById(alarmHandleFlowEntity);
//推送消息中心相关消息
sendMessage(processWorkFlowResponse, alarmHandleFlowEntity,taskId);
log.info("消缺消息转换结束"+processWorkFlowResponse);
return R.success("消息保存成功");
}
private void sendMessage(ProcessWorkFlowResponse processWorkFlowResponse, AlarmHandleFlowEntity alarmHandleFlowEntity,Long taskId) { private void sendMessage(ProcessWorkFlowResponse processWorkFlowResponse, AlarmHandleFlowEntity alarmHandleFlowEntity, Long taskId) {
//推送消息 //推送消息
if (processWorkFlowResponse.getTaskId() != null) { if (processWorkFlowResponse.getTaskId() != null) {
BusinessMessageDTO message = new BusinessMessageDTO(); BusinessMessageDTO message = new BusinessMessageDTO();
message.setBusinessClassify("system"); message.setBusinessClassify("system");
message.setBusinessKey(MessageConstants.BusinessClassifyEnum.WARNING.getKey()); message.setBusinessKey(MessageConstants.BusinessClassifyEnum.WARNING.getKey());
message.setSubject(MessageConstants.BusinessClassifyEnum.WARNING.getDescription()); message.setSubject(MessageConstants.BusinessClassifyEnum.WARNING.getDescription());
message.setTaskId(Optional.ofNullable(taskId).orElse(System.currentTimeMillis())); message.setTaskId(Optional.ofNullable(taskId).orElse(System.currentTimeMillis()));
message.setTenantId("200000"); message.setTenantId("200000");
String countent = String countent =
"您的告警处理流程待审批!告警内容:".concat(Optional.ofNullable(alarmHandleFlowEntity.getAlarmContent()).orElse("")) "您的告警处理流程待审批!告警内容:".concat(Optional.ofNullable(alarmHandleFlowEntity.getAlarmContent()).orElse(""))
.concat(",审批环节:") .concat(",审批环节:")
.concat(processWorkFlowResponse.getTaskName()); .concat(processWorkFlowResponse.getTaskName());
message.setContent(countent); message.setContent(countent);
message.setDeptId(alarmHandleFlowEntity.getCreateDept()); message.setDeptId(alarmHandleFlowEntity.getCreateDept());
R<String> deptName = sysClient.getDeptName(alarmHandleFlowEntity.getCreateDept()); R<String> deptName = sysClient.getDeptName(alarmHandleFlowEntity.getCreateDept());
if (deptName.isSuccess()) { if (deptName.isSuccess()) {
message.setDeptName(deptName.getData()); message.setDeptName(deptName.getData());
} }
String userIds = processWorkFlowResponse.getUserId(); String userIds = processWorkFlowResponse.getUserId();
if (StringUtils.isBlank(userIds)) { if (StringUtils.isBlank(userIds)) {
log.error("推送的消息不能为空哦,{}", userIds); log.error("推送的消息不能为空哦,{}", userIds);
return; return;
} }
message.setUserIds(userIds); message.setUserIds(userIds);
message.setCreateUser(alarmHandleFlowEntity.getCreateUser()); message.setCreateUser(alarmHandleFlowEntity.getCreateUser());
messageClient.sendAppAndWsMsgByUsers(message); messageClient.sendAppAndWsMsgByUsers(message);
} }
} }
} }

Loading…
Cancel
Save