HYAppFrame工作流开发指南
www.huiyaosoft
2016-10-01
目录
mysql语句的执行顺序1 概述 (1)
2 功能要求 (1)
3 流程定义 (2)
4 节点定义 (3)
5 演示 (6)内容管理系统的特点
6 表结构 (8)
1 概述
HYAppFrame工作流是一种简单实用的工作流引擎,旨在满足管理系统业务表单审批需求,可帮助开发人员解决应用系统中的流程审批问题。
2 功能要求
svg运行方式有哪些管理系统工作流引擎通常需具备以下功能:
●可定义流程审批节点,可设置节点过期时间,并设置节点事件,
●过期节点任务即时提醒,实现任务推送
●节点完成或创建时可提醒,包括邮件、站内短信或手机短信,可以同时抄送审
批流程外的人。
●支持节点分支和合并,例如条件分支下的审批金额的判断
●可隐藏审批意见
●支持自由流程和固定流程
●支持流程挂起、终止
●支持流程版本管理
●可在手机上进行审批
●支持子流程
●流程统计和报表
●流程图动态显示流程执行情况
●流程设计器
●审批权限授权,例如出差代理
●支持竞争执行
●支持 M<=N 的节点处理。例如,同时启动了 N 个任务,只要其中的 M 个任
务完成即可继续执行。
3 流程定义
在“基本属性”选项卡中,输入“流程名称”、“流程编码”,选择“已发布”、“是否允许删除实例”下来框。“是否允许删除实例”可控制流程发起人是否有权限删除自己发起的流程申请,否则只有系统管理员有权限删除流程。
“流程描述SQL”指以SQL语句方式给新发起的流程命名或设置流程名称。例如使用以下SQL语句,使用“会议申请”+字段meetingName的值作为流程实例的名称,其中@instanceId指当前记录的id,系统执行这条SQL时,会自动将记录id替换@instanceId 变量。
select '会议申请' + meetingName from table_meeting where ID_ = @instanceId 在“事件”选项卡中可设置“创建时SQL”、“删除时SQL”、“通过时SQL”、“拒绝时SQL”等SQL语句。例如图中“创建时SQL”指
当流程实例启动时设置业务记录的状态为“running”。
4 节点定义
为审批流程定义要审批的节点或任务。节点定义如下图所示,图中显示会议申请流程包括了“申请人确认”和“会议管理员审核”两个节点。选中第一个节点,会在列表下面的选项卡中显示其对应属性。
在“节点属性”选项卡输入“节点编码”、“节点名称”,选择“关联窗体”,输入“下一节点”。“节点编码”是节点的唯一编码,建议使用数字编码,在“下一节点”中会直接引用。“关联窗体”指这个节点对应的业务表单或窗体,比如在待办任务列表中,通过待办任务直接打开对应的业务窗体。“节点类型”包括“人工节点”和“自动节点”两个选项,由“下一节点”中的值自动设置,不需要人工选择。
“下一节点”指当前节点可执行的操作及对应的下一个节点。可执行的操作包括同意、拒绝、退回、收回等,当审批者选择了某个操作,都必须有对应的下一节点,或者结束流程。
图中“approved=agree:20;approved=withdraw:1000;”指“申请人确认”会显示同意、退回两个按钮,如下图所示,当审批者选择了同意时,结束当前节点,启动20节点,当退回时,流程结束。其中1000表示结束流程。
例如,以下节点表达式表示当前节点支持同意、收回、退回、拒绝三个按钮,如同意则流转至任务11节点,如果收回或退回则结束流程。多个表达式使用分号隔开。
approved=agree:11;approved=takeback:1000;approved=withdraw:1000; approved=reject:1000
通过SQL语句进行节点跳转
sql(select 1)=1:1000
动漫无水印视频素材下载更复杂的SQL表达式
sql(ABC(@instanceId))=1:40;sql(select dbo. getABC
(@instanceId))=0:50
SQL表达式还支持以下复杂的表达式,多个sql语句使用分号隔开,系统会按顺序执行,并执行全部表达式。
sql(declare @tc int exec @tc = dbo.doABC @instanceId,0,1,'' select
@tc)=0:20;sql(declare @tc int exec @tc = dbo.doABC @instanceId,0,1,'' select @tc)=1:10;
sql(declare @tc int exec @tc = dbo.doABC @instanceId,0,1 select
@tc)=0:40;sql(declare @tc int exec @tc = dbo.doABC @instanceId,0,1 selectjava ldap
@tc)=1:30
合并分支,当两个节点都完成任务时跳转到下一节点。
mysql备份表exp(60,21,2)=agree:1000;
合并分支,当两个节点任意一个完成任务时跳转到下一节点。
exp(60,21,0)=agree:1000;
当节点表达式为sql()或exp()时,“节点类型”会自动设置成“自动节点”
在“审批”选项卡下设置节点的审批人,审批人由节点“审批类型”判定,“审批类型”包
括指派给人、指派给岗位、指派给角、申请人本人、申请人上级、所在部门经理、所在部门负责人、预置审批人及自由审批人等类型。预置审批人指流程启动时就设置了所有节点的审批人。自由审批人指当前节点启动时要求选择审批人。
流程和节点都有创建、审批通过或结束的事件,事件中可定义SQL,其中@instanceId 表示当前业务记录id,@processId表示当前审批实例id,当遇到这两个参数时,系统会自动用对应的id填充。
在“提醒”选项卡设置节点提醒类型,包括站内提醒、邮件提醒、短信提醒及即时提醒。站内提醒指节点启动时通过站内消息发送给审批者,邮件提醒指以邮件方式提醒,要求审批者的邮件地址是有效的。短信提醒除要求审批者手机号码有效外,还需要管理员部署短信网关或短信猫设备。即时消息指通过QQ或XMPP即时通讯工具发送审批消息,需要管理员部署。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论