第1节. 关键字
驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow
第1节.线性流程节点运动(发送)设计
发送就是从一个节点发送到另外一个节点,也可以说从一个节点运动到另外的节点上去。
在计算发送到下一个节点动作里,请参考方向条件设计规则。
在计算到达节点的接受人范围动作里,请参考接收人规则设计。
在最后一个动作里“执行当前节点完成过程”,会对一些表产生影响,请参考下一章节。
流程从一个节点运动到另外一个节点上,就需要影响流程状态,流程节点所在的位置变化,影响到流程引擎表,与流程业务表,轨迹表,本章节分别介绍了相关表的变化内容。
1.1.1.1:对WF_GenerWorkflow表的影响
WF_GenerWokFlow流程引擎注册表。
字段名中文名解释
WorkID工作ID无
WFState状态设置为:运行中的状态
Title标题无
FK_Flow流程模版编号无
FK_Node停留节点设置为:当前停留的节点。
Starter发起人
RDT发起日期
TodoEmps当前处理人设置为:当前节点的工作接收人。
1.1.1.2: 对WF_GenerWorkerlist表的影响
工作人员列表: WF_GenerWokerList用于记录运行中的业务流程工作人员的信息的表。对于一个流程模版,每个节点,每个流程实例,每个工作人员,仅仅并且只有一条数据,在该表里,在流程运行到结束后,该流程实例下的所有的人员数据,就会被清除掉。
一个流程实例从一个节点运动到另外一个节点需要变化到,当前节点工作人员的状态变化。到达的工作人员新增接受人数据,让该节点上的接受人产生待办工作。
对于当前节点该表的数据变化:
字段名中文名解释
WorkID工作ID主键
FK_Emp状态主键
FK_Node标题主键
IsPass是否通过?设置为:1标识已经通过。
IsRead是否读取?0=未读,1=已读
SDT应完成日期无
RDT到达日期无
CDT实际完成日期设置为:当前完成日期.
对与到达节点该表的数据变化:
对于产生的新的工作人员,每个人员都要新建一条记录
字段名中文名解释
WorkID工作ID主键
FK_Emp状态主键
FK_Node标题主键
IsPass是否通过?设置为:0=未通过
IsRead是否读取?设置为:0=未读
SDT应完成日期根据时效考核规则计算当前应该完成的时间
RDT到达日期设置为:当前日期
CDT实际完成日期设置为:null
[if !supportLists]1.1.1.3: [endif]对NDxxxRpt业务表的影响
业务表包含10多个系统字段:
字段名称类型说明
OIDintOID主键-与流程的workid一致
RDTnvarchar记录日期
Titlenvarchar流程标题
FIDintFID分合流用到
CDTnvarchar完成日期
Recnvarchar记录人
Empsnvarchar操作员,多个用逗号分开。
FK_Deptnvarchar所在部门
FK_NYnvarchar年月,比如:2018-01,统计分析用.
MyNumint个数,统计分析用
PNodeIDint父子流程所用
PrjNamenvarchar工程名称
PrjNonvarchar工程编号,工程流程所用
PEmpnvarchar父子流程所用
AtParanvarchar参数属性
BillNonvarchar单据编号
FlowNotenvarchar流程备注
GUIDnvarchar唯一标识符
WFStaint简易状态
FlowStartRDTnvarchar发起日期
FlowEnderRDTnvarchar最后节点处理日期
FlowEndNodeint设置为发送到最后节点.
FlowDaySpanfloat流程跨度天数,重新计算
PWorkIDint父子流程所用
PFlowNonvarchar父子流程所用
FlowEmpsnvarchar设置为:流程参与人,增加当前人员
FlowEndernvarchar设置为:最后处理人
FlowStarternvarchar流程发起人
WFStateint流程状态
1.1.1.4:对NDxxTrack表的影响
增加一笔从节点,从人员,到节点,到人员的发送动作日志数据。
发送接口,就是发送调用的方法如下图所示:
简洁的发送方法:参数:flowNo,worked.
具有主表参数的发送方法:Node_SendWork(String flowNo, Int64 workid,Hashtable ht)
说明:如果发送的时候需要把业务主表的数据传入到系统中,就需要使用hashtable这个参数,key value的方式。
有一个重写的API,是愿意发送到本流程那个节点,就发送到那个节点,愿意发送到那个接受人,就发送到那个接受人,我们把这个API称为万能的API。
比如:当前节点,发送到下一个节点有分支。
代码:BP. Dev2Interface.Node_SendWork(‘001’,2232,0,null);
发送该流程让节点配置的方向条件与到达节点的接受人规则自动计算,自动计算到达的节点,自动计算到达节点的接收人。
代码:BP. Dev2Interface.Node_SendWork(‘001’,2232,105,null);
标识,发送到指定的节点105上去,并且105节点的接收人自动计算,就是按照节点配置的规则计算。
代码:BP. Dev2Interface.Node_SendWork(‘001’,2232,105,’zhangsan’);
标识,发送到指定的节点105上去,并且105节点的接收人设置为张三。
代码:BP. Dev2Interface.Node_SendWork(‘001’,2232,105,’zhangsan,lisi’);
标识,发送到指定的节点105上去,并且105节点的接收人设置为zhangsan与lisi两个人。
概要说明:
执行发送结果发送成功后,需要把发送结果的变量返回过来,比如,发送到那里了?发送给那些人了?当前节点信息等等。这个对象就叫发送后返回对象。
发送后返回对象就是一系列变量。
请参考如下代码:
输出信息: