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


相关推荐

  • Fedora 12 yum源 (很快)[通俗易懂]

    Fedora 12 yum源 (很快)[通俗易懂]新建一个文件,命名为sjtu.repo输入如下代码:[Fedora-ftp.sjtu.edu.cn]name=Fedora10-i386baseurl=http://ftp.sjtu.edu.cn/fedora/linux/releases/10/Fedora/i386/os/enabled=1gpgcheck=0gpgkey=file:///etc/pki/

    2025年11月21日
    8
  • matlab空间计量AIC准则,关于AIC准则

    matlab空间计量AIC准则,关于AIC准则AIC准则提出背景计量经济学研究对象:量化的社会经济问题研究目的:利用已有信息,通过模型发现内在机理,并对未知信息作出统计推断核心问题:保证模型反映数据所代表的主要信息,降低噪声干扰项的影响,保证模型的预测准确性模型包含的信息量能否尽可能大?不能。一是干扰信息无法避免;二是若模型包含了全部信息,则模型的复杂度也会相应提高,相应地会提高经济学成本;三是人无法对模型的准确性做出客观而科学的评断。信息论…

    2022年5月10日
    34
  • SQL Server 动态掩码「建议收藏」

    SQL Server 动态掩码「建议收藏」SQL Server 动态掩码

    2022年4月21日
    58
  • 只有一个源视频的Deepfakes简介[通俗易懂]

    只有一个源视频的Deepfakes简介[通俗易懂]Deepfakes简介Deepfakes是人工智能生成的任何人或名人的合成视频,它冒充真实的人,并让他们采取行动或说出他们从未做过的任何事情。Deepfake的创建过程在技术上很复杂…

    2022年5月25日
    80
  • 深入理解Java注解类型(@Annotation)[通俗易懂]

    深入理解Java注解类型(@Annotation)[通俗易懂]【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)http://blog.csdn.net/javazejian/article/details/71860633出自【zejian的博客】关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解

    2022年7月8日
    26
  • 数组与集合相互转换的方法_字符串数组转集合list

    数组与集合相互转换的方法_字符串数组转集合list数组Array与集合List相互转化有两种方式,一种是自己手动转化,一种是直接使用集合或数组自带的方法转化数组转化集合:方法一:手动转化List<String>list=newArrayList<>();String[]array=newString[]{“hello”,”hi”,”nihao”};for(inti=0;i<array.length;i++){list.add(array[i]);}方法二:使用集合

    2026年1月21日
    3

发表回复

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

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