CCBPM 經常使用API接口說明

接口參數說明:

Fk_flow:流程編號node

userNo、BP.Web.WebUser.No:登陸賬號程序員

Fk_node:節點編號數據庫

Workid:工做ID設計

FID:父流程ID日誌

 

 

1.系統登陸對象

a) 前臺登陸:BP.WF.Dev2Interface.Port_Login(userNo);接口

b) 登陸流程設計器:/WF/Admin/XAP/Designer.aspxit

c) 自動登陸流程設計器:/WF/Admin/XAP/Designer.aspx?userNo=admin&SID=1234556.登錄

SID須要讀取數據庫中,對應admin的SID。變量

2.當前登錄人能夠發起的流程(發起)

Dt=BP.WF.Dev2Interface.DB_GenerCanStartFlowsOfDataTable(BP.Web.WebUser.No);

3.當前登錄人能夠處理的工做(待辦)

Dt=BP.WF.Dev2Interface.DB_GenerEmpWorksOfDataTable(userNo,FK_Flow);

Dt=BP.WF.Dev2Interface.DB_GenerEmpWorksOfDataTable();

4.當前登錄人處理過的流程(在途)

Dt=BP.WF.Dev2Interface.DB_GenerRuning(userNo,FK_Flow);

Dt=BP.WF.Dev2Interface.DB_GenerRuning();

5.當前人收到的抄送信息(閱知件)

Dt=BP.WF.Dev2Interface.DB_CCList(userNo);

6.建立空白的WorkID:

Int64 workid=BP.WF.Dev2Interface.Node_CreateBlankWork(fk_flow);

CCBPM的工做ID是一個int64位的證書,始終是按照順序號+1產生的。該值全局惟一,並無重複性,該信息記錄到Sys_Serial表中,Workid的生成衝100開始。

7.執行流程發送:

//執行發送

BP.WF.SendReturnObjs objs=BP.WF.Dev2Interface.Node_SendWork(fk_flow,workid);

//流程是否結束

Bool isFlowOver=objs.IsStopFlow;

//下一步節點ID

Int toNodeID=objs.VarToNodeID;

//下一步節點名稱

String toNodeName=objs.VarToNodeName;

//下一步處理人ID

String toEmpID=objs.VarAcceptersID;

//下一步處理人名稱

String toEmpName=objs.VarAcceptersName;

//發送後信息

String msgInfo=objs.ToMsgHtml();

發送說明:發送就是讓節點向下運動。調用接口執行發送後,返回一個執行結果的對象SendReturnObjs,該對象是流程引擎執行過程當中的編號,解析該變量,能夠檢查流程是否完成、暈倒到哪個節點、一下節點由誰來執行工做。他的流向和接受人是根據流程設計的規則而定的。

Objs=BP.WF.Dev2Interface.Node_SendWork(fk_flow,workid,fk_node,userNo);

若是程序員知道下一步要送給誰、到達哪一步節點,能夠調用上面的接口,該接口就會擺脫流程引擎的節點運行規則,自定義運行。

8.撤銷發送:

String msg=BP.WF.Dev2Interface.Flow_DoUnSend(fk_flow,workid);

撤銷是發送的逆向操做。可否被撤銷,是根據當前活動節點的撤銷規則決定的。

9.流程回滾:

String msg=BP.WF.Dev2Interface.Flow_DoRebackWorkFlow(fk_flow,worjid,fk_node,’回滾’);

回滾,是在流程結束後須要從新在指定的節點,讓指定的人員從新向下運行。與撤銷不一樣的是,回滾是在流程完成之後的操做,而且由管理員操做。

10.退回:

msg=BP.WF.Dev2Interface.Node_ReturnWork(fk_flow,workid,FID,fk_Node,toNodeID,toemp,’緣由’,’是否原路返回’);

11.移交:

BP.WF.Dev2Interface.Node_Shift(fk_flow,fk_node,workid,FID,toemp,’緣由’);

移交就是把本身所要作的工做交給其餘人處理。

12.加簽:

//A將工做加簽給B後,B處理完成後,會發送給A,由A發送到下一步。 msg=BP.WF.Dev2Interface.Node_Askfor(workid,BP.WF.AskforHelpSta.AfterDealSendByWorder,toemp,’緣由’);
//A將工做加簽給B後,B處理完成後,直接發送到下一步。

Msg=BP.WF.Dev2Interface.Node_Askfor(workid,BP.WF.AskforHelpSta.AskDealSend,toemp,’緣由’);
//A將工做加簽給B後,B回覆加簽

Msg=BP.WF.Dev2Interface.Node_AskforReply(fj_flow,fk_node,workid,fid,’緣由’);

加簽說明:

加簽就是把本身所要作的工做參考其餘人意見,或者讓其餘人處理。它分爲兩種模式:1.加簽後,由加簽人發送到下一步。2.加簽後,由加簽人發給當前人,由當前人發送到下一步。

13.結束流程:

//點擊結束按鈕,結束流程,這種方式會記錄日誌

Info=BP.WF.Dev2Interface.Flow_DoFlowOver(fk_flow,workid,’緣由’);

//按照標記刪除流程

Info=BP.WF.Dev2Interface.Flow_DoDeleteFlowByFlag(fk_flow,workid,’緣由’,true);
//完全的刪除流程,無日誌記錄

Info=BP.WF.Dev2Interface.Flow_DoDeleteFlowByReal(fk_flow,workid,’緣由’,true);
//完全刪除流程,有日誌記錄

Info=BP.WF.Dev2Interface.Flow_DoDeleteFlowByWriteLog(fk_flow,workid,’緣由’,true);

結束流程的三種方式說明:

第一種,走到最後一個節點,自動結束。

第二種,在指定的節點上,設置流程結束條件。流程運行到當前節點時,符合條件就執行結束,若是不符合,繼續向下運行,一直到自動結束。

第三種,在指定的節點上,啓用結束流程按鈕,強制結束流程。

相關文章
相關標籤/搜索