馳騁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=https://www.cnblogs.com/mengjuan/archive/2020/09/27/handler. DoMethodReturnString("GetDataList");
//執行介面(GetDataList),并回傳JSON資料
var data=https://www.cnblogs.com/mengjuan/archive/2020/09/27/handler. DoMethodReturnJSON ("GetDataList");
3.替換運算式方法
作用:用于替換字串的變數
變數格式:@+變數名
使用方法:
//替換字串中的變數
var char=DealExp("字串",new WebUser());
4.DBAccess方法
作用:執行SQL陳述句
使用方法:
//查詢資料串列,回傳值格式為JSON格式
var data=https://www.cnblogs.com/mengjuan/archive/2020/09/27/DBAccess. RunSQLReturnTable("查詢陳述句");
//查詢并回傳只有一行一列的資料,回傳值格式為字符型別
var data=https://www.cnblogs.com/mengjuan/archive/2020/09/27/DBAccess. RunSQLReturnVal ("查詢陳述句");
//執行洗掉、更新
var data= https://www.cnblogs.com/mengjuan/archive/2020/09/27/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("關閉了");
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/134927.html
標籤:其他
