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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 云数据库专属集群MyBase_QQ群关系数据库

    云数据库专属集群MyBase_QQ群关系数据库HQY腾讯7000WQQ群关系数据库泄漏共24.52G。QQ24.5gb腾讯QQ群关系数据库,不包含密码。只包含个人名字(群备注名字等信息)。如果想在线查询更多qq群数据信息可以查看:一、下载完24.5gQQ数据库后,解压文件下载后不要把文件改名,打开7z,点击其中一个文件,选择合并文件,合并之后再解压,解压出来应该有22个mdf文件,实际大小应该是91.6G还不到92G。想要数据库下载地址…

    2022年9月1日
    2
  • LeetCode[5]-最长回文子串_leetcode 合并区间

    LeetCode[5]-最长回文子串_leetcode 合并区间给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1:输入:s = “aab”输出:[[“a”,”a”,”b”],[“aa”,”b”]]示例 2:输入:s = “a”输出:[[“a”]] 提示:1 <= s.length <= 16s 仅由小写英文字母组成题解暴搜class Solution {public: vector<vector<st

    2022年8月8日
    4
  • ios事件-触摸事件3(UIButton 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)

    ios事件-触摸事件3(UIButton 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)ios事件-触摸事件3(UIButton和pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()、touchesCancelled()的关系)先看效果图本文中,凡是看到xxx(),即表示xxx是一个函数或者方法!!!事件分为事件传递和事件响应,其中,事件响应又称事件处理。具体代码ButtonVC的代码…

    2022年7月25日
    13
  • chmod的用法_crontab用法

    chmod的用法_crontab用法整理一下chmod用法,给自己看~~~~语法chmod[-cfvR][–help][–version]modefile…参数说明:-c:若该文件权限确实已经更改,才显示其更改动作-f:若该文件权限无法被更改也不要显示错误讯息-v:显示权限变更的详细资料-R:对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)–help:…

    2022年10月19日
    0
  • 1031. Hello World for U (20)[通俗易懂]

    1031. Hello World for U (20)

    2022年2月2日
    276
  • mysql 字符串动态拼接_mysql中的字符串的拼接「建议收藏」

    mysql 字符串动态拼接_mysql中的字符串的拼接「建议收藏」字符串的拼接1,Mysql在Java、C#等编程语言中字符串的拼接可以通过加号“+”来实现,比如:”1″+”3″、”a”+”b”。在MYSQL中也可以使用加号“+”来连接两个字符串,比如下面的SQL:Sql代码SELECT’12’+’33’,FAge+’1’FROMT_Employee执行结果Sql代码’12’+’33’FAge+’1’4526452945244526…

    2022年9月26日
    0

发表回复

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

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