<?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="demo"><process id="contractChangeRecordClerkApproval" name="合同变更备案会审" isExecutable="true"><startEvent id="sid-hVaMBiCR-Y7XR-4BLN-8Ete-Gv89wktAWF" name="开始" activiti:initiator="initiator" activiti:formKey="/change/change_edit.html"><extensionElements><activiti:formProperty id="contractId" name="合同ID" type="string"/><activiti:formProperty id="docType" name="单据类型" type="string"/></extensionElements></startEvent><userTask id="ContractChangeRecordId" name="备案员" activiti:formKey="/change/change_edit.html"><extensionElements><activiti:formProperty id="APPROVAL_STRATEGY" name="SINGLE_APPROVAL" type="string"/><activiti:formProperty id="APPROVAL_CANDIDATE_RULE" type="enum"><activiti:value id="Record_Clerk" name="{&quot;parameter&quot;:[],&quot;businessRules&quot;:[]}"/></activiti:formProperty><activiti:taskListener event="complete" class="com.hand.ocbm.activity.components.ContractApprovalListener"/></extensionElements></userTask><endEvent id="sid-zhx9QmNs-LlAc-4Us3-84tV-GiaWYigpiAns" name="结束"><extensionElements><activiti:executionListener event="end" class="com.hand.ocbm.activity.components.ApprovalResultHandle"/></extensionElements></endEvent><sequenceFlow id="sid-EF515887-C4AA-49B5-9C62-90F23AF950DC" sourceRef="sid-hVaMBiCR-Y7XR-4BLN-8Ete-Gv89wktAWF" targetRef="ContractChangeRecordId"/><sequenceFlow id="sid-1D37BD6C-FF07-4890-9CF5-7ABB376DC7BB" sourceRef="ContractChangeRecordId" targetRef="sid-zhx9QmNs-LlAc-4Us3-84tV-GiaWYigpiAns"/></process><bpmndi:BPMNDiagram id="BPMNDiagram_contractChangeRecordClerkApproval"><bpmndi:BPMNPlane bpmnElement="contractChangeRecordClerkApproval" id="BPMNPlane_contractChangeRecordClerkApproval"><bpmndi:BPMNShape bpmnElement="sid-hVaMBiCR-Y7XR-4BLN-8Ete-Gv89wktAWF" id="BPMNShape_sid-hVaMBiCR-Y7XR-4BLN-8Ete-Gv89wktAWF"><omgdc:Bounds height="30.0" width="30.0" x="224.015625" y="363.0"/></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="ContractChangeRecordId" id="BPMNShape_ContractChangeRecordId"><omgdc:Bounds height="80.0" width="100.0" x="405.0" y="338.0"/></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sid-zhx9QmNs-LlAc-4Us3-84tV-GiaWYigpiAns" id="BPMNShape_sid-zhx9QmNs-LlAc-4Us3-84tV-GiaWYigpiAns"><omgdc:Bounds height="28.0" width="28.0" x="645.0" y="364.0"/></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="sid-EF515887-C4AA-49B5-9C62-90F23AF950DC" id="BPMNEdge_sid-EF515887-C4AA-49B5-9C62-90F23AF950DC"><omgdi:waypoint x="254.015625" y="378.0"/><omgdi:waypoint x="405.0" y="378.0"/></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sid-1D37BD6C-FF07-4890-9CF5-7ABB376DC7BB" id="BPMNEdge_sid-1D37BD6C-FF07-4890-9CF5-7ABB376DC7BB"><omgdi:waypoint x="505.0" y="378.0"/><omgdi:waypoint x="645.0" y="378.0"/></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</definitions>个人理解:
1,<process id="contractChangeRecordClerkApproval" name="合同变更备案会审" isExecutable="true">
contractChangeRecordClerkApproval:流程实例唯一标志2,<startEvent id="sid-hVaMBiCR-Y7XR-4BLN-8Ete-Gv89wktAWF" name="开始" activiti:initiator="initiator" activiti:formKey="/change/change_edit.html"><extensionElements><activiti:formProperty id="contractId" name="合同ID" type="string"/><activiti:formProperty id="docType" name="单据类型" type="string"/></extensionElements></startEvent>流程启动后这两个属性都会保存到表单作用域--   DelegateTask接口中有对表单操作的属性方法3,<activiti:formProperty id="contractId" name="合同ID" type="string"/><activiti:formProperty id="docType" name="单据类型" type="string"/>启动流程时所需的参数,参数缺失,流程会启动失败!4, <userTask id="ContractChangeRecordId" name="备案员" activiti:formKey="/change/change_edit.html"><extensionElements><activiti:formProperty id="APPROVAL_STRATEGY" name="SINGLE_APPROVAL" type="string"/><activiti:formProperty id="APPROVAL_CANDIDATE_RULE" type="enum"><activiti:value id="Record_Clerk" name="{&quot;parameter&quot;:[],&quot;businessRules&quot;:[]}"/></activiti:formProperty><activiti:taskListener event="complete" class="com.hand.ocbm.activity.components.ContractApprovalListener"/></extensionElements></userTask>     执行任务时的节点,以及节点监听器 ContractApprovalListener继承TaskListener(节点监听器) event="complete"该节点审批完成后触发  还需要实现notify方法(监听器默认调用该方法进醒逻辑处理)5,    <endEvent id="sid-zhx9QmNs-LlAc-4Us3-84tV-GiaWYigpiAns" name="结束"><extensionElements><activiti:executionListener event="end" class="com.hand.ocbm.activity.components.ApprovalResultHandle"/></extensionElements></endEvent>结束时的全局监听器    event="end"  代表整个流程结束之后触发 ApprovalResultHandle继承 ExecutionListener(全局监听器) 还需要实现notify方法(监听器默认调用该方法进行逻辑处理)6,整个配置文件可以将它当做是一个表单1.一体式:把整个流程涉及到的表单放在一个文件然后根据处理的任务名称匹配显示,kft-activiti-demo的普通表单模式就是一体式的做法,把表单内容封装在一个div里面,
div的ID以节点的名称命名,点击“办理”按钮时用对话框的方式把div的内容显示给用户。2.分离式:对于非Ajax应用来说比较常用,每个任务对应一个页面文件,点击办理的时候根据任务的ID动态指定表单页面。 (合同系统)

https://blog.csdn.net/qq_30739519/article/details/51258447(监听器的使用)

GitHub:https://github.com/Activiti/Activiti

常见操作:

1,任务转交:taskService.setAssignee(tasks.get(0).getId(),审批人id);2,查询已创建的流程:List<HistoricProcessInstance> instances = processEngine.getHistoryService().createHistoricProcessInstanceQuery().processInstanceBusinessKey(key).orderByProcessInstanceStartTime().desc().list();
3,查询任务:List<Task> tasks = taskService.createTaskQuery().processInstanceId(instances.get(0).getId()).orderByTaskId().desc().list();
4,创建流程:processEngine.getRuntimeService().startProcessInstanceById(标志)

activity工作流学习相关推荐

  1. java jbpm工作流,三分钟明白 Activity工作流,工作流jbpm

    三分钟明白 Activity工作流,工作流jbpm 一. 什么是工作流 Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每 ...

  2. 三分钟了解Activity工作流引擎

    一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请--上级口头同意--上级将请假记录下来--月底将请假记录上交公司--公司将请假录入电脑 采用工作 ...

  3. Androidz之Activity概要学习

    Androidz之Activity概要学习 1.     Activity类概述 Activity(活动)是一个单独的.能获取焦点的,且能与用户交互的东西.所以我们通常在Activity类中的onCr ...

  4. 审批流_想做流程审批的开发?带你玩转Activity工作流(一)

    现在的很多传统企业转型互联网,最多的"转型"工作之一,就是公司的流程审批模块,如何进行线上运行,实现降本增效. -- 23号老板      01引入 现在的很多传统企业转型互联网, ...

  5. workflow java_workflow java实现的activity工作流实例 Develop 238万源代码下载- www.pudn.com...

    文件名称: workflow下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 134 KB 上传时间: 2014-09-18 下载次数: 3 提 供 者: 张华 详 ...

  6. Activiti工作流学习笔记01

    Activiti6工作流学习笔记01 activiti工作流目前官方最新版本是7.x,但....版本不重要了.这篇笔记只是我学习activiti6过程中的自我总结.如果笔记上有错误的话,欢迎赐教,谢谢 ...

  7. Activiti工作流学习之流程图应用详解

    Activiti工作流学习之流程图应用详解 1.目的 了解Activiti工作流是怎样应用流程图的. 2.环境准备 2.1.相关软件及版本 jdk版本:Jdk1.7及以上 IDE:eclipse 数据 ...

  8. Activity工作流入门篇

    什么是 Activity 工作流引擎 ? 什么是工作流,比如说,我们在公司请假,可能要走审批的流程,从你自己到 Leader,然后从 Leader 到部门经理,然后部门经理再到人事部门,这一系列的流程 ...

  9. Activity 工作流框架学习总结

    环境的搭建和数据表的了解 1. 什么是工作流? 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照 ...

最新文章

  1. 【Linux入门到精通系列讲解】系统调用和库函数路径
  2. LLC算法coding与pooling解析
  3. 判断.java文件中getConnection与cleanUp数量是否匹配
  4. php的addslashes,PHP addslashes()用法及代码示例
  5. 第 6-4 课:MyBatis 核心和面试题(上)
  6. java 矩阵转置_图解利用Java实现数组转置
  7. 京东公布3.8“她的节”消费数据:奢品服饰成交额同比增长170%
  8. MD5 与 Base64一起使用 加密,计算原理
  9. 二叉树 知道度 求节点数
  10. 遂宁让“智慧城市”融入绿色经济发张
  11. 双方确认函_影片份额转让合同约定第一出品方出具确认函后合同生效,未出具而受让方支付投资款的,合同也生效...
  12. mysql查询条件为空时不作为条件_怎么实现当查询值为空时,不作为查询条件
  13. CSS的border属性绘制简单三角形、边框三角形
  14. 亚特兰蒂斯_亚特兰蒂斯的命运与可下载内容的作用
  15. PeopleSoft概述及开发工具(application desinger)介绍
  16. rx全家桶使用博客网址
  17. ireport导出Excel报表的实现
  18. 上海职称不用考计算机和英语翻译,国家翻译专业资格考试将替代职称评定
  19. 考研复试—软件工程(一)
  20. 《数理天地》期刊简介及投稿邮箱

热门文章

  1. 疫情查询 国内疫情显示“无网络”解决方法
  2. brother printer 打印机 winform 小工具
  3. 基于ESP32的WiFi-RSSI定位
  4. Initialization failed for Block pool registering (Datanode Uuid unassigned)
  5. 这两天看了一部剧,很早的片子,叫蜗居,感觉现在的自己现在的心境去看,能看到不一样的内容
  6. ubuntu播放mp4的插件
  7. git: cherry-pick
  8. 键值数据库PebblesDB读后感
  9. magisk安装与配置
  10. 秒杀系统常用的削峰方法