Activiti6.0数据库表分析

本文通过分析一个简单的请假流程,详细阐述了Activiti6.0在流程不同阶段与数据库表之间的交互,涉及流程定义、发布、请假申请、审批等过程,揭示了Activiti在流程实例化、审批状态变更时数据库表数据的变化情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文以一个简单的请假流程为例,分析在流程在流转的过程中,Activiti相关表数据的变化,从而深入学习Activiti。

1.流程定义

流程图如下:


具体配置如下,领导审批任务中提交的result值,会在网关进行判断,如果为false,则打回到开始的StartEvent。

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://activiti.org/bpmn20" id="review-definitions">
  <process id="sysTakeLeave" name="Review And Approve Activiti Process" isExecutable="true">
    <startEvent id="startevent1" name="Start">
      <extensionElements>
        <activiti:formProperty id="staffId" name="员工" type="string"></activiti:formProperty>
      </extensionElements>
    </startEvent>
    <userTask id="applyLeaveTask" name="请假申请" activiti:candidateUsers="${staffId}">
      <extensionElements>
        <activiti:formProperty id="reason" name="原因" type="string" required="true"></activiti:formProperty>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="applyLeaveTask"></sequenceFlow>
    <exclusiveGateway id="exclusivegateway1" name="审批是否通过" default="approved"></exclusiveGateway>
    <sequenceFlow id="flow2" sourceRef="reviewLeaveTask" targetRef="exclusivegateway1"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="approved" name="审批通过" sourceRef="exclusivegateway1" targetRef="endevent1"></sequenceFlow>
    <sequenceFlow id="refused" name="拒绝" sourceRef="exclusivegateway1" targetRef="startevent1">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[${!result}]]></conditionExpression>
    </sequenceFlow>
    <userTask id="reviewLeaveTask" name="领导审批" activiti:candidateUsers="${leaveService.getManagerIds(staffId)}">
      <extensionElements>
        <activiti:formProperty id="managerId" name="经理" type="string" required="true"></activiti:formProperty>
        <activiti:formProperty id="result" name="结果" type="boolean">
          <activiti:value id="true" name="同意"></activiti:value>
          <activiti:value id="false" name="不同意"></activiti:value>
        </activiti:formProperty>
      </extensionElements>
    </userTask>
    <sequenceFlow id="flow5" sourceRef="applyLeaveTask" targetRef="reviewLeaveTask"></sequenceFlow>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_sysTakeLeave">
    <bpmndi:BPMNPlane bpmnElement="sysTakeLeave" id="BPMNPlane_sysTakeLeave">
      <bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="90.0" y="151.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="applyLeaveTask" id="BPMNShape_applyLeaveTask">
        <omgdc:Bounds height="55.0" width="105.0" x="210.0" y="141.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="exclusivegateway1" id="BPMNShape_exclusivegateway1">
        <omgdc:Bounds height="40.0" width="40.0" x="520.0" y="148.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
        <omgdc:Bounds height="35.0" width="35.0" x="605.0" y="151.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="reviewLeaveTask" id="BPMNShape_reviewLeaveTask">
        <omgdc:Bounds height="55.0" width="105.0" x="370.0" y="141.0"></omgdc:Bounds>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
        <omgdi:waypoint x="125.0" y="168.0"></omgdi:waypoint>
        <omgdi:waypoint x="210.0" y="168.0"></omgdi:waypoint>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
        <omgdi:waypoint x="475.0" y="168.0"></omgdi:waypoint>
        <omgdi:waypoint x="52
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值