OA流程图绘制指南

必填与非必填参数

自下而上查询时是否允许下级查看

当前流程属于哪个部门 可不填默认使用添加人部门

业务流程除了审核分组不用填其余都是必填项

指定流程申请人或部门

点击空白处 → 右下角 就会出现如下

分别用于设置部门和用户都可以设置多个

指定任务审核人

把任务节点设置为用户节点 右侧便会出现如下 可设置审核人和部门都可以设置多个

节点

会签配置

isSequential=false时,表示的并行执行,即该节点下的多条任务可以同时执行。

activiti:collection:执行该会签环节的参与人,此处是使用的一个名叫publicityList的流程变量

activiti:elementVariable:表示的是每一个分支都有一个名叫publicity的流程变量,和上方的activiti:assignee结合

根据规范的要求,每个上级流程为每个实例创建分支时都要提供如下变量:

nrOfInstances:实例总数 会签人数

nrOfActiveInstances:当前活动的,比如,还没完成的,实例数量。 对于顺序执行的多实例,值一直为1。

nrOfCompletedInstances:已经完成实例的数目。

设置会签受理人

需要注意的是当流程的变量名称不能重名否则会被覆盖

回调

注意一下:提供给oa模块获取业务申请数据的控制器和提供给oa模块做审核完成后回调的控制器 类的命名和接口uri都用上图中的那种
AppInfoController @RequestMapping("/api/v1/app_info")
ProcessCallBackController @RequestMapping("/api/v1/process_call_back")

接口uri调用实现接口里面的 path常量就行了

添加对应流程的路由

添加新类型审核

添加常量

增加流程前缀在OA的接口项目中BusinessProcessKey常量类 增加模块名在 ModuleName常量类如我要给用户配置一个审核如下

之后再按上面添加相应的用户流程

在OA创建相应的接口

命名统一加上模块名前缀 后缀统一使用AppInfoClient,CallbackClient

再到OA的ProcessHandle类中的 getApi方法增加对应的case即可

启动自动完成流程注意事项

  1. 启动自动完成流程时会执行回调 但是调用方启动流程方法还没执行完 使用了事务话那么会导致数据没有提交 会导致执行回调查询时查不到数据,
  2. 保存数据需要放在启动申请之前 防止自动流程申请时回调查询不到数据以及申请时就流程结束了触发的回调

正确做法如下:把执行保存的代码再放到一个方法中 再在上面加上事务 不要直接与逻辑代码写在一起加事务

启动和回调的事务处理

回调Callback接口

实现回调接口 如果回调执行异常则直接抛出异常即可,OA这边会捕获异常记录后

抛出进行回滚

启动流程

启动流程中如果出现了异常OA则会回滚抛出 因此只需要捕获是否有异常如果没有异常则正常提交

如果是批量启动则不会抛出异常 需通过isSuccessfulStartup字段进行判断是否启动成功

activiti创建子流程_OA流程图绘制指南相关推荐

  1. 【弄nèng - Activiti6】Activiti6入门篇(二十一)—— 事务子流程

    文章目录 1. 子流程 1.1 简介 2. 事务子流程 2.1 简介 2.2 流程设计 2.3 测试类 2.4 运行 2.4.1 启动任务 源码地址 项目推荐 部分简介摘抄自官方文档 参考杨大仙的程序 ...

  2. Activity子流程——嵌入式流程

    子流程时包含其他的活动.网关.事件等的活动.其本身构成一个流程,并作为更大流程的一部分.子流程完全在父流程中定义(这就时为什么经常被称作嵌入式子流程). 子流程有两个主要的使用场景: 子流程可以分层建 ...

  3. Activiti子流程学习

    Activiti提供两种子流程实现: 1.嵌入子流程 子流程元素<subProcess>内嵌在主流程元素<process>之内,只能在该流程中使用该子流程,外部是无法访问到的. ...

  4. Activiti 多个并发子流程的应用

    应用场景: 多个部门发起资金计划,最后统一到财务部审批,每个部门发起资金计划是一个子流程,财务部审批是多个部门的计划同时审批,审批完成后,再提交上级领导审批. 流程如下: 要解决以上问题,需要实现多个 ...

  5. Activiti中的关于子流程中的并发节点标记处理

    最近在研究一个轻量级的工作流引擎Activiti,就遇到了子流程中无法标记其并发节点的问题,经过几天的研究,想到了一个简单易懂的方法,总结如下,希望对你们能有所帮助,有写的不对的地方,还希望大家多提宝 ...

  6. Activiti 5.3:子流程(subProcess)

    Activiti 5.3提供了子流程的实现,包括两种基于子流程的实现: 一种是内嵌子流程:子流程元素<subProcess>内嵌在主流程元素<process>之内,只能在该流程 ...

  7. Activiti的BPMN2.0中的子流程

    Activiti的BPMN2.0中的子流程分为两种类型: 第一种:Sub-Process 第二种:Call Activities

  8. activiti 子流程

    https://blog.csdn.net/lazy_cpp/article/details/77979634 https://blog.csdn.net/shirdrn/article/detail ...

  9. 获取第一个子元素_Activiti 开发案例之多实例并行子流程

    概念 Activiti 提供了两种基于子流程的实现: 一种是内嵌子流程:子流程元素<subProcess>内嵌在主流程元素<process>之内,只能在该流程中使用该子流程,外 ...

最新文章

  1. 在后SCI时代需要什么样的人才?
  2. DEV—【GridControl添加按钮列】
  3. 理解正则表达式(程序员第3期文章)
  4. Git复习(六)之标签管理
  5. 查找ipa包,删除接的ipa包
  6. neo4j数据浏览器_Neo4j:在Neo4j浏览器的帮助下探索新数据集
  7. oracle bbed 使用,Oracle BBED使用 四步快速启动Oracle BBED
  8. 九月腾讯,创新工场,淘宝等公司最新面试三十题(更新至10.04)
  9. Android -- WebView进度条
  10. 《天天数学》连载08:一月八日
  11. 文件传输服务器的默认端口,服务器上传文件端口
  12. IDEA中自动导包及快捷键
  13. 计算机d盘无法格式化,四种方法解决D盘无法格式化问题
  14. 【iOS开发】—— 调用相机、相册
  15. 极限脱出 量子计算机,《极限脱出3:零时困境》难点解密攻略 剧情通关密码一览...
  16. ORA-00937: not a single-group group function
  17. 杰奇python采集器_极速杰奇采集器
  18. 一年级课程表(3月7日-3月11日)
  19. 《数据挖掘导论》学习 | 第八章 聚类分析:基本概念和算法
  20. 子网划分-详解为何两台主机网络掩码不一致却能ping通

热门文章

  1. 傅里叶变换的更多性质:相位展开、零相位窗等
  2. QR code 二维码基础入门教程
  3. ConcurrentHashMap 总结( 上 )
  4. 有关上次的字符串是否相等的比较
  5. 文件上传 jqueryForm
  6. 加州大学黑科技:激光使电子设备不再依赖半导体材料
  7. RefreshLayout刷新组件,有详细注释适合使用和中高端学习
  8. [转]:tbox中数据库的使用
  9. python战斗2:看到一个页面编码
  10. jmxtrans安装使用