Activity 工作流引擎[通俗易懂]

Activity 工作流引擎[通俗易懂]Activiti工作流引擎使用详解http://blog.csdn.net/m0_37327416/article/details/71743368Activity用户手册http://www.mossle.com/docs/activiti/index.html#demo.setup.one.minute.version学习视频https://item.taobao

大家好,又见面了,我是你们的朋友全栈君。

Activiti工作流引擎使用详解 http://blog.csdn.net/m0_37327416/article/details/71743368

Activity用户手册 http://www.mossle.com/docs/activiti/index.html#demo.setup.one.minute.version

学习视频 https://item.taobao.com/item.htm?id=545220457066

简单了解Activity流程图 https://www.cnblogs.com/hellowood23/p/5437909.html

Activity各表详解 http://blog.csdn.net/hj7jay/article/details/51302829

Activity-api https://www.activiti.org/userguide/#_rest_api

Activity与web项目结合 https://www.cnblogs.com/xiaochangwei/p/5443173.html

Activity集成diagram-viewer页面展示流程跟踪图 http://blog.csdn.net/hj7jay/article/details/50781083

咖啡兔主站 http://www.kafeitu.me/

自己的小例子

结合业务开启流程:

    @Transactional(readOnly = false)
    public void save(OaInstallTask oaInstallTask) {
        //生成(保存)安装单
        super.save(oaInstallTask);
        //#################这里开始写activity开启流程####################
        //设置流程变量
        Map<String, Object> variables = Maps.newHashMap();
        variables.put("pass", "0");//控制流程线的走向(流程方向线中的属性:流条件->${pass==0})
        variables.put("oaInstallTaskId", oaInstallTask.getId());
        variables.put("oaInstallTask.CreateBy", oaInstallTask.getCreateBy().getName());
        variables.put("oaInstallTask.CreateDate", oaInstallTask.getCreateDate());
        //记录流程发起人
        identityService.setAuthenticatedUserId(UserUtils.getUser().getLoginName());
        //开启流程
        String processDefinitionKey = ActUtils.PD_INSTALL_TASK[0];
        String businessKey = ActUtils.PD_INSTALL_TASK[1]+":"+oaInstallTask.getId();
        ProcessInstance procIns = runtimeService.startProcessInstanceByKey(processDefinitionKey, businessKey, variables);
        //#################这里写完写activity开启流程####################
        //保存到安装单里
        oaInstallTask.setProcInsId(procIns.getProcessInstanceId());
        //更新(保存)安装单
        super.save(oaInstallTask);
    }

用户任务中的执行监听器

package com.thinkgem.jeesite.modules.oainstalltask.service;

import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;

public class AssingeeGroup implements ExecutionListener { 
   

    private static final long serialVersionUID = 1L;

    @Override
    public void notify(DelegateExecution execution) throws Exception {
        System.out.println("getCurrentActivityId:"+execution.getCurrentActivityId());
        execution.setVariable("userGroup", "repair");//角色英文名,分配用户里的候选用户组(${userGroup})
    }

}

流程图
这里写图片描述
箭头方向位置是一个执行监听器,在这里配置用户任务中的执行监听器

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135333.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Jquery最常见的ajax写法「建议收藏」

    Jquery最常见的ajax写法「建议收藏」1.方式一$.ajax({url:”,type:”,dataType:”,data:”,headers:”,success:function(msg){},error:function(msg){}});参数含义:url:要求为String类…

    2022年9月29日
    3
  • Linux 常用操作命令大全(最后更新时间:2022年1月)「建议收藏」

    Linux 常用操作命令大全(最后更新时间:2022年1月)「建议收藏」主要介绍Linux常用命令,可以帮助新手快速掌握Linux系统的基本使用,值得收藏。。

    2022年6月2日
    36
  • 迅雷修改tracker服务器,qBittorrent 添加自定义 Tracker 的方法[通俗易懂]

    迅雷修改tracker服务器,qBittorrent 添加自定义 Tracker 的方法[通俗易懂]之前一直用uTorrent,前几天试了下qBittorrent之后,发现qBittorrent更容易添加自定义Tracker地址。uTorrent还需要每次添加或者修改Tracker服务器地址,而qBittorrent可以设置自动添加Tracker地址,而不需要每次下载都添加了。方法很简单:1.打开qBittorrent之后,点击工具→选项:2.在打开的界面中点击左…

    2022年9月27日
    2
  • 平均数,中位数,众数 三者的联系与区别是_中数一定是数吗

    平均数,中位数,众数 三者的联系与区别是_中数一定是数吗原文链接:http://www.360doc.com/content/18/0717/09/57858800_771067787.shtml个人理解,说简单点:一组数据中如果有特别大的数或特别小的数时,一般用中位数一组数据比较多(20个以上),范围比较集中,一般用众数其余情况一般还是平均数比较精确一、联系与区别:  1、平均数是通过计算得到的,因此它会因每一个数据的变化而变…

    2025年12月14日
    5
  • html中的空格怎么写,html中空格代码是什么?(总结)

    html中的空格怎么写,html中空格代码是什么?(总结)首页>web前端>html教程>正文HTML中空格代码是什么?(总结)原创2018-08-对于新手小白来说,html空格符号代码的书写可能有点茫然,那么本篇文章就给大家总结介绍关于html空格代码的多种表示方法。希望对大家有一定的帮助。HTML提供了6种空格(),它们拥有不同的宽度。一、nbsp;非断行空格,是常规空格的宽度,可运行于所有主流浏览器。其它几种空格(ensp;、em…

    2022年6月21日
    70
  • xsync 集群同步脚本「建议收藏」

    xsync 集群同步脚本「建议收藏」scp和rsync均是远程拷贝,rsync远程分发xsync集群分发脚本循环复制文件到所有节点相同的目录下新建一个脚本touchxsync.shvimxsync.sh#!/bin/bash#$#:表示传递给脚本或函数的参数个数。#1获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0));thenechonoargs…

    2022年6月2日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号