Activiti6+SpringBoot---一个角色多个人进行审批入门小案例

1. 设计流程图

在这里插入图片描述

2. Bpmn文件

填写请假单:使用流程变量,指定当前登录的人未任务执行者
项目经理审批:小于等于3天,为一个角色,可以有多个人可以进行审批,项目中设置为(王一,王二,王三)
总经理审批:大于3天,只有一个总经理,指定一个人进行审批,项目中设置为(王大)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:tns="http://www.activiti.org/test" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.w3.org/1999/XPath" id="m1596608849637" name="" targetNamespace="http://www.activiti.org/test" typeLanguage="http://www.w3.org/2001/XMLSchema">
  <process id="leave" isClosed="false" isExecutable="true" processType="None">
    <startEvent id="_2" name="开始"/>
    <userTask activiti:assignee="${inputUser}" activiti:exclusive="true" id="_3" name="填写请假单"/>
    <exclusiveGateway gatewayDirection="Unspecified" id="_4" name="排他网关"/>
    <userTask activiti:assignee="王大" activiti:exclusive="true" id="_5" name="总经理审批"/>
    <userTask activiti:candidateUsers="王一,王二,王三" activiti:exclusive="true" id="_6" name="项目经理审批">
    </userTask>
    <endEvent id="_7" name="结束"/>
    <sequenceFlow id="_8" sourceRef="_2" targetRef="_3"/>
    <sequenceFlow id="_9" sourceRef="_3" targetRef="_4"/>
    <sequenceFlow id="_10" name="大于三天" sourceRef="_4" targetRef="_5">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${
   day>3}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="_11" name="小于三天" sourceRef="_4" targetRef="_6">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${
   day<=3}]]></conditionExpression>
    </sequenceFlow>
    <sequenceFlow id="_12" sourceRef="_5" targetRef="_7"/>
    <sequenceFlow id="_13" sourceRef="_6" targetRef="_7"/>
  </process>
  <bpmndi:BPMNDiagram documentation="background=#000000;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0" id="Diagram-_1" name="New Diagram">
    <bpmndi:BPMNPlane bpmnElement="leave">
      <bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2">
        <omgdc:Bounds height="32.0" width="32.0" x="0.0" y="345.0"/>
        <bpmndi:BPMNLabel>
          <omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
        <
结合你提出的关于Activiti7和用户管理流程的问题,以下是一个全面的指南来帮助你在SpringBoot项目中集成Activiti7并实现一个简单的用户管理流程。这里会涉及BPMN、DMN和CMMN的基本概念,并提供相应的流程定义和实现步骤。 参考资源链接:[Activiti7工作流深度解析与入门教程](https://wenku.csdn.net/doc/6tzc19bi3i?spm=1055.2569.3001.10343) 首先,我们需要理解在SpringBoot中集成Activiti7的基本步骤。你可以参考《Activiti7工作流深度解析与入门教程》一书,它详细介绍了如何开始,并提供了入门案例。 1. 创建SpringBoot项目,并添加Activiti7和MySQL依赖。 2. 配置数据库连接,并进行Activiti7的相关配置。 3. 使用BPMN 2.0 XML定义流程,可以包括用户任务、服务任务、网关等元素。 4. 创建流程定义的DMN决策表,以便处理流程中需要的决策逻辑。 5. 如果需要,使用CMMN来描述更加复杂的案例管理流程。 例如,我们可以定义一个用户注册流程,它包含以下步骤: - 用户提交注册信息。 - 系统自动验证信息。 - 如果信息有误,反馈给用户。 - 如果信息正确,进行审批流程。 - 审批通过后,创建用户账号。 - 最终通知用户注册成功。 在流程定义中,我们可以设置不同的网关和任务来处理不同的业务逻辑。例如,使用DMN来定义审批规则,以及使用CMMN来管理审批过程中的例外情况。 一旦流程定义完毕,你需要使用Activiti提供的API来部署流程定义,启动流程实例,并监控流程的执行状态。你还可以编写监听器和自定义服务来处理特定的业务逻辑,比如用户信息的验证和账号的创建。 集成Activiti7到SpringBoot项目并实现用户管理流程是一个复杂的过程,需要对BPMN、DMN和CMMN有深入的理解。在《Activiti7工作流深度解析与入门教程》中,你可以找到许关于这些主题的详细信息,这将帮助你更有效地构建和管理业务流程。 在完成这些步骤后,你应该能够实现一个简单的用户管理流程,并熟悉如何在SpringBoot项目中集成Activiti7。如果你想要继续提升你的技能,可以进一步探索Activiti7的高级功能,如动态流程修改、租户支持等,并将这些高级特性应用到实际的业务场景中。 参考资源链接:[Activiti7工作流深度解析与入门教程](https://wenku.csdn.net/doc/6tzc19bi3i?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值