馳騁BPM工做流後臺經常使用接口與前臺經常使用方法

馳騁BPM工做流後臺經常使用接口與前臺經常使用方法 前端

1、流程引擎後臺經常使用接口

接口說明

 

  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. 咱們在流程屬性裏有一個接口,請參考以下圖:

    工做流引擎發起、待辦、在途、已完成接口 json

    獲取數據是如何根據您本身的須要,經過CCBPM的接口獲取想要的數據。 bootstrap

    好比:發起流程,待辦工做,在途工做。 url

    類名:BP.WF. Dev2Interface.DT_*  在當前的靜態方法中通常的返回的都是datatable數據集合類型,能夠將它轉化爲json以方便前臺生成列表。 spa

    發起列表:BP.WF. Dev2Interface.DB_GenerCanStartFlowsOfDataTable htm

    發起列表是當前登陸人員,或者指定人員能夠發起的流程列表,返回的數據源包含 No,Name兩個列,分別是流程模版編號,流程模版名稱,能夠鏈接到工做處理器 MyFlow.htm?FK_Flow=001 上讓用戶能夠直接發起流程。 blog

    系統提供的功能頁面:請參考/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 ip

    系統提供的功能頁面:請參考/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

    退出登陸

       

    2、馳騁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("關閉了");

                });

            }

    相關文章
    相關標籤/搜索