代码结束任务或者通知
流程发的通知本质也是一条任务,所以通过代码结束通知就是通过代码结束任务
一、js结束任务
企业桌面端、小程序和新移动端都适用,具体参考如下:
var task = this.params.task;//task是要结束的任务id
var params = {
process: "/SA/wf/manager/managerProcess",
action: "finishTaskAction",
activity: "waitTask",//结束任务的action
parameters: {
task: task
}
};
this.request({
header: {
"Accept": "application/json"
},
url: "/wf/BusinessServer/business-action",
dataType: 'json',
method: 'POST',
data: params,
success: function (res) {
if (res.data.data && res.data.flag) {
wx.showModal({
showCancel: false,
title: '提示',
content: "任务已结束!"
});
}
else {
wx.showModal({
showCancel: false,
title: '提示',
content: "任务结束失败!"
});
console.error(JSON.stringify(res));
}
},
fail: function (err) {
wx.showModal({
showCancel: false,
title: '提示',
content: "任务结束失败!"
});
console.error(err);
}
})
二、定义服务java中结束任务
自定义服务实现任务的结束,在服务的实现中需要通过http请求的方式调用平台底层的action实现,具体参考如下:
public String jieshurw(String taskid) throws Exception {
//请添加你的业务代码
String serviceUrl = ServiceUtil.getServiceUrl("wf")+"/BusinessServer/business-action";//http请求的具体服务的url
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
Map<String, String> headers = ServiceUtil.getExtHeaders(request);
String action = "finishTaskAction"; //结束任务的action
JSONObject parameters = new JSONObject();
parameters.put("task", taskid);//taskid要结束的任务id
JSONObject params = new JSONObject();
params.put("process", "/SA/wf/manager/managerProcess");
params.put("action", action);
params.put("activity", "waitTask");
params.put("parameters",parameters);
JSONObject reslut = ServiceUtil.post(serviceUrl, params, headers);
return reslut.toJSONString();
}