activiti6 獲取下一節點 (持續更新)

2021-10-08 03:56:31 字數 1442 閱讀 1578

這種方式是通過當前節點與當前節點之後的節點中間的連線物件(sequenceflow 類)中的outgoingflows屬性 (標識輸出的物件) , 之後對輸出的物件進行判斷 , 判斷其是否是排他閘道器 (exclusivegateway) , 如果是排他閘道器 , 再通過自己程式的邏輯處理來判斷下一節點是哪乙個節點。

每行**後面都有注釋。

**

* 獲取下一usertask任務節點

* task 當前任務task物件

* data 表單資料 (主要為了排他閘道器分支節點做判斷用, 例如:請假2天需要提交至專案經理, 請假5天需要提交至部門經理)*/

public usertask getnextusertasknode

(task task,map data)

else

if(exclusivegateway.

class

.isinstance

(nextflowelement)

)else

if(exclusiveoutgoingflows.

size()

>1)

eldata eldata =

disposeexitcondition

(branchcondition.

getexitcondition()

,data)

;//這個方法是我通過規則和資料,來判斷是否符合轉入節點的條件if(

iscondition

(eldata.

getel()

,eldata.

getelvaluedata()

))}}

}}return resulttask;

}

解析el表示式方法 iscondition

/**

* 通過el表示式 與 data集合 判斷是否符合條件

* @param el

* @param data

* @return

*/public

boolean

iscondition

(string el,map

data)

valueexpression e = expressionfactory.

createvalueexpression

(******context, el,

boolean

.class);

return

(boolean) e.

getvalue

(******context)

;}

獲取下一節點的方法有很多,但核心就是對bpmnmodel物件和flowelement節點物件的操作。

activiti獲取下乙個節點資訊

在實際的工作流業務開發中,當使用者完成當前使用者任務時,需要指定下乙個使用者任務的審核人。此時我們需要獲取下乙個節點的一些資訊,來確定下乙個使用者任務的審核人有哪些。在實際工作流程中,當前使用者任務後的節點可能為使用者任務,也可能為閘道器。如果下乙個節點為閘道器我們需要判斷流程線路。獲取下乙個使用者...

activiti獲取下乙個節點資訊

在實際的工作流業務開發中,當使用者完成當前使用者任務時,需要指定下乙個使用者任務的審核人。此時我們需要獲取下乙個節點的一些資訊,來確定下乙個使用者任務的審核人有哪些。在實際工作流程中,當前使用者任務後的節點可能為使用者任務,也可能為閘道器。如果下乙個節點為閘道器我們需要判斷流程線路。獲取下乙個使用者...

activiti學習資料 獲取下一步節點

activ iti相對於jb pm來說,比較年輕,用的人少,中文方面的 資料更少,我根據網上到處找得資料以及看官方文件 總結出來了 非常不 容易啊。廢話不多說,直接上 吧 首先是根據流程id 獲取當前任務 listtasks taskservice.createtaskquery processin...