驰骋工作流快速开发平台的事件交互模式设计与实现

本文阐述了流程与节点事件的设计概念,包括事件的分类、配置与实现方式,以及流程事件实体设计,旨在帮助开发者理解并利用事件机制实现复杂的业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 事件设计

事件分为流程事件与节点事件

  1. 流程\节点事件功能管理

事件分为流程事件与节点事件,事件是在流程运动过程中触发的执行的过程。

事件是流程的开发者与流程引擎系统交互的接口。

  1. 流程事件定义

流程事件分为如下几种类型:

 

  1. 节点事件定义

节点事件分为如下几种类型:

 

  1. 事件的实现分类

我们把流程事件类型与节点事件类型进行了分类,为了方便不同类型的用户配置,我们为用户的执行内容划分为多种模式,以满足不同应用层次的开发者需求。

  1. 事件配置定义
  2. 事件概述

关键字:流程事件,节点事件。

描述:流程在运动过程中,它是按照一定的时序进行的,所以ccbpm根据每个时序定义了一些事件,比如节点发送前、发送成功时、发送失败时、节点退回前、退回后。比如:流程删除前、删除后、结束前、结束后,流程开发人员可以在相关的事件里填写自己的业务逻辑。

打开节点属性点击事件标签:

实现业务逻辑的方法:ccbpm通过两种方式实现事件,分别是:配置的方法与事件基类实体。

配置的方法比较简单,可以执行多种方式,适合维护人员。

事件基类适合程序开发人员,编写事件基类可以非常灵活、执行效率非常高效。对于有开发能里的朋友我们推荐使用后者,在下面章节,我们将详细讲述如何使用它们实现您的业务逻辑,实现与您的系统交互。

  1. 节点事件分类

如下图,

 

  1. 事件的配置

 

 

  1. 配置事件

配置ccbpm的事件,我们知道配置ccbpm事件是实现ccbpm复杂的业务逻辑。

 

配置项

说明

禁用:

不实用,无配置,让配置的不起作用。

使用SQL:

编写SQL语句,请在执行内容里填写SQL,注意表达式支持变量。

如s果有多条sql ,可以用@GO 分开。比如:

DELETE WF_Emp WHERE 1=2

@GO

DELETE WF_Emp WHERE 2=3

如果要执行存储过程就要写:

EXEC  YourProName @OID

执行存储过程

 

执行存储过程

例如:EXEC  YourProName @OID

 

请在执行内容里填写一个存储过程名称,注意表达式支持变量。

执行SQL:

@OID 是一个当前的workid 参数。

如下图:

 

  1. 流程事件实体设计

关键字:ccbpm流程事件实体 FEE

  1. 概述与配置

说明:本属性适合高级开发者,该属性只读。流程事件实体全称是FlowEventBase简称 FEE。流程事件实体是Flow Event Entity。它是从ccbpm指定的基类BP.WF.FlowEventBase上集成下来的一个类,重写相关的事件方法,达到实现自己的业务逻辑目的。

BP.WF.FlowEventBase是ccbpm定义的一个基类,为开发者提供可以被继承下来并且重写相关的方法而实现特定的个性化的用户业务逻辑。

流程事件:流程在运动过程中,会发生很多事件,比如,节点表单装载前,节点保存前、保存后、节点发送前、发送成功时,发送失败实时。Ccbpm可以通过重写这个事件实体来表达自己的业务逻辑。

我们以表单的保存事件为例来说明如何对明细表求合计。

 

首先我们写一个FEE从BP.WF.FlowEventBase上继承下来,然后重写它的保存后的方法,希望实现的业务逻辑是在保存后,自动计算出来明细表中的合计数据。

其他:在2018年的版本中,我们对这样的应用已经可以做到配置处理,而不需要代码编写,请参考表单设计手册。

请参考: D:\ccflow\ \DemoAndTesting\BP.Demo\EventBase\F001.cs文件。重写

 

 

该实体必须重写 FlowMark 这个属性,就是给流程标记,在您编写完成后,编译您的工程然后填写上流程标记属性,ccbpm系统就会自动的把该文本框的标记信息填写上。

相关阅读:如何把ccbpm的待办写入其他的新系统?

在这里你可以重写流程事件类实现该它,如下图。

重写流程事件被重写的SendSucess 方法。

  1. 流程事件基类设计

如下图:

方法与属性,在该类里有详尽的描述,这里不再赘述。

 

 

  1. 业务单元设计

概要说明:

1.业务单元你可以把他看做一个函数,一个处理业务的过程,一段功能代码,一个业务包。2.该业务包接受一个workid参数,其余的参数都根据workid获取。

3.该业务包可以配置到不同节点下,甚至不同类型的流程里面,不同的事件里面去执行。

  1. 基类设计

首先ccbpm设计了一个基类,在基类里定义一些方法与属性,让子类重写。

流程引擎的开发者可以继承这些基类,实现相关的方法。

 

  1. 业务单元编写

业务单元子类:

 

 

 

驰骋工作流引擎源码 产品名称: 驰骋.net工作流程引擎. 运行环境: BS结构. windows xp, windows server. win7 IIS6.0以上. .net4.0. Office2007 (如果需要单据打印.) 开发语言: VS2010, .net4.0 c#.net. 客户端: FireFox 3.0以上. IE7+,或者使用IE内核的浏览器. 组成部分: 流程图形设计器(有:cs版本bs版本)/流程前台运行程序(BS结构)/流程服务(CS)/web的方式的表单设计器/BRP工具 基本功能: 图形化流程设计/智能表单web定义免程序开发/级联下拉框/流程轨迹/单据自定义打印/邮件短信工作到达通知/自动任务分配/支持sdk模式开发/简洁集成/消息侦听/丰富事件接口/报表定义/工作量分析/绩效考核/手机访问/支持sqlserve,oracle,mysql,access数据库 CCFlow功能: 懂管理就会开发基本流程,为单位流程管理系统,会SQL就能达到中级开发水平解决复杂的逻辑问题其它系统耦合,有程基础就可以使用sdk做高级的开发. 程序运行组件清单. ***************************************************************** 1. .net 4.0 2, owc11.exe 用于生成数据图形分析。 3, SaveAsPDFandXPS.exe 生成pdf文件的组件.【选装】 4, iewebcontrols.msi 控件. 5, vs2010 开发环境(不进行二次开发不必要安装) ***************************************************************** ccflow 开源程序文件清单: ***************************************************************** 组件目录 D:\ccflow\Components 组件目录. D:\ccflow\Components\BP.En30 -- 底层基类. D:\ccflow\Components\BP.Web.Controls30 --bs控件层. D:\ccflow\Components\BP.WFV4 --工作流程引擎层 D:\ccflow\Components\BP.Win32.Controls --cs控件层. D:\ccflow\DLL -- 第三方组件中需要调用dll. D:\ccflow\Documents - 文档 D:\ccflow\VisualFlow --bs工作流程引擎前台. D:\ccflow\VisualWorkFlowServices - 流程服务程序. D:\ccflow\VisualFlowWebDesigner - silverlight流程设计器. D:\ccflow\CCFlowWord2007 - VSTO公文流程. D:\ccflow\ExpandingApplication 行业应用通用代码。 D:\ccflow\Tools 工具 关于: ccflow前台目录结构. D:\ccflow\VisualFlow\Comm --通用功能层. D:\ccflow\VisualFlow\Data -- 应用程序数据目录. 包含一些xml,等等。 D:\ccflow\VisualFlow\Data\Install 安装有关系的文件 D:\ccflow\VisualFlow\Data\JSLib 系统javascript 函数库。 D:\ccflow\VisualFlow\Data\Language 语言包(完善中) D:\ccflow\VisualFlow\Data\Node cs流程设计节点类型(cs流程设计器不在发展) D:\ccflow\VisualFlow\Data\XML xml配置文件不仅仅ccflow使用,bp框架也使用它。 用户数据目录。 D:\ccflow\VisualFlow\DataUser -- 用户数据目录。 D:\ccflow\VisualFlow\DataUser\Bill 单据打印生成数据. D:\ccflow\VisualFlow\DataUser\CyclostyleFile 单据模板数据 D:\ccflow\VisualFlow\DataUser\DtlTemplete 导入明细表模板文件. D:\ccflow\VisualFlow\DataUser\EmailTemplete 自定义邮件发送格式文件. D:\ccflow\VisualFlow\DataUser\JSLib 用户自定义函数库 D:\ccflow\VisualFlow\DataUser\JSLibData 用户自定义函数生成文件。 D:\ccflow\VisualFlow\DataUser\Log 系统日志文件 D:\ccflow\VisualFlow\DataUser\ReturnLog 退回日志文件. D:\ccflow\VisualFlow\DataUser\Siganture 签名文件. D:\ccflow\VisualFlow\DataUser\Style 用户自定义风格文件。 D:\ccflow\VisualFlow\DataUser\UploadFile 表单附件上传文件,单附件,多附件。 D:\ccflow\VisualFlow\DataUser\XML 用户系统配置文件。 D:\ccflow\VisualFlow\WF\DocFlow -- 公文流程(目前还不是很完善) D:\ccflow\VisualFlow\OA -- 通用oa 组件(目前还不是很完善) D:\ccflow\VisualFlow\SDKFlowDemo -- sdk开发模式的案例. D:\ccflow\VisualFlow\WF\WAP -- 手机访问前台代码目录. (说明:对C级用户有效) D:\ccflow\VisualFlow\WF -- ccflow前台应用程序层(主要的功能都是在这个目录里面) D:\ccflow\VisualFlow\WF\Admin - 对ccflow的管理比如设计方向条件.报表定义... D:\ccflow\VisualFlow\WF\MapDef - 表单定义. D:\ccflow\VisualFlow\ClientBin - silverlight 程序.。 CCFlowDesigner.xap流程设计器,CCForm.xap表单设计器。 注意: 源码有详细使用文档,可以下载查看。 用户名是:51aspx 密码是 51aspx 管理员用户名是:admin 密码是 pub 默认添加的用户的密码均是pub 特此声明,网站版权归开发公司所有,此源码仅供学习交流之用,如有违者后果自负
驰骋工作流引擎研发于2003年,具有.netjava两个版本,它们代码结构、数据库结构、设计思想、功能组成、操作手册完全相同。流程表单模版两个版本完全通用。 CCFlow是.net版本的简称,由济南团队负责研发。JFlow是在java版本的简称,由深圳研发团队研发。两款产品核心代码向社会100%开源,十多年来,我们一直践行自己的诺言,努力提高产品质量,真心服务中国IT产业,成为了国内知名的老牌工作流引擎,在国内开源BPM领域稳坐第一位。 CCFlow基础功能: 1、流程引擎设计支持所见即所得的设计节点设计、表单设计、单据设计、报表定义设计,方向条件设计... 2、流程模式简洁只有4种容易理解、线性流程、同表单分合流、异表单分合流、父子流程,没有复杂的概念。 3、支持流程的基础功能:前进、后退、转向、转发、撤销、抄送、挂起、草稿、任务池共享,也支持高级功能取回审批、项目组、来宾用户等等。 4、支持sdk开发,多表单展现,字段权限控制,从表控制,多种符合中国国情的业务规则设置。 5、表单引擎流程引擎可以分开也可以单独使用,流程引擎可以驱动表单引擎,实现多种业务数据的操作,比如:汇总、分合、填写。 6、CCFlow集成方式简洁,容易实现插件模式的开发。 7、SDK接口丰富,注释详细, 丰富的帮助文档, 容易上手。 8、更多的功能请参考官方网站。 CCFlow特点: 1、CCFlow成长于中国2003年,历史长久,在多种生产、管理环境中成长起来,是国内老牌的工作流程引擎,拥有众多的爱好者,开发者, 100%的核心代码开源。 2、历经多个项目多种行业磨练(请参考官方网站成功案例),规则丰富,生命力强,绝大多数应用可以实现无代码流程设计。 3、CCFlow的核心代码都是公司自己研发的,核心算法也是基于实际应用,经过我们十多年的发展,每个所服务的客户都能得到最佳的流程解决方案。 4、CCFlow没有借助第3方的流程软件,拥有独立知识产权, 所以我们最容易扩展,实现客户的需求。 5、CCFlow功能强大,可配置性好,通常的应用开发可以实现无代码实现,面向业务人员、系统管理员、程序员。 6、使用开源的软件好处众多,可以跟踪调试,可以修改,研究者众多,容易得到帮助,可以我们的开发人员在线互动,遇到问题可以在第1时间解决。 7、CCFlow是国内第一款同时拥有.net版本java版本的工作流引擎,两者互为影子版本,数据库解构,配置界面完全相同。 8、CCFlow设计思路精巧、概念简单。只有线性、同表单分合流、异表单分合流、父子流程四个概念。 有涵盖多种行为的5*5的算法,流程模式实现现实生活中绝大多数模式(目前没有我们解决不了的问题)。 9、CCFlow的概念简洁、通俗易懂, 运行规则运行模式清晰,数据库结构设计精简,规则丰富,帮助详实。 10、CCFlow是国内流程引擎表单引擎集成较好的bpm软件,流程引擎可以操纵表单引擎数据实现复杂的业务数据处理权限控制。 11、CCFlow拥有200多个流程演示模版,涵盖了我们在开发过程中遇到的很多的应用场景,参考这些模版,容易获得帮助。 12、CCFlow拥有40多个单元测试案例,这些单元测试案例,是保障ccflow稳定运行的基础,在核心代码修改后容易找打问题。 13、CCFlow资料完善(约:16万字),拥有众多的爱好者,开发者容易得到帮助。 CCFlow的代码放在Git上,容易修改代码我们合并。 14、CCFlow集成方便, 概念、名词通俗易懂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驰骋低代码、工作流、表单引擎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值