前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Activiti7笔记(六)activiti加签,转签,会签,任务监听器,添加查询审批意见

Activiti7笔记(六)activiti加签,转签,会签,任务监听器,添加查询审批意见

作者头像
一写代码就开心
发布2022-05-09 10:13:55
3.3K0
发布2022-05-09 10:13:55
举报
文章被收录于专栏:java和python

目录

1 加签功能

我们已经定义好一个bump,并且已经将这个流程保存到数据库中,比如申请请假,有个人申请了请假,经理已经审批完成,总经理改审批了,本来应该是总经理审批完成,这个流程就走完了,这个就是我们在bump里面定义好的,但是这个时候,总经理想让董事长知道这个,想看看董事长的看法,所以需要将这个请假申请加签到董事长,这个董事长审批是不在这个bump里面的,这个要知道;

那么,总经理是如何进行加签到董事长的;代码实现是

代码语言:javascript
复制
taskId参数是当前任务的id,第二个是给谁,加签到谁
根据taskService进行加签,delegateTask这个方法进行加签,不能
使用完成任务的那个方法了

    public boolean delegateTask(String taskId, String loginName) {
        taskService.delegateTask(taskId, loginName);
        return true;
    }

以上就实现了,将一个任务加签到另一个人(董事长); 董事长登录系统,就可以看到当前的任务,董事长就可以完成这个任务,代码是‘

代码语言:javascript
复制
 @Test
    public void resolveTask() {
        String taskId = "2511";
        taskService.resolveTask(taskId);
    }

以上代码就实现了完成当前任务,那么这个董事长将任务完成了,这个任务会到哪里?

会回到加签人那里,谁进行加签的,就会回到谁那里;

2转签功能

就是当前的bump里面最后只是总经理审批,但是在实际中,总经理想把这个申请给了董事长,并且董事长审批完成,不要回来了,直接让下一个人审批;所以就有了转签;转签与加签的区别就是,一个是转签人审批完成,是否会回来; 任务转办是把任务交给别人进行处理 转签的代码是:

代码语言:javascript
复制
第一个参数是当前任务id,第二个参数是转签到的人

 @Override
    public boolean trunTask(String taskId, String assignee) {
        taskService.setAssignee(taskId, assignee);
        return true;
    }

3 会签

3.1 什么是会签

和并行网关一样,多个分支都完成,才能走下一步,这个会签是多个通过,会签通过

在这里插入图片描述
在这里插入图片描述

3.2 会签实现流程

我们画bump文件的时候,对于每一个任务,比如创建申请单,经理审批,总经理审批,每一个就是一个任务,每一个任务完成,自动走到下一个;

现在需求是就对于创建申请单,我们要使用会签,当多个人通过之后,流程才会走到经理审批,也就是对每一个任务节点,都可以使用会签功能;

使用方法是

在这里插入图片描述
在这里插入图片描述

以后创建流程的时候,就会在当前任务表里面,创建list.size个任务,只要符合条件,就走写一个任务

4 任务监听器

用户接到一个任务了,那么需要给他发一个邮件或者短信,就可以使用任务监听器;

4.1 实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上我们选择了以类的形式触发,在任务创建的时候触发;所以我们就需要自己写一个类,之后触发这个类,

定义任务监听类,且类必须实现 org.activiti.engine.delegate.TaskListener 接口

代码语言:javascript
复制
public class MyTaskListener implements TaskListener {
    @Override
    public void notify(DelegateTask delegateTask) {
        if(delegateTask.getName().equals("创建出差申请")&&
                delegateTask.getEventName().equals("create")){
            //这里指定任务负责人
            delegateTask.setAssignee("张三");
        }
    }
} 

使用监听器分配方式,按照监听事件去执行监听类的 notify 方法,方法如果不能正常执行也会影响 任务的执行。

就可以在这个notify方法里面写要触发的事情

写完监听器类之后,

在这里插入图片描述
在这里插入图片描述

这个里面写路径

5 Activiti添加和查询审批意见

添加审批意见

在这里插入图片描述
在这里插入图片描述

保存意见到

在这里插入图片描述
在这里插入图片描述

这个表里面;

查询审批意见

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 1 加签功能
  • 2转签功能
  • 3 会签
    • 3.1 什么是会签
      • 3.2 会签实现流程
      • 4 任务监听器
        • 4.1 实现
        • 5 Activiti添加和查询审批意见
        相关产品与服务
        短信
        腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档