1.操作一:流程部署
流程部署有兩種方式惕橙,第一種是項目啟動直接找resouces目錄下的bmpn文件,另一種方式是外部部署,通過api直接部署到項目中帮寻。
1.1 如果是項目啟動
(其中“南方盡調(diào)流程V3.bpmn”是沒有部署過的新的流程文件)
關(guān)聯(lián)表:
-
act_ge_bytearray [流程引擎二進(jìn)制數(shù)據(jù)表]
只要發(fā)現(xiàn)有新的流程文件,所有的resouces下的bmpn和png文件都會重新寫入此表赠摇。 -
act_re_deployment [流程部署表]
注意此表的name_和souce_字段固逗,如果是工程啟動部署,name_是工程的名稱藕帜,source_是“process application” -
act_re_procdef [流程定義表]
-
act_ru_meterlog [流程日志表]
每隔15分鐘執(zhí)行一次
1.2 如果是遠(yuǎn)程部署
關(guān)聯(lián)表:
-
act_ge_bytearray [流程引擎二進(jìn)制數(shù)據(jù)表]
-
act_re_deployment [流程部署表]
注意此表的name_和souce_字段烫罩,如果是遠(yuǎn)程api部署,name_和source_是api參數(shù)里傳過來的 -
act_re_procdef [流程定義表]
藍(lán)色底的那條是新生成的洽故,可以對比上一條(資源目錄啟動生成的)贝攒,version_是不一致的,id也是有規(guī)律去別的
2.操作二:流程實例啟動
關(guān)聯(lián)表:
-
act_hi_actinst [歷史的活動實例表]
-
act_hi_detail [歷史流程變量運(yùn)行詳情表]
歷史的流程運(yùn)行變量詳情記錄表隘弊。流程中產(chǎn)生的變量信息,包括控制流程流轉(zhuǎn)的變量撞秋,業(yè)務(wù)表單中填寫的流程需要用到的變量等长捧。
可以看出,記錄是區(qū)分類型“type_”的吻贿,對于表單變量串结,會記錄兩遍,以流程變量記錄一遍,再以表單變量記錄一遍肌割,下面以“項目名稱”為例看看這兩個記錄:
-
act_hi_identitylink[歷史流程運(yùn)行中關(guān)聯(lián)的用戶]
-
act_hi_procinst[歷史流程實例表]
沒有子流程時卧蜓,這三個字段是一致的,此表中的id沒有重新生成把敞,而是直接借用的運(yùn)行中實例的id -
act_hi_taskinst[歷史任務(wù)實例表]
-
act_hi_varinst[歷史流程變量表]
以“項目名稱”舉例:
此表跟act_hi_detail比較類似弥奸,具體區(qū)別后續(xù)再研究。
-
act_ru_execution[流程執(zhí)行實例表]
這個表是執(zhí)行實例表奋早,實例的概念也在這個表中定義盛霎,如果一個流程中存在子流程或者存在并行會簽流程,那么同一個PROC_INST_ID_會對應(yīng)多個EXECUTION耽装,
“ID_”:EXECUTION主鍵愤炸,這個主鍵有可能和PROC_INST_ID_相同,相同的情況表示這條記錄為主實例記錄掉奄。
“PROC_INST_ID_”:一個流程實例不管有多少條分支實例规个,這個ID都是一致的。
具體參考這篇文章:https://blog.csdn.net/zhongzk69/article/details/90956710
-
act_ru_meter_log[流程度量日志]
觀察看姓建,這個表每隔15分鐘執(zhí)行一次诞仓,具體作用待研究。
-
act_ru_task[流程運(yùn)行任務(wù)表]
3.操作三:更換任務(wù)執(zhí)行人
關(guān)聯(lián)表:
-
act_hi_actinst [歷史的活動實例表]
更改了此條記錄速兔。 -
act_hi_identitylink[歷史流程運(yùn)行中關(guān)聯(lián)的用戶]
這個表比較關(guān)鍵墅拭,新增了兩條記錄(注意這兩條記錄的id是一樣的,兩條記錄通過“opration_type_”字段區(qū)分)涣狗,原始記錄保持不變帜矾。
藍(lán)色底的是新增的兩條記錄,第三條是原始記錄屑柔。
這個是刪除動作記錄屡萤,注意id跟以前不一樣了,“opration_type_”是“delete”掸宛,
-
act_ru_task[流程運(yùn)行任務(wù)表]
變更了“assignee_”字段
4.操作四:執(zhí)行“用戶任務(wù)”流程節(jié)點(diǎn)
關(guān)聯(lián)表:
-
act_hi_actinst [歷史的活動實例表]
修改了第二條死陆,增加了第一條(藍(lán)色底的),具體如下:
修改了這三個字段唧瘾,“act_inst_state_”從0變?yōu)?(具體代表的意義需要查一下)措译,"end_time_" 和“duration_”分別是本節(jié)點(diǎn)的審批時間和等待時間。 -
act_hi_identitylink[歷史流程運(yùn)行中關(guān)聯(lián)的用戶]
新增一條記錄饰序,下個節(jié)點(diǎn)的審批人記錄领虹,具體如下:
-
act_hi_op_log[操作歷史日志]
具體如下:
"operation_type_"是操作類型,assign代表更換執(zhí)行人
"property_"是操作的那個屬性字段求豫,本次是“assignee”字段
“org_value_”是流程定義文件的執(zhí)行人塌衰,
“new_value_”是更換過的實際的執(zhí)行人 -
act_hi_taskinst[歷史任務(wù)實例]
新加了一條記錄(藍(lán)色底的)诉稍,更新了上一條記錄,更新的記錄詳情如下:
“assignee_”不知道是本次操作更改的最疆,還是上一步更換執(zhí)行人操作更改的杯巨,需要確認(rèn)?
“priority_”,優(yōu)先級努酸,默認(rèn)好像都是50服爷,不知道數(shù)值怎么定義的,也需要確認(rèn)获诈?新增的記錄詳情如下:
-
act_ru_execution[流程執(zhí)行實例表]
修改執(zhí)行實例
“rev_”,樂觀鎖(版本)
“sequence_counter_”仍源,從流程啟動環(huán)節(jié)的3,變?yōu)楝F(xiàn)在的5舔涎,具體原理需要繼續(xù)跟進(jìn)镜会? -
act_ru_task [流程運(yùn)行任務(wù)表]
更新了原來的記錄,詳細(xì)如下:
可以看出终抽,act_ru_task 只保存各個實例在當(dāng)前執(zhí)行任務(wù)節(jié)點(diǎn)的信息,歷史記錄在act_hi_taskinst中桶至。 -
act_ru_task_meter_log
暫時不了解此表意義昼伴?
5.操作五:執(zhí)行“用戶任務(wù)”流程節(jié)點(diǎn)【帶網(wǎng)關(guān)條件】
關(guān)聯(lián)表:
-
act_hi_actinst [歷史的活動實例表]
修了個第三條記錄,新增了兩條記錄镣屹,第三條記錄變更如下:
跟上一章類似圃郊,“act_inst_state_”也是從0變?yōu)?,具體意義后續(xù)跟進(jìn)女蜈?
兩條新加的記錄如下:
-
act_hi_detail [歷史流程變量運(yùn)行詳情表]
新增一條變量記錄:
-
act_hi_identitylink[歷史流程運(yùn)行中關(guān)聯(lián)的用戶]
同上一章一樣持舆,新增一條下一審批節(jié)點(diǎn)的審批人:
-
act_hi_op_log[操作歷史日志]
詳細(xì)如下:
"operation_type_"是操作類型,complete代表完成這個任務(wù)
"property_"是操作的那個屬性字段伪窖,本次是“delete”字段逸寓??如果按照上一章的理解覆山,這個怎么解釋竹伸??
“org_value_”是流程定義文件的執(zhí)行人簇宽,
“new_value_”是更換過的實際的執(zhí)行人 -
act_hi_taskinst[歷史任務(wù)實例]
這個表跟“act_hi_actinst”的區(qū)別是勋篓,act_hi_taskinst只記錄任務(wù)相關(guān)的歷史操作,而act_hi_actinst記錄的是整個審批流程的所有環(huán)節(jié)魏割,包括“網(wǎng)關(guān)”等譬嚣,可以對比本章的act_hi_actinst截圖
更新上一條,新增一條(藍(lán)色底的)
更新如下:
新增如下:
-
act_hi_varinst[歷史流程變量表]
第二章提出疑問钞它,act_hi_varinst和act_hi_detail什么區(qū)別拜银,基于數(shù)據(jù)比較一下:
可以看出殊鞭,detail表比varinst表多兩條數(shù)據(jù),varinst表只有projectName和checkArea對應(yīng)的變量盐股,而detail表不只有變量钱豁,還有這兩個變量對應(yīng)的表單屬性:
-
act_ru_execution[流程執(zhí)行實例表]
下面的紅框中,是跟第四章中此表數(shù)據(jù)變化的地方:
“act_id_”是bpmn對象中本任務(wù)節(jié)點(diǎn)的id疯汁,
“act_inst_id_”是本實例活動任務(wù)節(jié)點(diǎn)的id牲尺,可以看出是有“act_id_”字段和“act_ru_task”表的本任務(wù)節(jié)點(diǎn)的id拼接成的。 -
act_ru_task [流程運(yùn)行任務(wù)表]
可以看出幌蚊,上一執(zhí)行完的任務(wù)節(jié)點(diǎn)已經(jīng)刪除谤碳,新增了一條當(dāng)前被執(zhí)行任務(wù)節(jié)點(diǎn)的記錄。
-
act_ru_task_meter_log
-
act_ru_variable
(本表保存流程實例執(zhí)行過程中溢豆,所有關(guān)聯(lián)到的流程變量蜒简。
如果流程實例完成,這些記錄應(yīng)該是被刪除掉了漩仙,需要驗證搓茬??)
新增一條記錄:
“var_scope_”對應(yīng)的是act_ru_excution表的執(zhí)行實例的id
6.操作六:并行會簽
本操作跟上一章的操作類似队他,主要是act_ru_excution表的處理有差別卷仑。下面具體看一下:
執(zhí)行到“流程發(fā)起人發(fā)起會簽”節(jié)點(diǎn)(此節(jié)點(diǎn)還沒有動作時):
當(dāng)執(zhí)行完“流程發(fā)起人發(fā)起會簽”節(jié)點(diǎn),看一下act_ru_execution表的變化:
完整的橫向?qū)Ρ龋?/p>
可以看出麸折,由原來的一條記錄變?yōu)榱?條記錄(修改了一條锡凝,新增了三條)。
看一下被修改的剛才那條記錄(紅框中的是變化的值):
新增加了一條并行會簽的主活動節(jié)點(diǎn)(不知道這么理解對不對垢啼?):
新增了2條以新增主活動節(jié)點(diǎn)為父節(jié)點(diǎn)的分支節(jié)點(diǎn):