Java工作流引擎节点接收人设置“按自定义SQL计算”系列讲解
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则
适配数据库: oralce,mysql,sqlserver,Informix, PostgreSQL 达梦
接受人规则,就是为了解决下一步发送人的范围所制定的各种规则。审批、生产环境有很多的不确定性,更多的时候需要自动确定接受人的范围,为了适应不同场合下的需要我的制定了如下接收人规则。
按设置的SQL获取接受人计算
按SQL计算通俗好理解,就是CCBPM在执行一个查询sql时,返回一个数据源,在数据源里约定该节点的接收人信息。
设置方法: 在当前节点属性里 [接受人SQL]设置一个sql 语句. 这个select 查询语句有一个列. No 分别表示,操作
编号, 操作员名称. 这个sql可以有参数.
比如: 1, SELECT No,Name FROM PORT_EMP WHERE FK_Dept=@WebUser.FK_Dept
查询出来当前操作员中的部门下的所有人员.
2, SELECT xxx as No, yyy as Name FROM dbo.xxxx.YourTable WHERE 字段名称=@表单字段名称.
从您的业务系统中,查找一组人员,变量可以是当前节点字段的编号,格式为 @+字段英文名称.
关于合流点的接受人按sql获取接受的表达式的问题
注意子线程向合流点发送时,接受人规则的表达式的变量是临近合流点的子线程节点变量。
比如: 流程编号为ABC三个节点.
A 是分流点,B是合流点 C是子线程。
如果C的接受人员规则是按sql计算:
配置的表达式如下表达式是错误的:
select UserNo as No, xx as Name from ND2701 WHERE OID=@OID
如下表达式才是正确的:
select UserNo as No from ND2701 WHERE OID=@FID
这是因为子线程在发送时获取的变量OID 是子线程的ID而非,干流上的WorkID.
关于子线程接受人的特殊约定:
如果遇到分组的维度,就约定返回4个列来解决问题,流程demo:\\流程树\\同表单分合流\\一人多子线程模式(批次维度任务模式)流程.
在第2个子线程节点配置了如下SQL。
该数据源返回了三个列,分别是:No,Name, GroupMark
No=操作员编号,Name=操作员名称, GroupMark就是分组的维度.
比如配置的SQL: SELECTNo,Name,FK_DeptFROMPort_EmpWHEREFK_Deptin('2','5')
应用场景: 有一批物品需要化验,一个人员可能需要承担多个化验项目,这就需要这个人在这个子线程里有n件工作。再比如:一件工作需要下发两个部门处理,如果一个部门的一个人处理了,另外该部门的人员的工作就要自动去掉,属于抢办任务,也就是说,子线程也需要抢办任务。
对动态表单树的支持:
什么是动态表单树?请参节点属性、表单、表单类型章节。简单的说,该节点的表单是有上一步发送人员动态指定的。该节点大部分是子线程节点,也可以是多人处理的普通节点。
应用场景:a节点发向b节点,张三需要分配给,甲乙丙丁四个人去工作,但是这四个人工作内容不同。虽然甲乙丙丁四个人都可以接受到该节点的工作,但是填写的内容是由张三动态的分配的。
我们就要在这里约定数据源来表达接收人的信息,第一种情况没有批次号:返回的列需要有如下要求,No,Name,FrmIDs 第3列是表单ID,多个表单ID用逗号分开。
第二中情况具有批次号:需要返回的列是, No,Name,BatchNo,FrmIDs.
CCBPM为该种应用场景做了一个demo,请参考
在节点2属性里我们做了如下设置
实现步骤:在开始节点里CCBPM的节点表单里设计了一个明细表。
按SQL确定子线程接受人与数据源
此方法与分合流相关,只有当前节点是子线程才有意义。
Java工作流引擎节点接收人设置“按自定义SQL计算”系列讲解的更多相关文章
- Java工作流引擎节点接收人设置20种规则讲解一
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...
- Java工作流引擎系统节点接收人设置“其他方式总结”系列讲解
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...
- 开源工作流管理系统节点接收人设置“指定节点处理人”系列讲解
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统CCBPM节点访问规则接收人规则 适配数据库: o ...
- Java工作流引擎jflow对流程的结束大总结
关键字: 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 表单引擎 工作流功能说明 工作流设计 工作流快速开发平台 业务流程管理 bpm工作流系统 java工 ...
- Java工作流引擎关于数据加密流程(MD5数据加密防篡改)
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统 流程数据加密 md5 数据保密流程数据防篡改 ...
- java工作流引擎Jflow流程事件和流程节点事件设置
流程实例的引入和设置 关键词: 开源工作流引擎 Java工作流开发 .net开源工作流引擎 流程事件 工作流节点事件 应用场景: 在一些复杂的业务逻辑流程中需要在某个节点或者是流程结束后做一些 ...
- activiti 任务节点 处理人设置【转】
转自http://blog.csdn.net/qq_30739519/article/details/51225067 1.1.1. 前言 分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自 ...
- activiti 任务节点 处理人设置
1.1.1. 前言 分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自分享牛http://blog.csdn.net/qq_30739519) 我们在使用activiti 工作流引擎的时候, ...
- Java工作流引擎表单引擎之JS表单字段输入脚本验证
关键字: 表单设计器, 字段验证. workflow,ccform, ccBPM. 工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流bpm工作流系统 java工作流 ...
随机推荐
- java的System.currentTimeMillis()如何转换成C#的DateTime.Now.Ticks?
考虑到我们是东八时区的话,应做如下转换: long milli = System.currentTimeMillis() + 8*3600*1000; long ticks = (milli*1000 ...
- Python--day20--模块的导入
1,模块的导入步骤: 2,,给文件起别名的用处: 重命名之后,原来的名字就不能用了 3,虽然这样写可以,但是不推荐,代码可读性不强,以后代码的修改成本也增加: 4,模块的导入顺序: 5,导入变量名的两 ...
- gradle 生成 pom,引用mybatis-plus源代码到自己的工程中
一 前情概要 自己的maven工程使用mybatis-plus,然后想用热部署加载mapping文件.经过各种探索之后实现了,但是修改了xml文件后,就不断在控制台提示“mapper xxx is i ...
- 在Vue 中调用数据出现属性不存在的问题
这已经是我在调用数据时趟过几次的坑了,索性记录下来防止后面再犯: 一般我们请求数据来渲染一个页面的时候,请求下来的数据基本上都是数组或是对象,再通过列表循环和插值表达式渲染的页面:在data 中提前声 ...
- javaScript 删除事件 弹出确认 取消对话框
javaScript 删除事件 弹出确认 取消对话框 1. <a href="javascript:if(confirm('确实要删除?'))location='http://www. ...
- 【23.68%】【hdu 2871】Memory Control
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...
- tet-2
一.html和css部分 1.如何理解CSS的盒子模型? 标准盒子模型:宽度=内容的宽度(content)+ border + padding 低版本IE盒子模型:宽度=内容宽度(content+ ...
- Linux 创建和销毁 urb
struct urb 结构在驱动中必须不被静态创建, 或者在另一个结构中, 因为这可能破坏 USB 核心给 urb 使用的引用计数方法. 它必须使用对 usb_alloc_urb 函数的调用而被创 建 ...
- JS逻辑运算操作
非! 如果一个操作数是一个对象,返回false; 如果一个操作数是一个空字符串,返回true; 如果一个操作数是一个非空字符串,返回false; 如果一个操作数是一个数值0,返回true; 如果一个操 ...
- shell截取字符串的8种方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...