收回
收回是工作流參與者對(duì)自己“已辦任務(wù)”(對(duì)已完成的工作項(xiàng))的一種操作,即參與者主動(dòng)對(duì)已辦理過(guò)的工作項(xiàng)進(jìn)行重新辦理。
為什么要收回?
參與者完成任務(wù)后,發(fā)現(xiàn)自己辦理有錯(cuò)誤等情況后,需要將此任務(wù)收回重新辦理。
工作項(xiàng)的參與方式
目前有四種方式:共同參與、競(jìng)爭(zhēng)參與、順序參與、基于角色的共同參與。
下面會(huì)針對(duì)這四種方式進(jìn)行討論。
工作項(xiàng)收回模式
1、未觸發(fā)下一節(jié)點(diǎn)的工作項(xiàng)的收回
即當(dāng)前任務(wù)節(jié)點(diǎn)并未完成,依舊處于執(zhí)行狀態(tài)
1.1共同參與
如圖:在節(jié)點(diǎn)A未結(jié)束之前,workitem1、workitem2和workitem3正常完成后可以任意收回。在只產(chǎn)生一個(gè)workitem的情況下,不存在未觸發(fā)下一節(jié)點(diǎn)的收回情況。
1.2順序參與
如圖:workitem1、workitem2和workitem3順序完成,workitem1在workitem2簽收(包括掛起和手工終止)前可以收回,同樣,workitem2在workitem3簽收(包括掛起和手工終止)前也可以收回。在只產(chǎn)生一個(gè)workitem的情況下,不存在未觸發(fā)下一節(jié)點(diǎn)的收回情況。
1.3競(jìng)爭(zhēng)參與
因?yàn)橹粫?huì)產(chǎn)生一個(gè)workitem,該workitem完成后會(huì)立刻觸發(fā)下一節(jié)點(diǎn),所以不存在未觸發(fā)下一節(jié)點(diǎn)的收回情況。
1.4基于角色的共同參與
與1.1相同。
2、已觸發(fā)下一節(jié)點(diǎn)的工作項(xiàng)的收回
2.1共同參與
問(wèn)題1:多個(gè)工作項(xiàng)時(shí)誰(shuí)可以執(zhí)行收回操作?
workitem1、workitem2和workitem3都可以執(zhí)行收回操作。第一個(gè)工作項(xiàng)的收回將會(huì)導(dǎo)致節(jié)點(diǎn)B實(shí)例的刪除,同時(shí)節(jié)點(diǎn)A重新恢復(fù)執(zhí)行狀態(tài)。
問(wèn)題2:節(jié)點(diǎn)B處于什么狀態(tài)節(jié)點(diǎn)A的工作項(xiàng)可以執(zhí)行收回操作?
由A觸發(fā)的節(jié)點(diǎn)B處于正在執(zhí)行的狀態(tài),節(jié)點(diǎn)B所產(chǎn)生的工作項(xiàng):
a共同參與 工作項(xiàng)均未簽收、掛起或手工終止
b順序參與 第一個(gè)工作項(xiàng)未簽收、掛起或手工終止
c 競(jìng)爭(zhēng)參與 工作項(xiàng)均未簽收、掛起或手工終止
d角色 同共同參與
問(wèn)題3:工作項(xiàng)收回產(chǎn)生的影響?
節(jié)點(diǎn)A重新執(zhí)行,收回的工作項(xiàng)重新執(zhí)行。節(jié)點(diǎn)B重新恢復(fù)未觸發(fā)狀態(tài),B所產(chǎn)生的工作項(xiàng)全部刪除。
2.2順序參與
問(wèn)題1:多個(gè)工作項(xiàng)時(shí)誰(shuí)可以執(zhí)行收回操作?
workitem1、workitem2和workitem3根據(jù)順序可以依次執(zhí)行收回操作。
2.3競(jìng)爭(zhēng)參與
情況簡(jiǎn)單,只有一個(gè)工作項(xiàng),所以可以直接收回。
2.4基于角色的共同參與
同2.1
工作流收回模式
后續(xù)觸發(fā)節(jié)點(diǎn)只能是人工節(jié)點(diǎn)(可以是多個(gè),至少一個(gè)),否則不支持收回。目前不支持父子流程之間的收回。
一個(gè)典型的同步匯聚情況:
節(jié)點(diǎn)1首先執(zhí)行完畢,但是因?yàn)槭峭絽R聚,所以它不會(huì)觸發(fā)實(shí)際的流轉(zhuǎn);而節(jié)點(diǎn)2的完成則會(huì)觸發(fā)節(jié)點(diǎn)3的執(zhí)行。在這種情況下,節(jié)點(diǎn)2的工作項(xiàng)可以執(zhí)行收回操作,而節(jié)點(diǎn)1的工作項(xiàng)因?yàn)楹罄m(xù)沒有觸發(fā)節(jié)點(diǎn)而不能收回。
http://www.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處:)