最近公司做的一個項目要實現(xiàn)工作流程的收回,駁回等操作,而采用的工作流引擎并不支持駁回功能,這個項目恰好就我和一個實習(xí)生一塊做,所以這個問題就落到我的頭上來解決了。。。
客戶提出的要求是駁回時要記錄日志,但是審批意見之類的需要清除掉,收回時不記錄日志,審批意見同樣清除。
百度了一下,總結(jié)了5個解決方案:
第一種是清除當(dāng)前任務(wù)的出口,實現(xiàn)回到上一步的功能。
根據(jù)任務(wù)ID獲取當(dāng)前的任務(wù)節(jié)點,進而獲取流程實例,然后取到流程的定義,找到當(dāng)前活動的節(jié)點與上一步活動的節(jié)點,然后清除當(dāng)前活動的出口,將上一步活動的出口作為最新的活動節(jié)點。
第二種是直接將當(dāng)前的activiti引擎更換為第三方的支持退會駁回的引擎。
第三種是自己編譯activiti引擎,加入退回,駁回功能。
第四種是直接操作數(shù)據(jù)庫,使用歷史任務(wù)替換正在進行的任務(wù)。
第五種是直接實現(xiàn)Command接口,實現(xiàn)工作流程可以任意跳轉(zhuǎn)。
因為時間緊急所以直接將3.編譯activiti引擎給pass掉了,本來項目是接手的離職員工的項目,更換流程引擎可能會引起其他的問題,此計劃暫放。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26