activiti會簽駁回
① activiti串列會簽的時候怎麼設置相應的屬性
BPMN2的標准中並沒有對以上這種情景提供完善的支持,因此要在Activiti中實現會簽審批,我們需專要結合Activiti提供屬的流程任務的多實例特性,進行一些必要的擴展,以支持我們的中國特色的會簽需求。 會簽任務也是一種人工任務,其在activiti的定義中,也是使用UserTask來定義,但在屬性上我們需要對這個定義的類型進行特殊的配置,即為多任務實例類型(並行或串列)任何一種。另外需要定義會簽的參與人員,再定義會簽的完成條件(若不定義,表示其是所有參與人均完成後,流程才往下跳轉)。
② activiti多任務會簽時調用complete方法會結束任務嗎
Activiti中提供了來多實例任務源(for-each)將多實例應到到UserTask中可以實現會簽功能。 一.多實例用戶任務的XML表示: Xml代碼 assigneeList ${nrOfCompletedInstances/nrOfInstances >= 0.6}
③ 工作流activiti 怎麼實現會簽
Activiti中提供了多實例任務(for-each)將多實例應到到UserTask中可以實現會簽功能。一.多實例用戶任務的XML表示:Xml代碼assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}在每個多實例創建後都會有3個變數nrOfInstances實例總數nrOfActiveInstances當前還沒有完成的實例nrOfCompleteInstances已經完成的實例個數是用了指定用戶任務為多實例任務,isSequential指定多實例是按照並行或者串列的方式進行,如果使用串列方式nrOfActiveInstances變數始終是1.loopDataInputRef指定一個流程變數的引用,該變數是一個List,可以在發起或這執行任務之前作為流程變數放到引擎中,該list中的每一個元素將創建一個任務。元素的值通過inputDataItem元素的指定的變數來獲取如在這個實例中assigneeList=Arrays.asList("liyagn","cooperay","other");這會創建3個用戶任務,每個用戶任務中都有一個assignee的變數,來分別得到list中的值。completionCondition結束任務的條件,該示例中是任務完成60%結束二.給用戶任務指定代理人xml表示:Xml代碼liyangliyang上面的描述將該用戶任務分配給用戶liyang可以通過taskService.createTaskQuery.taskAssignee("liyang").list();來獲取該任務三.通過上面兩部將用戶任務做成了多任務,也可以將任務分配給指定的代理人,現在只用將上面兩個步驟進行結合在第一步中我們知道變數assignee是會簽人員的標識,只需要將指定代理人的地方用表達式來指定assignee變數就行了完整XML:Xml代碼${assignee}assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}${assignee}assigneeList${nrOfCompletedInstances/nrOfInstances>=0.6}完工。
④ 工作流activiti 怎麼實現會簽
Activiti中提供了多實例任務(for-each)將多實例應到到UserTask中可以實現會簽功能。
一.多實例用戶任務的XML表示:
Xml代碼
<userTask id="task" name="多實例任務">
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask>
<userTask id="task" name="多實例任務">
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask>
在每個多實例創建後都會有3個變數
nrOfInstances 實例總數
nrOfActiveInstances 當前還沒有完成的實例
nrOfCompleteInstances 已經完成的實例個數
是用了指定用戶任務為多實例任務,isSequential
指定多實例是按照並行或者串列的方式進行,如果使用串列方式nrOfActiveInstances 變數始終是1.
loopDataInputRef
指定一個流程變數的引用,該變數是一個List,可以在發起或這執行任務之前作為流程變數放到引擎中,該list中的每一個元素將創建一個任務。元素的值通過
inputDataItem 元素的指定的變數來獲取
如 在這個實例中 assigneeList =
Arrays.asList("liyagn","cooperay","other"); 這會創建3個用戶任務,每個用戶任務中都有一個 assignee
的變數,來分別得到list中的值。
completionCondition 結束任務的條件,該示例中是任務完成 60% 結束
二.給用戶任務指定代理人
xml表示:
Xml代碼
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>liyang</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>liyang</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
上面的描述將該用戶任務分配給用戶 liyang 可以通過
taskService.createTaskQuery.taskAssignee("liyang").list();來獲取該任務
三.通過上面兩部 將 用戶任務做成了多任務,也可以將 任務分配給指定的代理人,現在只用將上面兩個步驟進行結合
在第一步中我們知道變數 assignee 是 會簽人員的標識,只需要將指定代理人的地方用表達式來指定 assignee 變數就行了
完整XML:
Xml代碼
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${assignee}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask><SPAN style="WHITE-SPACE: pre"> </SPAN>
<userTask id="thisTask2" name="myTask2">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${assignee}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
< isSequential="false">
<loopDataInputRef>assigneeList</loopDataInputRef>
<inputDataItem name="assignee"></inputDataItem>
<!-- userIdList[user1,user2,user3] -->
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</>
</userTask>
完工。
⑤ Activiti5是否支持會簽
請問你復要是在找會議簽到的制機器嗎。之前我在會展里看見過就是在會議前期把邀請人的聯系方式和一些詳細信息錄入在軟體里然後下發到每一個受邀人的手機上其中包含著一張二維碼會議那天只要參會者拿著手機打開信息在一個機器上掃一下就行了系統那端自動錄入然後可以查詢到哪些人員到場哪些沒有到到場多少人許多祥細的信息都可以找到詳情咨詢我的網路名是電話號碼
⑥ activiti並行網關怎樣實現駁回功能
有一個不同意就全部駁回,或者使用多實例,例如多實例的會簽,按照百分比去決定是退回還是向下執行。
⑦ k2 如何實現 匯簽中一個駁回 都其他節點同時駁回
回退其實和任意駁回的原理差不多,也就是我們通常所說的撤回操作,只是駁回由當前任務處理人退回,回退是由之前已經處理過的人執行撤回操作,所以只要系統知道要撤回節點的taskKey,同樣可以調用以下方法來完成taskid對應的任務的回退(撤回)操作:
public void complateTask(String taskid,String destTaskKey)
就你所舉的例子來說,b執行撤回操作並重新辦理後,可根據業務要求重新走B後續的環節,也可以直接利用上面的API直接交給d所處的環節處理。
另外撤回操作涉及到的業務邏輯應該由應用層面來處理,流程引擎只需要提供任務撤回API就可以了。
當然回退(撤回)操作還涉及一個任務領用的問題,就是這個回退(撤回)的任務是由回退的人來領用呢還是由當前處理人來領用,這個還需根據實際業務情況來處理,不管業務要求怎樣,流程引擎都需要確保業務流程能夠正常流轉。
實際使用Activiti過程中出現以下問題並修復:
1.任務處理complate方法空指針異常修復
2.流程定義解析excludegate節點時,當默認路徑指定了條件時校驗失敗拋異常,去掉這個校驗,改為校驗通過
3.form中的user欄位類型不被支持,導致流程部署失敗,增加UserFormType 。
⑧ activiti怎麼擴展process屬性
BPMN2的標准中並沒有對以上這種情景提供完善的支持,因此要在Activiti中實現會簽審批回,我們需要結合答Activiti提供的流程任務的多實例特性,進行一些必要的擴展,以支持我們的中國特色的會簽需求。 會簽任務也是一種人工任務,其在activiti的定義中,也是使用UserTask來定義,但在屬性上我們需要對這個定義的類型進行特殊的配置,即為多任務實例類型(並行或串列)任何一種。另外需要定義會簽的參與人員,再定義會簽的完成條件(若不定義,表示其是所有參與人均完成後,流程才往下跳轉)。
⑨ activitil排他網關怎麼同時走多條任務
Activiti中提供了多實例任務(for-each)將多實例應到到UserTask中可以實現會簽功能。 一.多實例用戶內任務的容XML表示: Xml代碼 assigneeList ${nrOfCompletedInstances/nrOfInstances >= 0.6}