日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Activiti——流程执行历史记录(七)

發(fā)布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activiti——流程执行历史记录(七) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)自:http://blog.csdn.net/zjx86320/article/details/50363544

之前的幾篇文章,為大家簡單的介紹了部署流程定義、啟動流程實例、查看和辦理個人任務以及如何設置和獲取流程變量,這一系列的活動組成了一個完整的執(zhí)行流程,那么一個執(zhí)行完的流程我們?nèi)绾尾榭聪嚓P的定義呢,這篇博文就為大家簡單的介紹一下流程執(zhí)行的歷史記錄查詢。


? ??一、查詢歷史流程實例


[java]?view plaincopy
  1. /**查詢歷史流程實例*/??
  2. @Test??
  3. public?void?findHisProcessInstance(){?????
  4. ????List<HistoricProcessInstance>?list?=?processEngine.getHistoryService()??
  5. ????????????.createHistoricProcessInstanceQuery()??
  6. ????????????.processDefinitionId("testVariables:2:1704")//流程定義ID??
  7. ????????????.list();??
  8. ??????
  9. ????if(list?!=?null?&&?list.size()>0){??
  10. ????????for(HistoricProcessInstance?hi:list){??
  11. ????????????System.out.println(hi.getId()+"???"+hi.getStartTime()+"???"+hi.getEndTime());??
  12. ????????}??
  13. ????}??
  14. }??


? ? ?查詢歷史流程實例,就是 查找按照某個流程定義的規(guī)則一共執(zhí)行了多少次流程, 對應的數(shù)據(jù)庫表:act_hi_procinst

? ? ?

? ? ?從表中我們可以看到,我們可以通過流程實例ID和流程部署ID得到對象的歷史流程實例,從而獲得該實例的開始時間和結(jié)束時間及其他一些屬性定義。


? ? ?二、查詢歷史活動


[java]?view plaincopy
  1. /**查詢歷史活動?
  2. ?*?問題:HistoricActivityInstance對應哪個表?
  3. ?*?問題:HistoricActivityInstance和HistoricTaskInstance有什么區(qū)別*/??
  4. @Test???
  5. public?void?findHisActivitiList(){??
  6. ????String?processInstanceId?=?"1801";??
  7. ????List<HistoricActivityInstance>?list?=?processEngine.getHistoryService()??
  8. ????????????.createHistoricActivityInstanceQuery()??
  9. ????????????.processInstanceId(processInstanceId)??
  10. ????????????.list();??
  11. ????if(list?!=?null?&&?list.size()>0){??
  12. ????????for(HistoricActivityInstance?hai?:?list){??
  13. ????????????System.out.println(hai.getId()+"??"+hai.getActivityName());??
  14. ????????}??
  15. ????}??
  16. }??


? ? ? 查詢歷史活動,就是查詢某一次 流程的執(zhí)行一共經(jīng)歷了多少個活動,這里我們使用流程定義ID來查詢,對應的數(shù)據(jù)庫表為:act_hi_actinst




? ? ?三、查詢歷史任務


[java]?view plaincopy
  1. /**查詢歷史任務????
  2. ?*?問題:HistoricTaskInstance對應哪個表*/??
  3. @Test??
  4. public?void?findHisTaskList(){??
  5. ????String?processInstanceId?=?"1801";??
  6. ????List<HistoricTaskInstance>?list?=?processEngine.getHistoryService()??
  7. ????????????.createHistoricTaskInstanceQuery()??
  8. ????????????.processInstanceId(processInstanceId)??
  9. ????????????.list();??
  10. ????if(list!=null?&&?list.size()>0){??
  11. ????????for(HistoricTaskInstance?hti:list){??
  12. ????????????System.out.println(hti.getId()+"????"+hti.getName()+"???"+hti.getClaimTime());??
  13. ????????}??
  14. ????}??
  15. }??

? ? ?查詢歷史任務,就是查詢摸一次流程的執(zhí)行一共經(jīng)歷了多少個任務,對應表:act_hi_taskinst




? ? ?四、查詢歷史流程變量


[java]?view plaincopy
  1. /**查詢歷史流程變量*/??
  2. @Test??
  3. public?void?findHisVariablesList(){??
  4. ????String?processInstanceId?=?"1801";??
  5. ????List<HistoricVariableInstance>?list?=?processEngine.getHistoryService()??
  6. ????????????.createHistoricVariableInstanceQuery()??
  7. ????????????.processInstanceId(processInstanceId)??
  8. ????????????.list();??
  9. ????if(list?!=?null?&&?list.size()>0){??
  10. ????????for(HistoricVariableInstance?hvi:list){??
  11. ????????????System.out.println(hvi.getId()+"????"+hvi.getVariableName()+"???"+hvi.getValue());??
  12. ????????}??
  13. ????}??
  14. }??

? ? ?查詢歷史流程變量,就是查詢 某一次流程的執(zhí)行一共設置的流程變量,對應表:act_hi_varinst




? ? ?總結(jié):

? ? ?由于數(shù)據(jù)庫中保存著歷史信息以及正在運行的流程實例信息,在實際項目中對已完成任務的查看頻率遠不及對待辦和運行中的任務的查看,所以activiti采用分開管理,把正在運行的交給RuntimeService管理,而歷史數(shù)據(jù)交給HistoryService來管理。


總結(jié)

以上是生活随笔為你收集整理的Activiti——流程执行历史记录(七)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。