告警生成事件工单
<h1>一、内部通过beemq 消息生成工单</h1>
<h5>通过alert组件和workflow之间通过beemq交互,进行创建工单已经创建工单后的告警状态改变</h5>
<h1>二、对接第三方告警生成工单</h1>
<h5>简要描述</h5>
<ul>
<li>告警自动生成工单接口(一般用于第三方监控对接)</li>
</ul>
<h5>请求URL</h5>
<ul>
<li><code>http://${ip}:8096/workflow/alarm/rest/toEvent</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST </li>
</ul>
<h5>参数示例</h5>
<pre><code> {
"data":[{
"id":"01",
"maintenanceman":"admin",
"starttime":"2021-01-02",
"equipmentname":"test1",
"equipmentip":"127.0.0.1",
"eventdescribe":"test1test1test1test1test1test1test1test1",
"operator":"admin"
}]
}</code></pre>
<h5>参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>告警id</td>
</tr>
<tr>
<td style="text-align: left;">maintenanceman</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">JSON</td>
<td>告警负责人</td>
</tr>
<tr>
<td style="text-align: left;">starttime</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>告警时间</td>
</tr>
<tr>
<td style="text-align: left;">equipmentname</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>设备名称</td>
</tr>
<tr>
<td style="text-align: left;">equipmentip</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>设备ip</td>
</tr>
<tr>
<td style="text-align: left;">eventdescribe</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>告警详情</td>
</tr>
<tr>
<td style="text-align: left;">operator</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>工单创建人</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code> {
"errorCode": 0,
"message": "成功",
"time": 1642760411490,
"responseBody": {
"data": {
"orderNum": "SJJL20220121012",
"id": [
"01"
]
},
"type": "transferOrder"
}
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">orderNum</td>
<td style="text-align: left;">String</td>
<td>创建工单的工单编号</td>
</tr>
<tr>
<td style="text-align: left;">id</td>
<td style="text-align: left;">JSONArray</td>
<td>已转工单的工单告警编号</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<ul>
<li>更多返回错误代码请看首页的错误代码描述</li>
</ul>
<h1>三、实现创建事件工单</h1>
<h5>beemq【参数配置】-》【systemConfig】</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">EventProcessKey</td>
<td style="text-align: left;">String</td>
<td>告警自动转事件工单流程key 如:kfw200318105905138</td>
</tr>
<tr>
<td style="text-align: left;">AlarmToEventProcessScript</td>
<td style="text-align: left;">String</td>
<td>创建工单脚本:AlarmToEventProcess</td>
</tr>
</tbody>
</table>
<h5>脚本实现</h5>
<p>实现AlarmToEventProcess脚本中的toEventProcess方法</p>
<pre><code>/**
*
* @param processKey 流程key
* @param title 标题
* @param eventdescribe 内容
* @param starttime 告警时间
* @param maintenanceman 告警负责人id逗号隔开
* @param maintenancemans 告警负责人id 数组
* @param maintenancemanName 告警负责人name数组
* @param operator 创建人
* @param operatorMap 创建人详细
* @return
*/
public String toEventProcess(String processKey,String title ,String eventdescribe,String starttime,String maintenanceman,String[] maintenancemans, List<String> maintenancemanName ,String operator,Map operatorMap){
//此处实创建工单
/**
* 工单编号填写对应的表单上的中文编号生成
*/
String eventNumber = getCode("[事件工单编号]") ;
return "eventNumber" ;
}</code></pre>
<h5>脚本如下,脚本中toEventProcess方法实现的是目前107 环境已有的事件工单:</h5>
<p><a href="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=05083b1c41844d2f94779a870841f137" title="[AlarmToEventProcess.java">AlarmToEventProcess.java</a></p>