java审批流_activiti实现工作流审批

面的三篇博客中,主要是说Activiti比较基本的,这个是我们项目中设计的Activiti的Designer。

主要解决的问题:

1、提交人可以是任何人。这里我们用变量。

2、审批人用Listener实现,这里我们用Listener,并保存角色,凡有这个角色的人员都可以进行审批。

3、审批有两种参数:批准和驳回。

我们看看我们的流程图:

101002973_1

一、画Intershipone.bpmn

连线就不用说了,跟第二篇是一样的。我们来说之前没有说过的。

在提交申请节点上,我刚刚已经说过了,这里提交人可以是任何人,这个时候,我们用Listener其实也可以,但是是很浪费的一件事情,因此,我们这里就可以使用一个变量就可以了。

101002973_2

这样我们只需要给Assignee一个map的参数就可以了。这个inputUser可以是用户账号。

101002973_3

我们在节点:学术审批和老总审批中都使用taskListenerImpl.Java这个TaskListener,逻辑我们就在notify里面写就好了。

二、TaskListenerImpl.java类

packagecom.tgb.itoo.basic.controller;

importjava.util.List;

importjava.util.Map;

importorg.activiti.engine.ProcessEngine;

importorg.activiti.engine.ProcessEngines;

importorg.activiti.engine.delegate.DelegateTask;

importorg.activiti.engine.delegate.TaskListener;

importorg.activiti.engine.history.HistoricTaskInstance;

importorg.activiti.engine.task.Task;

@SuppressWarnings("serial")

publicclassTaskListenerImplimplementsTaskListener {

/**用来指定任务的办理人*/

@Override

publicvoidnotify(DelegateTask delegateTask) {

//指定个人任务的办理人,也可以指定组任务的办理人

String executeInstanceId = delegateTask.getProcessInstanceId();

String nextLevel="Nobody";

//      IntershipBeanImpl intershipbeanimpl = new IntershipBeanImpl();

//      //个人任务:通过类去查询数据库,将下一个任务的办理人查询获取,然后通过setAssignee()的方法指定任务的办理人

//      String assignee = intershipbeanimpl.findAssigneeByExecutionID("itoo_internship", executeInstanceId);

ProcessEngine processEngine 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值