驰骋工作流引擎-API开发接口-重要的部分.

驰骋工作流引擎-API开发接口-重要的部分. - 多看文档,少走弯路,学会使用ccbpm的api接口,让您的sdk表模式开发无忧。

登录与门户API

  1. 首先要进行代码集成与组织机构的集成
  2. 其次在自己的系统登录界面,登录成功后要执行ccbpm的框架登录。
  3. 所谓的登录就是调用ccbpm的登录接口,如左边的代码所示。

// 如下代码需要写入您的系统校验密码与用户名之后。
string userNo = "zhangsan";
BP.WF.Dev2Interface.Port_Login(userNo);

菜单API

  1. 发起:一个操作员可以发起的工作
  2. 待办:等待处理的工作。
  3. 在途:我参与的,但是这条流程还没有结束的流程。
  4. 抄送:不需要我处理,但是需要我知晓的工作。

发起: //获得指定人员的可以发起的流程列表,调用这个接口返回一个datatable, 可以参考一个demo实现发起列表的输出。

System.Data.DataTable dtStart = BP.WF.Dev2Interface.DB_GenerCanStartFlowsOfDataTable("zhangsan");
待办: //获得指定人员的待办,调用这个接口返回一个datatable, 可以参考一个demo实现发起列表的输出。
DataTable dtTodolist = BP.WF.Dev2Interface.DB_GenerEmpWorksOfDataTable(); 在途: //获得指定人员的在途,调用这个接口返回一个datatable ,代码参考:。
DataTable dtRuning = BP.WF.Dev2Interface.DB_GenerRuning(); 查询: //ccbpm给你提供了一个link ,您可以调用这个link ,也可以自己去根据代码实现。

实现列表输出代码,请参考:
http://localhost:2207/WF/App/Simple/Search.htm
运行Demo: 查询

创建WorkID

  1. 创建工作ID是启动流程的开始。
  2. ccbpm的工作ID是一个Int64位的整数,始终是按照顺序号+1产生的。
  3. 该workid全局唯一,并且没有重复性,该信息记录到Sys_Serial,WorkID的生成从100开始。
  4. 该workid全局唯一,并且没有重复性,该信息记录到Sys_Serial,WorkID的生成从100开始。

//传入流程编号,调用创建一个工作ID。
Int64 workid = BP.WF. Dev2Interface.Node_CreateBlankWork("001");

发送 - 简单发送

  1. 工作发送就是让节点向下运动。
  2. 调用接口执行发送后,返回一个执行结果的对象,该对象是流程引擎执行过程中的变量。
  3. 解析该变量,可以检查出流程是否完成,运行到那一个节点上去了,下一个节点谁可以处理工作?
  4. 它的流向,是根据流程设计的规则执行的。
  5. 它的接收人,是根据接受人的规则确定的。

//传入流程编号, WorkID执行发送.
BP.WF.SendReturnObjs objs= BP.WF.Dev2Interface.Node_SendWork("001",workid);

// 检查流程是否结束?
bool isFlowOver = objs.IsStopFlow;

// 获得发送到那个节点上去了?
int toNodeID = objs.VarToNodeID;
string toNodeName = objs.VarToNodeName;

// 获得发送给谁了? 注意:这里如果是多个接受人员就会使用逗号分开。
string toEmpID = objs.VarAcceptersID;
string toEmpName = objs.VarAcceptersName;

// 输出提示信息, 这个信息可以提示给操作员.
string infoMsg = objs.ToMsgOfHtml();

发送 - 要指定发送给谁?发送到那个节点?(万能发送接口)

  1. 如果程序员知道下一步要发送给谁,发送到那一个节点的情况下,就可以调用这个接口。
  2. 该接口就会摆脱流程引擎设计的方向条件规则与接受人规则。

//如果确定了(或者自己计算好了)下一步要达到的节点,下一步的接受人,就可以按照如下格式调用。
BP.WF.SendReturnObjs objs = null; objs = BP.WF.Dev2Interface.Node_SendWork("001", workid, 103, "zhangsan" );
//发送给一个人,如果发送给多个人用逗号分开比如: zhangsan,lisi,wangwu

//下面调用方式,是知道要发送到那一个节点,但是不知道要发送给谁,让当前的节点定义的接受人规则来确定。
objs = BP.WF.Dev2Interface.Node_SendWork("001", workid, 103, null);

//下面调用方式,是知道要发送到那些人,但是不知道要发送到那个节点,让当前的节点定义的方向条件来确定。
objs = BP.WF.Dev2Interface.Node_SendWork("001", workid, 103,"zhangsan");

// 输出提示信息, 这个信息可以提示给操作员.
string infoMsg = objs.ToMsgOfHtml();

撤销

  • 撤销是发送的逆向操作。
  • 撤销可以调用ccbpm提供的撤销窗口完成,这是最简单的方式。
  • 地址为:/WF/WorkOpt/UnSend.htm 参数为: FK_Flow,FK_Node,WorkID,FID,当前流程的4大参数。
  • 如果需要在其他设备上工作,或者要自己写一个移交界面,请参考。
  • 能否被撤销,是有当前活动节点的撤销规则所决定的。
  • 撤销的功能显示在,在途的流程列表里,只有在途的工作才能被撤销。
  • 在途工作:顾名思义,就是我参与的工作,并且工作尚未完成。
  • 回滚流程,是在流程结束后需要重新在指定的节点,让指定的人员从新向下走。

/*
*
执行撤销,返回撤销是否成功信息,如果抛出异常就说明撤销失败。
*撤销失败的原因多种,最有可能的是因为当前活动节点不允许撤销规则决定的。
*/



string msg= BP.WF.Dev2Interface.Flow_DoUnSend("001", workID);

回滚

  • 回滚与撤销不同的是回滚是在流程完成以后的操作,并且回滚是由管理员操作的。
  • 回滚流程,是在流程结束后需要重新在指定的节点,让指定的人员从新向下走。

//执行回滚,返回的是回滚执行信息,如果回滚失败,则会抛出异常。
string msg= BP.WF.Dev2Interface.Flow_DoRebackWorkFlow("001", workID, 103, "因为审批错误,需要回滚,从节点103重新开始审批。");

退回

  1. 退回可以调用ccbpm提供的退回窗口完成,这是最简单的方式。
  2. 地址为:/WF/WorkOpt/ReturnWork.htm 参数为: FK_Flow,FK_Node,WorkID,FID,当前流程的4大参数。
  3. 如果需要在其他设备上工作,或者要自己写一个退回界面,请参考。

/*
* 1,
获得当前节点可以退回的节点,该接口返回一个datatable。
* 2, 一个节点能够退回到那写节点是由当前节点的退回规则确定的。
* 3, 调用退回需要三个参数:节点编号,工作ID, 流程ID, 对于线性流程FID始终等于0.
*/

System.Data.DataTable dtCanReturnNodes = BP.WF.Dev2Interface.DB_GenerWillReturnNodes(103, workid, 0);
// 返回的是可以退回的节点。

//执行退回,当前的节点是103,要退回的节点是105,
string msg = BP.WF.Dev2Interface.Node_ReturnWork("001", workid, 0, 103, 105, "您的申请信息不完整,请修改后重新发送。", false);

移交

  1. 移交也可以调用ccbpm提供的移交窗口完成,这是最简单的方式。
  2. 地址为:/WF/WorkOpt/Forward.htm 参数为: FK_Flow,FK_Node,WorkID,FID,当前流程的4大参数。
  3. 移交就是把自己所要做的工作交给其他人处理。
  4. 如果需要在其他设备上工作,或者要自己写一个移交界面,请参考。


/*
*
调用移交接口,传入必要的参数执行移交.
* FID 在线性流程上始终等于0.
*/


BP.WF.Dev2Interface.Node_Shift("001", 103, workid, 0, "zhangsan", "因我需要出差,所以特把工作移交给您。");

/*
*
撤销移交
* 如果在移交之后,发现不需要移交,就需要撤销回来,调用撤销移交接口。
*/

BP.WF.Dev2Interface.Node_ShiftUn("001", workid);

加签

  • 加签也可以调用ccbpm提供的加签窗口完成,这是最简单的方式。
  • 地址为:/WF/WorkOpt/Forward.htm 参数为: FK_Flow,FK_Node,WorkID,FID,当前流程的4大参数。
  • 加签就是把自己所要做的工作参考其他人意见,或者让其他人处理。
  • 加签有两种模式:1,加签后由加签人发送到下一个节点。2,加签后由让加签人发送给当前人,由当前人发送给下一个节点。
  • 如果需要在其他设备上工作,或者要自己写一个加签界面,请参考。


/*
*
调用加签接口,传入必要的参数执行.
* FID 在线性流程上始终等于0.
*/


//技术人员zhangsan接受工作后,点击发送还会发送给当前人员,由当前人员发送给下一节点。
string info1= BP.WF.Dev2Interface.Node_Askfor(workid, BP.WF.AskforHelpSta.AfterDealSendByWorker, "zhangsan", "这里需要您出具技术鉴定意见.");

//技术人员填写后,直接就发送了下一节点.
string info2 = BP.WF.Dev2Interface.Node_Askfor(workid, BP.WF.AskforHelpSta.AfterDealSend, "zhangsan", "这里需要您出具技术鉴定意见.");

//技术人员回复加签,在由当前人发送到下一个节点。
string infoReply = BP.WF.Dev2Interface.Node_AskforReply("001", 103, workid,0, "我已经出具了技术鉴定意见,请参考.");

结束流程

  • 流程结束有三种方式
  • 第一种走到最后一个节点正常结束。
  • 第二种在特定的节点上,用户需要终止流程向下运动(与删除流程不同)。
  • 第三种在特定的节点上,用户需要删除流程。


/* * 手工的结束流程,这种方式会记录日志.
*/

string overInfo = BP.WF.Dev2Interface .Flow_DoFlowOver("001" , workID, "该供应商找不到了,要结束掉该流程。");
/* * 删除流程,
* 删除流程有多种方式,用户可以根据自己的需求,调用不同的方式.
* 最后一个参数是是否删除子流程.
*/

//按照标记删除流程
string delInfo0 = BP.WF.Dev2Interface .Flow_DoDeleteFlowByFlag("001", workID, "我不需要请假了", true);

//彻底的删除流程,无日志记录.
string delInfo1 = BP.WF.Dev2Interface .Flow_DoDeleteFlowByReal("001", workID, "我不需要请假了", true);

//彻底的删除流程,有日志记录.
string delInfo2 = BP.WF.Dev2Interface .Flow_DoDeleteFlowByWriteLog("001", workID, "我不需要请假了", true);

 

产品名称: 驰骋.net工作流程引擎. 英文名称: ChiCheng Workflow Engine 简 称: ccFlow 版本:4.5 官方网站: http://ccflow.org 开发语言: VS2010. .net4.0 c#.net. 开发历史: 2003-2012年. 性 质: 100%开源,无任何功能限制 许可协议: LGPL URL: http://www.gnu.org/licenses/lgpl.html 源 代 码: http://ccflow.googlecode.com/svn/ccflow/ 请用svn下载. 运行环境: bs 结构. windows xp, windows server. win7 IIS6.0以上. .net4.0. Office2007 (如果需要单据打印.) 客 户 端: FireFox 3.0以上. IE7+,或者使用IE内核的浏览器. 组成部分: 流程图形设计器(有:cs版本与bs版本)/流程前台运行程序(BS结构)/流程服务(CS)/web的方式的表单设计器/BRP工具 基本功能: 图形化流程设计/智能表单web定义免程序开发/级联下拉框/流程轨迹/单据自定义打印/邮件短信工作到达通知/自动任务分配/支持sdk模式开发/简洁集成/消息侦听/丰富事件接口/报表定义/工作量分析/绩效考核/手机访问/支持sqlserve,oracle,mysql数据库 简介: 懂管理就会开发基本流程,为单位设计流程管理系统没问题,会SQL就能达到中级开发水平解决复杂的逻辑问题与其它系统耦合,有编程基础就可以使用ccflow的sdk做高级的开发. 其它: ccflow是国内功能最完善、规模最大、市场占有率最高的工作流程引擎开源软件,拥有绝对数量的研究群体(在校学生、IT从业者、大学院校、科研机构、软件公司、集团与机关事业单位信息部),与绝对的数量的使用用户。CCFlow 源代码托管在google服务器上是非常活跃的开源项目之一。
驰骋工作流引擎源码 产品名称: 驰骋.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 特此声明,网站版权归开发公司所有,此源码仅供学习交流之用,如有违者后果自负
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

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

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

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

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

打赏作者

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

抵扣说明:

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

余额充值