上一节中,成功部署了相应的流程ZIP,接下来可以利用这个部署的流程来开发业务了。
如图,首先我们可以添加一个请假申请,这个功能相对比较简单,增删改查就不在这里讲述了,直接跳过。
重点是在做保存之后需要申请请假的这个功能,它需要把已经部署的流程的KEY取到,和这个请假业务相关联,并一起保存到数据库中。这里有相应的代码提示,可以参考一下:
/**更新请假状态,启动流程实例,让启动的流程实例关联业务*/
@Override
public void saveStartProcess(WorkflowBean workflowBean) {
//1:获取请假单ID,使用请假单ID,查询请假单的对象LeaveBill
Long id = workflowBean.getId();
LeaveBill leaveBill = leaveBillDao.findLeaveBillById(id);
//2:更新请假单的请假状态从0变成1(初始录入-->审核中)
leaveBill.setState(1);
//3:使用当前对象获取到流程定义的key(对象的名称就是流程定义的key)
String key = leaveBill.getClass().getSimpleName();
/**
* 4:从Session中获取当前任务的办理人,使用流程变量设置下一个任务的办理人
* inputUser是流程变量的名称,
* 获取的办理人是流程变量的值
*/
Map<String, Object> variables = new HashMap<String,Object>();
variables.put("inputUser", SessionContext.get().getName());//表示惟一用户
/**
* 5: (1)使用流程变量设置字符串(格式:LeaveBill.id的形式),通过设置,让启动的流程(流程实例)关联业务
(2)使用正在执行对象表中的一个字段BUSINESS_KEY(Activiti提供的一个字段),让启动的流程(流程实例)关联业务
*/
//格式:LeaveBill.id的形式(使用流程变量)
String objId = key+"."+id;
variables.put("objId", objId);
//6:使用流程定义的key,启动流程实例,同时设置流程变量,同时向正在执行的执行对象表中的字段BUSINESS_KEY添加业务数据,同时让流程关联业务
runtimeService.startProcessInstanceByKey(key,objId,variables);
}
点击” 申请请假 “菜单,开启流程,流程的第一步是” 提交申请 “,可以自己点击” 办理任务 “,完成流程的第一步操作;也可以查看一下当前流程图,看看自己处在那一步。
之后的话,再进入菜单,会看见
**************************************************************************************************