BPM驳回的优化设计

简介:

一、批量审批的概念

1.1什么是批量审批

即相同流程的同一节点(非会签),在审批人通过统一表单填写审批意见后,批量办理当前任务,并将流程状态流向下一节点(或结束)。

所有下一步节点均相同,且下一步审批人亦相同。下一步审批人通过批量任务的任一任务取得,且支持重新选择。

批量操作全部成功,或全部失败。

对于表单页面在打开后,使用js更新表单数据的,不得使用批量审批。

涉及到子表,且子表的数据用于流程运转的控制,无法使用批量审批。

能否使用批量审批,在流程定义和流程配置-批量审批配置中由系统管理员和流程管理员进行定义。

二、实现方案

2.1.简单方案

简单方案不考虑表单,亦不对表单信息做更新。只是通过系统取到下一步节点名称及下一步审批人(下一步审批人支持用户自由选择),并生成下一节点的任务,并将任务指派给下一步审批人。本方案适合简单的线性流程,即只有提交和驳回,且不执行配置的前后置任务。目前提案专利的批量审批即使用简单方案实现,但由于在模块中实现,在不同的节点将批量审批时的需必填的字段先行在审批页面组装,本步骤审批人填写必填字段后,点击审批,直接生成新任务。

2.2.完整方案

完整方案需考虑表单的更新,并能够支持使用除isRe流程变量以外的字段控制流程走向。需支持前后置的执行。

在FlowRunTime的组装中,除processDefineId,taskId,processExecutionId,formDeinfeId,tableDefineId,pkValue外,FomrData即表单字段名与值的对应是关键,FormData在页面打开后使用js搜集数据,并组织对应关系,然后发给后台。由于我们的批量审批不考虑页面打开后,通过js控制的字段更新,即字段更新只允许通过人工参与填写的方式实现,所以先通过tableDefineId和pkValue取得对应的表单数据;

根据ColumnDeinfe、formDefineId、formVersionId,节点名称和表单权限定义得到本步骤必填的字段,根据columnDefine中的控制类型,即是日期、字符、下拉菜单还是textarea等组装成一个新的表单弹框,审批人填写后,并使得系统筛选出来的默认审批人或选择下一步审批人,将这一部分表单数据和数据库中查询得到的数据数据,共同组装成FormData;

多条FormData和taskId、pkValue、processExecutionId以及共同的流程、表单定义id、共同的下一节点名称和下一步审批人,一起传入并循环调用doNextStep,list中的所有运行,即一次批量审批在一个事务中,如有一个运行出现异常或执行失败,所以操作全部回滚至原来的状态。

三、两种方案的比较

简单方案实现较简单,但不支持前后置任务和表单的更新,适用简单的线性流程;

完整方案考虑到了表单的更新和前后置任务的执行,实际是在未打开页面前就将历史表单数据取出,根据表单权限将必填字段由批量审批人统一填写后,再循环单一审批逻辑,达到批量审批的效果。

两种方案目前均不支持下一步节点或下一步审批人各不相同的情况。


     本文转自 gaochaojs 51CTO博客,原文链接:http://blog.51cto.com/jncumter/1744171 ,如需转载请自行联系原作者



相关文章
|
2月前
|
监控 小程序 IDE
开发流程不够清晰?审核驳回不清晰?丨开放平台调研结果反馈(9月)
开发流程不够清晰?审核驳回不清晰?丨开放平台调研结果反馈(9月)
134 0
|
3月前
|
监控 测试技术 调度
测试管理流程有哪些?
测试管理流程有哪些?
|
3月前
|
安全
外贸订单管理的管理要点:流程、准确性、跟进、合理安排资源
在外贸公司的订单管理中,建立订单管理流程是至关重要的。一个完善的流程可以帮助公司更好地管理订单,提高工作效率,确保订单的准确性和及时交付。
95 2
|
10月前
CMMI流程规范—项目风险管理流程及输出物
CMMI流程规范—项目风险管理流程及输出物
182 0
|
6月前
|
安全
量化合约系统开发正式版/规则详细/方案逻辑/功能设计/项目案例/源码出售
The development process of a quantitative contract system refers to the design and development of a trading system for executing automated trading strategies.
|
监控 测试技术
测试思想-流程规范 软件测试缺陷管理流程
测试思想-流程规范 软件测试缺陷管理流程
114 0
|
监控 数据可视化 搜索推荐
什么是BPM系统?BPM流程管理系统介绍
BPM系统(英文全称:Business Process Management,翻译后简称BPM)即业务流程管理系统,是指对端到端业务流程进行建模、分析和优化,以实现战略业务目标,其特点是注重流程驱动为核心,实现端到端全流程信息化管理。BPM方法可以应用于经常重复、正在进行或可预测的任务和流程。
什么是BPM系统?BPM流程管理系统介绍
|
敏捷开发 前端开发 测试技术
一个BUG导致3000万损失!涉及资金交易的功能该如何做好测试和项目管理
一个BUG导致3000万损失!涉及资金交易的功能该如何做好测试和项目管理
206 0
一个BUG导致3000万损失!涉及资金交易的功能该如何做好测试和项目管理
|
供应链 算法 决策智能
APS实现的要点与难点
在前一篇关于文章中讨论了不同层级、粒度的生产计划,在各行业中受重视程度的差异问题。 承蒙大家热烈讨论。本文则在收集各方高见的基础上,对于供应链上各个环节的运营、生产计划再作稍微深入一点的探讨。本文将列举APS技术中常见的重点难点作展开讨论,基保重点的计划场景是制造业的生产计划。
1586 1
|
机器人 人工智能 数据采集
RPA+BPM:企业流程自动化的最佳拍档
RPA+BPM:企业流程自动化的最佳拍档
3525 0