驰骋BPM工作流背景常用接口与前台常用方法
一、流程引擎背景常用接口
接口说明
- 所谓的驰骋工作流引擎的接口,在BP.WF.Dev2Interface.cs上面的静态方法,前台页面通过这些静态方法通过页面于操纵者提供交互数据功能交互。
- Port_* 开头的方法都是组织布局相关的操纵,好比:登录、登出、发送消息。
- DB_*的都是提供数据列表的接口,好比:发起列表、待办列表、在途列表、完成列表等。
- 驰骋BPM工作流的发起、待办、在途菜单功能都是通过这个静态方法提供的BP.WF.Dev2Interface.DB_*接口生成的列表。
- 驰骋BPM的工作处置惩罚器创建工作ID、发送、退回、移交、删除、加签、会签等操纵也是调用BP.WF.Dev2Interface.Node_*通过流程接口对流程的操纵好比:流程的删除、回滚、撤销、冻结、取消冻结等流程的操纵都是操纵的BP.WF.Dev2Interface.Flow_*开辟接口。
- 以WorkOpt_* 开头的方法,都是工作流引擎部件的代码,好比在退回窗口上,获取可以退回的节点列表,设置指定的节点处置惩罚人。
- 我们在流程属性里有一个接口,请参考如下图:
工作流引擎发起、待办、在途、已完成接口
获取数据是如何根据您自己的必要,通过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("关闭了");
});
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |