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})
    }

}

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 简单的批处理命令_bat批处理执行cmd命令

    简单的批处理命令_bat批处理执行cmd命令批处理命令简单教程转载来源:https://blog.csdn.net/Joker_N/article/details/89838719文章目录批处理命令简单教程一、常用命令简介1、echo命令2、rem命令3、pause命令4、call命令5、start命令6、goto命令7、set命令二、常用符号简介1、回显屏蔽@2、重定向1>;与>>3、重定向2<4、管道符号|5、转义符^6、逻辑命令符三、命令释义1、文件夹管理2、文件管理3、网络命令4、系统管理四

  • js-函数的prototype

    js-函数的prototypeDockerfile

  • linux vi命令 退出不保存,linux vi保存退出命令(如何退出vi)

    linux vi命令 退出不保存,linux vi保存退出命令(如何退出vi)若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令:q!Vi放弃所作修改而直接退到shell下,则Vi在显示窗口的状态行给出提示信息:Fileexists(use!tooverride)此时,在末行模式下,。在末行模式下,若在用此命令退出Vi时,返回到shell;若当前编辑的文件没被修改过,输入命令:wqVi将先保存文件,输入命令:wVi保存当前编辑…

  • DOS下第一个Java程序–HelloWorld[通俗易懂]

    DOS下第一个Java程序–HelloWorld[通俗易懂]DOS下第一个Java程序–HelloWorld1.Java开发环境的搭建1.1安装JDK首先,需要安装JDK(JavaDevelopmentKit,即Java开发工具包),现在用的最多的是1.7和1.8版本。JDK包含了JRE(JavaRuntimeEnvironment,即Java运行环境),JRE包含了JVM(JavaVirtualMachine,即Java虚拟机)。所…

  • leetcode之 两数之和 题目解答C/python

    leetcode之 两数之和 题目解答C/python题目描述链接:https://leetcode-cn.com/problems/two-sum给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]解答C语言:…

发表回复

您的电子邮箱地址不会被公开。

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