­

Activiti 開發案例之數據庫表 ACT_HI_IDENTITYLINK

  • 2019 年 12 月 5 日
  • 筆記

前言

用工作流API用的賊溜,那麼問題來了,指派的任務和人都去哪了?

表結構

如果大家開發中用到了以下兩個API會涉及到:

  • taskService.addCandidateUser(taskId,userId)
  • taskService.addCandidateGroup(taskId,groupId)

ACT_HI_IDENTITYLINK:任務參與者歷史數據表,主要存儲歷史節點參與者的信息。

1. ID_:  2. GROUP_ID_: 對應 act_id_group 中的ID_  4. TYPE_:類型  5. USER_ID_:對應 act_id_user 中的ID_  6. TASK_ID_:對應 act_ru_task 中的ID_  7. PROC_INST_ID_: 流程實例ID

ACT_RU_IDENTITYLINK:任務參與者數據表,主要存儲當前節點參與者的信息。

1. ID_:  2. REV_:版本號  3. GROUP_ID_: 對應 act_id_group 中的ID_  4. TYPE_:類型  5. USER_ID_:對應 act_id_user 中的ID_  6. TASK_ID_:對應 act_ru_task 中的ID_  7. PROC_INST_ID_: 流程實例ID  8. PROC_DEF_ID_:部署流程版本號

ACT_HI_IDENTITYLINKACT_RU_IDENTITYLINK 兩個表的數據字段看似差不多,其實還是有很大不同的。

  • ACT_HI_IDENTITYLINK,所有的歷史以及當前指派數據都存在這個表中。
  • ACT_RU_IDENTITYLINK,流程結束以後,此流程對應的指派數據將清空。
  • ACT_RU_IDENTITYLINK,多了兩個字段 REV_:版本號,PROC_DEF_ID_:部署流程版本號,因為在運行過程中,任務需要知道發起是使用的是那一個流程版本。
  • ACT_HI_IDENTITYLINK,中沒有以上兩個字段,是因為已經到歷史庫了,記錄也沒啥子意義了。
  • ACT_RU_IDENTITYLINK,運行中的任務,TASK_ID_字段不為空,PROC_INST_ID_ 為空。
  • ACT_RU_IDENTITYLINK,結束的任務,TASK_ID_ 字段為空,PROC_INST_ID_ 不為空。

最後,再來看看比較重要的TYPE_字段:

  • starterUSER_IDPROC_INST_ID_,記錄流程的發起者
  • candidateUSER_ID_GROUP_ID_ 其中一個必須有值、TASK_ID_有值,記錄當前任務的指派人與指派組。
  • participantUSER_IDPROC_INST_ID_有值,記錄流程任務的參與者。