裝置申請審批流程(WF例項)

2021-08-22 06:36:37 字數 2469 閱讀 9025

(1)怎麼傳遞流程引數?啟動流程例項時把引數裝載到

dictionary中作為createworkflow方法的引數傳遞:

// fill the parameters collection for this instance of the workflow

dictionary

parameters = new

dictionary

();parameters.add("createdby", txtcreatedby.text);

parameters.add("equipmentname", txtname.text);

parameters.add("numbers",strtoint(txtnumbers.text));

parameters.add("moneys", strtofloat(txtmoneys.text));

parameters.add("desc", txtdesc.text);

// get the type of the workflow

// start the workflow instance

workflowinstance inst = theworkflowruntime.createworkflow(type, parameters);

inst.start();

獲取引數是在流程檔案中建立相同名稱的屬性,流程中就可以得到這些引數:

#region

屬性private

string m_equipmentname = "";

public

string equipmentname

set

}private

int m_numbers = 0;

public

int numbers

set

}private

float m_moneys = 0;

public

float moneys

set

}private

string m_desc = "";

public

string desc

set

}private

string m_createdby = "";

public

string createdby

set

}#endregion

(2)怎麼持久化流程?需要在初始化流程執行時的時候增加增加其久化服務:

// add system sql persistence

service

sqlworkflowpersistenceservice persistenceservice = new

sqlworkflowpersistenceservice(

"initial catalog=persistencestore;" +

"data source=localhost\\sqlexpress; integrated security=sspi");

wr.addservice(persistenceservice);

還需要增加空閒時事件:

wr.workflowidled += new

eventhandler

(wr_workflowidled);

下面的**表示在流程空閒時持久化(事實上是儲存到資料庫,也可以包括到檔案,你也可以隨時持久化流程)。

void

wr_workflowidled(object sender, workfloweventargs e)

static

void unloadinstance(object workflowinstance)

(3)怎麼增加自定義的服務?需要增加服務介面和引數類:

[serializable]

public

class

public

string operatorname

set }}

[externaldataexchange]

public

inte***ce

[externaldataexchange]對於服務介面是必要的宣告,否則不能把服務增加到流程中。增加乙個類實現這個介面:

public

class

public

}public

public

}#region

void

void

void

#endregion}

在初始化流程執行時的時候就可以把服務增加進來:

// add the external data service

externaldataexchangeservice dataservice = new

externaldataexchangeservice();

wr.addservice(dataservice);

WF4 0 實戰 WF4 0申請審批例項

工作流 workflow 就是 業務過程的部分或整體在計算機應用環境下的自動化 它主要解決的是 使在多個參與者之間按照某種預定義的規則傳遞文件 資訊或任務的過程自動進行,從而實現某個預期的業務目標,或者促使此目標的實現 一句話 工作流就是一系列相互銜接 自動進行的業務活動。再通俗點就是對於乙個業務需...

Activiti獲取某個流程例項已經審批的節點記錄

已知businessid即eventid獲得對應的審批記錄 某個流程例項的節點資訊都是存放在act hi actinst表中 business key存放在act hi procinst中,得到historicprocessinstance後獲得對應的流程例項id。然後根據流程例項id獲得act h...

Activiti獲取某個流程例項已經審批的節點記錄

size large color red 已知businessid即eventid獲得對應的審批記錄 color size size medium color blue 某個流程例項的節點資訊都是存放在act hi actinst表中 color size color red business ke...