[工单][自定义函数] 使用自定义触发器,审批通过后,实现工单状态自动变更

[工单][自定义函数] 使用自定义触发器,审批通过后,实现工单状态自动变更

以往通过业务规则和表单规则无法通过工单审批状态的变更而执行动作,现在将使用脚本结合custom trigger的实现方式如下:

1. custom function写脚本如下: 其中状态Assigned是需要被变更的状态,可以使用系统中已有的需要变更的状态进行替换

Info
returnjson = {
"operation":[{
"INPUT_DATA":[{
"request":{
"status":{"name":"Assigned"}
}
}],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}],
"result": "success",
"message": "Status changed to Assign from Approved!!"
};
return returnjson;


2. custom trigger中创建规则,可以修改基于需求的其它个性化条件,本例是要实现,在工单提交审批意见后,如果审批状态是approved,并且工单类型是服务单,技术员不为空,那么执行上述脚本,将工单
状态置为Assigned


3. 根据上述条件服务目录的模板需要注意的地方
       i 技术员需要有预置的值


      ii 需要设置审批流,并且选中“当工单审批通过后才可以指派技术员”

4 测试新建工单,审批通过后,成功执行触发器,将状态置为Assigned

5. 如果需要实现依据工单上某些字段的值指派不同的技术,比如依据priority的值指派不同技术的化,脚本可以按如下格式写

Info
Priority = requestObj.get("priority").get("name");
if(Priority == "high" ){tech = "administrator";id = "5";}
else if ( Priority == "Medium") {tech = "Howard Stern";id = "9";}
returnjson = {
"operation":[{
"INPUT_DATA":[{
"request":{
"status":{"name":"Assigned"},
"technician":{
"id":id,
"name":tech
}
}
}],
"OPERATIONNAME": "UPDATE",
"FORMAT": "V3"
}],
"result": "success",
"message": "Status changed to Assign from Approved!!"
};
return returnjson;