Activiti常用方法

2021-09-02 12:39:06 字數 2277 閱讀 6109

1、根據使用者名稱獲得待辦任務id,包括直接指定和通過角色、組指定的待辦任務

taskquery twoquery = taskservice.createtaskquery().taskcandidateorassigned(userid).active().orderbyprocessinstanceid().desc();

2、將任務委託給其他人辦理

task task=taskservice.createtaskquery().singleresult();

//委託

taskservice.delegatetask(task.getid(), "cc");

其中,cc為被委託人

或者根據命令模式進行委託處理:

如managementservice.executecommand(new delegatetaskcmd(taskid, "2c908aa34877c0a0014877f3ab5700f8"))

3、被委託人處理任務

taskservice.resolvetask(task.getid());

或者使用命令模式resolvetaskcmd

如 managementservice.executecommand(new resolvetaskcmd(taskid, variables));

被委託人執行完畢後,任務工具又回到委託人名下,即a委託b處理,b處理完後,任務又回到a名下。

4、業務流程資訊

listactlist = historyservice.createhistoricactivityinstancequery()

.processinstanceid(processinstanceid).finished()

.taskassignee(userid)

.orderbyhistoricactivityinstancestarttime().desc().list();

for(historicactivityinstance aaa : actlist){

system.out.println("*******"+aaa.getassignee());

system.out.println("*******"+aaa.getprocessinstanceid());

system.out.println("*******"+aaa.gettaskid());

根據流程例項id和使用者id,獲得該業務流程中已完成節點且是指定使用者處理的節點的相關資訊,即是act_hi_taskinst表中的資訊。

5、activiti歷史任務相關功能記錄

activiti的歷史任務是單獨的表來儲存,表之間沒有任何外間關聯,這些表包括:

act_hi_actinst 歷史流程的執行狀況記錄

act_hi_attachment 

act_hi_detail流程明細

act_hi_identitylink 流程身份關係

act_hi_procinst 歷史流程概況

act_hi_taskinst 歷史任務概況

act_hi_varinst 歷史流程中的引數

historyservice服務是用於查詢歷史資料表,有:

historyservice.createhistoricactivityinstancequery();      //查詢act_hi_actinst表

historyservice.createhistoricdetailquery();                     //查詢act_hi_detail表

historyservice.createhistoricprocessinstancequery();     //查詢act_hi_procinst表

historyservice.createhistorictaskinstancequery();         //查詢act_hi_taskinst表

historyservice.createhistoricvariableinstancequery();   //查詢act_hi_varinst表

7、查詢流程是否結束

string id=historyservice.createhistoricprocessinstancequery()

.finished().singleresult().getid().tostring();//finished()查出完成的流程,在資料庫中,end_act_id出現值,說明該流程結束。

Activiti5 常用方法

任務委託 簽收了的 taskservice.delegatetask taskid,userid 未簽收的 taskservice.addcandidateuser taskid,userid 有乙個節點的id怎麼得到這個節點的activity processdefinitionentity.fin...

activiti工作流常用api

1 繫結啟動流程的當前使用者 在啟動流程時,先呼叫 下面的api 來繫結流程啟動人 identityservice.setauthenticateduserid user 2 獲取流程例項的啟動人 public string getstartuserid string taskid 3 使用任務id...

Activiti 條件查詢

有兩種方法可以從引擎中查詢資料 查詢api和原生查詢。查詢api提供了完全型別安全的api。你可以為自己的查詢條件新增很多條件 所以條件都以and組合 和精確的排序條件。下面的 展示了乙個例子 list task tasks taskservice createtaskquery taskassig...