驰骋BPM工作流后台常用接口与前台常用方法

驰骋BPM工作流后台常用接口与前台常用方法

一、流程引擎后台常用接口

接口说明

 

  1. 所谓的驰骋工作流引擎的接口,在BP.WF.Dev2Interface.cs上面的静态方法,前台页面通过这些静态方法通过页面于操作者提供交互数据功能交互。
  2. Port_* 开头的方法都是组织结构相关的操作,比如:登录、登出、发送消息。
  3. DB_*的都是提供数据列表的接口,比如:发起列表、待办列表、在途列表、完成列表等。
  4. 驰骋BPM工作流的发起、待办、在途菜单功能都是通过这个静态方法提供的BP.WF.Dev2Interface.DB_*接口生成的列表。
  5. 驰骋BPM的工作处理器创建工作ID、发送、退回、移交、删除、加签、会签等操作也是调用BP.WF.Dev2Interface.Node_*通过流程接口对流程的操作比如:流程的删除、回滚、撤销、冻结、取消冻结等流程的操作都是操作的BP.WF.Dev2Interface.Flow_*开发接口。
  6. 以WorkOpt_* 开头的方法,都是工作流引擎部件的代码,比如在退回窗口上,获取可以退回的节点列表,设置指定的节点处理人。
  7. 我们在流程属性里有一个接口,请参考如下图:

up-fd4214088333915a079dc3d81b332fb7b06.png

工作流引擎发起、待办、在途、已完成接口

获取数据是如何根据您自己的需要,通过CCBPM的接口获取想要的数据。

比如:发起流程,待办工作,在途工作。

类名:BP.WF. Dev2Interface.DT_*  在当前的静态方法中一般的返回的都是datatable数据集合类型,可以将它转化为json以方便前台生成列表。

发起列表:BP.WF. Dev2Interface.DB_GenerCanStartFlowsOfDataTable

发起列表是当前登录人员,或者指定人员可以发起的流程列表,返回的数据源包含 No,Name两个列,分别是流程模版编号,流程模版名称,可以连接到工作处理器 MyFlow.htm?FK_Flow=001 上让用户可以直接发起流程。

系统提供的功能页面:请参考/WF/Start.htm

待办列表:BP.WF. Dev2Interface.DB_ GenerEmpWorksOfDataTable

就是当前操作员的待办,需要他解决的问题,待办列表返回的是WorkID流程实例ID,Title流程实例标题,FK_Flow流程模版编号,FlowName流程模版名称等列,更多的信息请参考(Select * from WF_EmpWorks的视图)。开发者可以根据这个数据源生成待办数据列表,连接到MyFlow.htm,比如MyFlow.htm?WorkID=10112&FK_Flow=002&FK_Node=203

系统提供的功能页面:请参考/WF/Todolist.htm

在途列表: BP.WF. Dev2Interface.DB_ GenerRuningOfDataTable

顾名思义在途就是未完成的工作,并且我参与了,比如,我发起流程,他就是我的在途,我审批过的流程。对于在途流程的集合返回的列有,WorkID, Title 等。连接到工作查看器上比如,/WF/MyView.htm?WorkID=111&FK_Flow=001,在在途上可以执行,撤销或者催办操作。

系统提供的功能页面:请参考/WF/Runing.htm

已完成列表: BP.WF. Dev2Interface. DB_FlowComplete

我审批或发起的,并且已经结束的流程。对于已完成流程的集合返回的列有,WorkID, Title 等。

系统提供的功能页面:请参考/WF/Complete.htm

流程接口

流程接口是指对流程实例操作的接口,比如流程的催办、回滚、删除、冻结等操作。

流程的接口是以Flow_开头的接口,本操作手册不能及时与代码同步,最新的接口需要参考代码。

方法

方法名

参数

备注

Flow_DoFlowOver

流程完成

workID

 

Flow_DoPress

催办

workID

 

Flow_DoRebackWorkFlow

回滚

workID

 

Flow_DoDeleteFlowByFlag

逻辑删除

workID

 

Flow_DoUnDeleteFlowByFlag

撤销逻辑删除

workID

 

Flow_DoFix

冻结

workID

 

Flow_DoUnFix

撤销冻结

workID

 

Flow_DoDeleteFlowByReal

彻底的删除

workID

 

Flow_DoDeleteDraft

删除草稿

workID

 

Flow_DoUnSend

撤销发送

workID

 

Flow_IsCanDoCurrentWork

判断是否可以处理当前工作

workID

 

Flow_IsCanDeleteFlowInstance

判断是否有删除流程实例的权限

workID

 

Flow_IsCanStartThisFlow

判断是否可以发起流程

workID

 

Flow_SetFlowTitle

设置流程标题

workID

 

Flow_SetSDTOfFlow

设置流程应完成日期

workID

 

Flow_ReSend

重新发送

workID

 

Flow_DoComeBackWorkFlow

把流程从非正常运行状态恢复到正常运行状态.

workID

比如现在的流程的状态是,删除,挂起,现在恢复成正常运行。

工作流节点接口

节点接口是指对流程实例操作的接口,比如创建workid,执行发送,退回,移交,会签等操作。

接口是以Node_开头的接口,本操作手册不能及时与代码同步,最新的接口需要参考代码。

方法

方法名

参数

备注

Node_CreateBlankWork

创建workid

   

Node_SendWork

执行发送

   

Node_ReturnWork

执行退回

   

Node_SetWorkRead

设置工作已读

   

Node_SetWorkUnRead

设置工作未读

   

Node_Shift

移交

   

Node_ShiftUn

撤销移交

   

Node_Allot

工作分配

   

Node_AddTodolist

增加一个操作员

   

Node_AddNextStepAccepters

增加指定步骤的操作员

   

Node_CC

抄送

   

Node_CC_DoDel

删除抄送

   

Node_CC_SetRead

设置读取

   

Node_SetDraft

设置为草稿

   

Node_SetDraft2Todolist

把草稿转为待办

   

Node_HungUpWork

挂起

   

Node_UnHungUpWork

撤销挂起

   

WriteTrackInfo

写入轨迹

   

WriteToSMS

写入消息列表

   

WorkOpt_SetAccepter

指定节点接收人

   

Port_SendMsg

发送消息

   

BPM工作流系统登录接口

组织结构接口是指对组织结构操作的接口,登录、登出发送消息等操作。

接口是以Port_开头,本操作手册不能及时与代码同步,最新的接口需要参考代码。

方法

方法名

参数

备注

Port_Login

登录

UserNo

 

Port_SigOut

退出登录

   

二、驰骋BPM工作流前端常用方法

工作流引擎常用接口说明

前端的主要接口,主要包括前端访问后台数据或方法、共用方法,主要集中封装在几个js文件中。

WF/Comm/Gener.js

Gener.js,主要封装了前台访问后台的方法,主要包含以下几个方法:

1.WebUser方法

作用:用于前台获取当前登陆人的信息

使用说明:

//先声明

var user=new WebUser();

//获取当前登陆人帐号

var no=user.No;

//获取当前登陆人姓名

var name=user.Name;

//获取当前登陆人部门编号

var fk_dept=user.FK_Dept;

//获取当前登陆人部门名称

var depName=user.FK_DeptName;

2. HttpHandler方法

作用:用于访问后台接口

使用说明:

//先声明接口所在位置(包名,namespace)以及类名,比如BP.AS.Handler包名下的App.cs

var handler=new HttpHandler("BP.AS.Handler.App");

//根据访问的接口,决定是否需要传递参数

handler.AddPara("参数名1","参数值1");

handler.AddPara("参数名2","参数值2");

//增加附件参数(所有控件类型为input[type=file]的数据)

handler.AddFileData();

//增加JSON格式数据

handler.AddJson("参数名","JSON格式数据");

.........省略......

//执行接口(GetDataList),并返回字符类型数据

var data=handler. DoMethodReturnString("GetDataList");

//执行接口(GetDataList),并返回JSON数据

var data=handler. DoMethodReturnJSON ("GetDataList");

3.替换表达式方法

作用:用于替换字符串的变量

变量格式:@+变量名

使用方法:

//替换字符串中的变量

var char=DealExp("字符串",new WebUser());

4.DBAccess方法

作用:执行SQL语句

使用方法:

//查询数据列表,返回值格式为JSON格式

var data=DBAccess. RunSQLReturnTable("查询语句");

//查询并返回只有一行一列的数据,返回值格式为字符类型

var data=DBAccess. RunSQLReturnVal ("查询语句");

//执行删除、更新

var data= DBAccess.RunSQL("SQL语句");

5.Entity方法

作用:对实体类进行操作,只能操作单条数据

使用方法:

以人员实体类为例(BP.Port.Emp)

//先声明一条数据,主键方式

var emp=new Entity("BP.Port.Emp","zhangsan");

//或

var emp=new Entity("BP.Port.Emp");

emp.Retrieve("类中存在列名","唯一值,并不一定的主键");

//取值,只要类中存在的值,都可以使用

var name=emp.Name;

//更新

emp.Name="张三";

emp.Update();

//删除

emp.Delete();

//插入

var emp=new Entity("BP.Port.Emp");

emp.SetValByKey("列名","值");

...省略......

emp.Insert();或者emp.DirectInsert();

Insert方法与DirectInsert方法不同之处在于,执行Insert方法时,系统会执行插入前、插入中、插入后三个事件,DirectInsert则只执行插入数据,不执行事件。

//某个值是否存在(比如判断帐号为zhangsan的数据是否存在)

var emp=new Entity("BP.Port.Emp","zhangsan");

var isexits=emp. IsExits();

true为存在,false为不存在

6.Entites方法

作用:对实体类进行操作,多条数据操作,Entity可以被认作是Entites的一条记录

使用方法:

以人员实体类为例(BP.Port.Emp)

//先声明一条数据,主键方式

var emps=new Entites ("BP.Port.Emp");

//返回值格式为JSON

emps.Retrieve("列名1","参数1","列名2","参数2","列名3","参数3".....);

或者,查询所有数据

emps. RetrieveAll();

//删除

emps.Delete();

WF/Script/ QueryString.js

QueryString.js,主要封装了获取url参数的方法

1.获取某个url参数的值

var DoType= GetQueryString("DoType");

2.获取通用的参数

//获取WorkID

var WorkID= RequestArgs.WorkID;

//获取FK_Flow

var WorkID= RequestArgs. Flow;

//获取FK_Node

var WorkID= RequestArgs. Node;

.....省略......

其他参数请参考该JS文件下的RequestArgs类

WF/Script/ bootstrap/ BootstrapUIDialog.js

改方法主要封装了模态弹出窗的方法。

使用方法:

//弹出模态框

function WinOpenParentMenu(url, title) {

//模态窗宽度

var W = document.body.clientWidth - 200;

//模态窗高度

var H = document.body.clientHeight - 100;

            OpenBootStrapModal("URL", "eudlgframe", "模态窗标题", W, H, "icon-property", false, function () { }, null, function () {

//关闭后执行方法的方法,不需要时,可以为空

alert("关闭了");

            });

        }

猜你喜欢

转载自blog.51cto.com/14150825/2538660
今日推荐