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 ,如需转载请自行联系原作者



相关文章
|
7月前
|
安全
dapp互助预约排单系统开发步骤指南/案例设计/规则详细/方案逻辑/源码程序
-Determine the core functions and objectives of the system, understand user needs and expectations.
|
3月前
|
安全
外贸订单管理的管理要点:流程、准确性、跟进、合理安排资源
在外贸公司的订单管理中,建立订单管理流程是至关重要的。一个完善的流程可以帮助公司更好地管理订单,提高工作效率,确保订单的准确性和及时交付。
88 2
|
8月前
|
安全
交易所系统开发规则案例丨需求分析丨功能设计丨详细步骤丨源码逻辑
Before developing a digital currency exchange system, a detailed requirement analysis is required. Firstly, it is necessary to clarify the types of digital currencies and trading varieties that the system needs to support. Secondly, it is necessary to determine the user roles and permission manageme
|
8月前
关于短剧cps分销系统开发详细逻辑丨案例开发丨方案设计丨源码说明
短剧CPS系统的开发可以提升创作效率、内容管理效率和分发渠道的扩展。它为短剧的创作者、制片方、编辑和观众提供了更好的使用体验,促进了短剧产业的发展和商业化。
|
10月前
CMMI流程规范—项目风险管理流程及输出物
CMMI流程规范—项目风险管理流程及输出物
181 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.
|
10月前
|
测试技术 项目管理
CMMI流程—配置管理流程
CMMI流程—配置管理流程
394 0
|
10月前
|
项目管理
CMMI流程-培训管理
CMMI流程-培训管理
83 0
|
10月前
|
开发框架 安全 JavaScript
现货合约跟单量化交易系统开发策略详情/案例分析/方案设计/源码说明
dapp是指去中心化应用程序,运行于区块链上。它们基于区块链技术,具有自主管理的智能合约
|
监控 数据可视化 搜索推荐
什么是BPM系统?BPM流程管理系统介绍
BPM系统(英文全称:Business Process Management,翻译后简称BPM)即业务流程管理系统,是指对端到端业务流程进行建模、分析和优化,以实现战略业务目标,其特点是注重流程驱动为核心,实现端到端全流程信息化管理。BPM方法可以应用于经常重复、正在进行或可预测的任务和流程。
什么是BPM系统?BPM流程管理系统介绍