在添加用户审批信息的时候,应该标明当前审批的用户是谁。
比如,在一个请假系统中,用户在提交请假申请后,先由“主管审批”,主管审批通过后由“部门经理”审批。
审批的时候,一般会有审批的批注,比如“通过”、“ok”、“同意”等。
因此,审批过程由二个基本元素组成:"审批人、批注"。
这里可以庆幸的是,Activity工作流已经帮我们完成了相关数据库表的建设,所以,我们只要提供数据即可。
数据库中,act_hi_comment表的USER_ID字段记录了“审批人”,MESSAGE_字段记录了“批注”。
值得一提的是,虽然操作的是 act_hi 开头的历史表,但是Service用的却是 TaskService。
下面是一个具体的例子:
主管审批一个具体的请假请求,输入审批信息,并提交。
后台接收方法如图所示,数据在DEBUG模式下已经给出。
从图中可以看到,核心代码是“设置当前用户”,“添加批注信息”,“完成指定任务”。
添加批注信息这一步,需要提供三个数据:任务的id,流程实例的id,批注信息。
//设置当前批注人标识
Authentication.setAuthenticatedUserId(getCurrentAccount(session).getUsername());
//添加批注信息
taskService.addComment(taskId,executionId,approveInfo);
taskService.complete(taskId);
执行完上述代码后,数据库效果如图所示。