Activiti7.0實戰學習(九):查詢歷史表中的數據

背景

  1. 我們可以先只是生成數據庫中的表,然後在進行流程定義的部署。
  2. 我們也可以不用先生成數據庫中的表,而直接進行流程定義的部署,也會生成表結構,並且會插入流程部署相關的必要的信息。
  3. 流程定義部署後,數據庫中的歷史相關的表也是沒有任何數據記錄信息的。需要等到task在動態地流轉,然後會相應地生成歷史數據記錄信息,最後我們才能查詢出具體的數據信息。

過程

  • 我們再走一次這個流程

    1. 部署 假如我們的流程已經部署好了。參考與Springboot集成

    2. 實例化
      在這裏插入圖片描述
      說明:當把部署後的流程定義進行了實例化(創建流程實例),我們再次分析數據庫中的表結構及其變化。
      act_ru_task表
      在這裏插入圖片描述
      在這裏插入圖片描述
      在這裏插入圖片描述
      我們可以分析出,當我們進行了流程實例化後,act_ru_task表會立即插入一條數據。從字段中說明,此表持有act_ru_execution表的引用,持有act_hi_procinst表的引用,持有act_ru_procedef表的引用。這樣我們就可以分析表之間的關聯關係。

      act_ru_execution表
      在這裏插入圖片描述
      在這裏插入圖片描述
      在這裏插入圖片描述
      在這裏插入圖片描述
      我們可以看見,它插入了兩條數據。觀察到第一條的parent_id是null, 而第二條數據的parent_id是上一條的。由此,我們可以推斷出,一個是startEvent,一個是闡述zhangsan這個人需要填寫請假申請單。從start_time字段可以看出,這兩條數據幾乎是同一個時刻插入的。由此可以推測出,當流程實例中的最後一個人審批處理後,也就是同一時刻插入兩條數據,一條是自己執行的,一條是endEvent。其他應該是處理一次插入一條記錄。

      act_hi_procinst表
      在這裏插入圖片描述
      在這裏插入圖片描述
      說明:我們可以看見畫線的兩個id是一樣的,因此PROC_INST_ID值來自ID值。其次,就是他只是插入一條數據。表明zhangsan這人的任務已經開始了,但是還沒有進行處理。

      act_ru_procdef
      這個表中的內容就是部署流程定義的時候,插入的一條。可以理解爲元數據的元數據。因爲元數據是bpmn和png,而act_ru_procdef其實就是描述元數據的。因此它爲元數據的元數據。

      act_hi_taskinst表
      在這裏插入圖片描述
      在這裏插入圖片描述
      在這裏插入圖片描述
      說明:流程實例初始化後,那麼就給記錄了一條歷史數據。我認爲雖然事件確實已經發生了,命名爲history相關,但是依然有一些業務對應關係。至少可以找到一件事情的整個發展過程。因此,不要輕視歷史記錄數據信息。

      act_hi_actinst表
      在這裏插入圖片描述
      在這裏插入圖片描述
      這張表持有的引用是task_id,剛好來自act_hi_taskinst表中的id。這就是表之間的關聯關係。

    3. zhansan處理任務
      在這裏插入圖片描述
      數據庫表的變化就直接去數據看就行了。核心就看act_hi_procinst表,act_hi_taskinst表,act_hi_actinst表,act_ru_task表(原來的那條刪除,新插入下一個任務記錄即可)。

      後面的分析過程就完全跟zhangsan處理任務一樣的

  • 有了歷史數據,這個時候查詢歷史表中的數據

    在這裏插入圖片描述
    控制檯打印
    在這裏插入圖片描述
    說明,設置查詢的參數,比如要查詢哪個具體的流程實例,然後根據流程實例ID進行查詢。分頁,排序,升序,降序都支持這樣的操作。

  • 可以繼續讓wangwu完成任務處理,一樣可以查詢出關於流程後續的日誌記錄信息。

小結

  1. 想要測試歷史表中數據的查詢,需要準備歷史數據。準備過程就是:畫好流程圖,部署流程圖,實例化流程圖,處理任務即可。
  2. 通過從頭到尾都一次,可以分析表之間的關聯關係,加深對錶結構的一個熟悉程度。
  3. 怎麼來理解這些東西呢?想象成一個特殊的ORM工具,我準備業務數據給到Activiti,然後它去存儲,我們通過它提供的API進行查詢。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章