国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【activiti】工作流入門基礎(chǔ)概念

這篇具有很好參考價(jià)值的文章主要介紹了【activiti】工作流入門基礎(chǔ)概念。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

為什么使用activiti

狀態(tài)-------------------------------------------------->引擎engin(業(yè)務(wù)變動(dòng)不影響程序的進(jìn)行)
每個(gè)人只能看到個(gè)人負(fù)責(zé)的,流程變更困難 bpmn建模語(yǔ)言

activiti流程步驟

步驟:
1、部署流程
2、定義流程
3、部署流程定義:使用activiti中的API把流程定義存儲(chǔ),在Acitivti執(zhí)行過(guò)程匯總可以查詢定義的內(nèi)容,通過(guò)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)業(yè)務(wù)流程
4、啟動(dòng)流程實(shí)例:ProcessInstance,啟動(dòng)流程實(shí)例代表開(kāi)始一次業(yè)務(wù)流程的運(yùn)作?!咎峤荒硞€(gè)申請(qǐng)后-開(kāi)啟流程-推動(dòng)審批進(jìn)行】
5、用戶查詢待辦任務(wù)(task):系統(tǒng)業(yè)務(wù)已經(jīng)交給了activiti管理,通過(guò)activiti就可以查詢當(dāng)前流程執(zhí)行到哪個(gè)步驟,
6、用戶辦理任務(wù):用戶查到待辦任務(wù)后,辦理某個(gè)業(yè)務(wù)【如果業(yè)務(wù)辦理還需要其他用戶辦理,就可以由activiti幫我們把工作流程往后面推動(dòng)】
7、流程結(jié)束:任務(wù)辦理沒(méi)有下一個(gè)任務(wù)節(jié)點(diǎn)后,流程實(shí)例就執(zhí)行完成了。

表結(jié)構(gòu)分四種:

表結(jié)構(gòu):
re:流程定義,流程靜態(tài)資源
ru:runtime任務(wù)
hi:歷史信息
ge:通用屬性

//示例:
SELECT * FROM act_re_deployment #流程定義部署表,記錄流程部署信息
SELECT * FROM act_re_procdef #流程定義表,記錄流程定義信息
SELECT * FROM act_ge_bytearray #資源表 (文件存儲(chǔ)地方)

四個(gè)重要的服務(wù)類

ProcessEngine:HistoryService,RepostoryService,RuntimeService,TaskService,ManagementService(開(kāi)發(fā)維護(hù)使用)

bpmn設(shè)計(jì):id(定義的文件后綴前的東西) name assignee(審批人) 流程設(shè)計(jì) id name
bpmn文件:definnitions配置—>process(多個(gè)也可,正常一個(gè))定義的工作流程---->bpmndi畫(huà)布圖形
圖png

流程定義:ProcessDefinition是BPMN文件定義的一個(gè)具體的業(yè)務(wù)流程,
流程實(shí)例:ProcessInstance則是指一個(gè)具體的業(yè)務(wù)流程
某人發(fā)起什么就會(huì)實(shí)例化什么 不同流程實(shí)例之間按時(shí)互相不影響的 【定義部署后就形成了流程實(shí)例,數(shù)據(jù)庫(kù)就存在了】

BusinessKey

BusinessKey:在ru_execution表中----------> 【綁定業(yè)務(wù)ID】
流程發(fā)起后,審批人在此之前要知道相關(guān)審批單信息【請(qǐng)假時(shí)間、請(qǐng)假理由】是如何綁定到流程中呢?

掛起

掛起:就是說(shuō)每月最后一天不處理出差申請(qǐng),這個(gè)流程暫停至此
流程定義掛起,該流程下就不能啟動(dòng)新的流程定義
如果是激活狀態(tài),改為掛起狀態(tài)。參數(shù)一:流程定義id 參數(shù)2:是否暫停 參數(shù)3:暫停的時(shí)間
repositoryService.suspendProcessDefinitionById( , , );

流程實(shí)例掛起,則此流程不再執(zhí)行,如果進(jìn)行完成操作將報(bào)錯(cuò)
runtimeService.suspendProcessInstanceById( instanceId );

概念:
之前我們已經(jīng)測(cè)試了如何刪除一個(gè)流程,有很多時(shí)候,我們只是需要暫時(shí)停止一個(gè)流程,過(guò)一段時(shí)間就要恢復(fù)。
例如月底不接受報(bào)銷審批流程,年底不接受借貸審批流程,或者非工作日不接受售后報(bào)銷流程等,這個(gè)時(shí)候,就可以將流程進(jìn)行掛起操作。
掛起后的流程就不會(huì)再繼續(xù)執(zhí)行。

掛起任務(wù)?不可以

流程變量:

之前定義的請(qǐng)假流程并沒(méi)有用到流程變量,每個(gè)步驟都是非常固定的,但是當(dāng)我們需要實(shí)現(xiàn)一些復(fù)雜的業(yè)務(wù)流程,
比如請(qǐng)假3天以內(nèi)由部門經(jīng)理審批,3天以上需要增加總經(jīng)理審批這樣的流程時(shí),就需要用到流程變量

注意:

【和之前介紹的業(yè)務(wù)關(guān)鍵字有些相似,都可以攜帶業(yè)務(wù)信息,并且可以通過(guò)activiti的api查詢出來(lái)。但在使用中應(yīng)減少流程變量中的業(yè)務(wù)信息】
流程變量的類型是Map<String,Object>。
所以,流程變量比業(yè)務(wù)關(guān)鍵字要強(qiáng)大很多。變量值不僅僅是字符串,也可以是POJO對(duì)象。
但是當(dāng)需要將一個(gè)POJO對(duì)象放入流程變量時(shí),要注意這個(gè)對(duì)象必須要實(shí)現(xiàn)序列化接口serializable
Map<String,Object> variables = new HashMap<>();
流程變量作用域:Global和Local兩種 使用:${ 流程變量 } ${ 流程變量<3 }

  • Global變量:
    這個(gè)是流程變量的默認(rèn)作用域,表示是一個(gè)完整的流程實(shí)例。(定義一個(gè)變量,在這整個(gè)流程中會(huì)傳遞下去)
    Global變量中變量名不能重復(fù),如果設(shè)置了相同的變量名,后面設(shè)置的值會(huì)直接覆蓋前面設(shè)置的變量值。

    • 啟動(dòng)流程時(shí)設(shè)置變量
      在啟動(dòng)流程實(shí)例時(shí)設(shè)置流程變量,這時(shí)流程變量的作用域是整個(gè)流程實(shí)例。相當(dāng)于是Global作用域。核心代碼:
      ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(key, map);
    • 任務(wù)辦理時(shí)設(shè)置變量
      在完成任務(wù)時(shí)設(shè)置流程變量,該流程變量只有在該任務(wù)完成后其它結(jié)點(diǎn)才可使用該變量,
      它的作用域是整個(gè)流程實(shí)例,如果設(shè)置的流程變量的key在流程實(shí)例中已存在相同的名字則后設(shè)置的變量替換前邊設(shè)置的變量。
      核心代碼:taskService.complete(task.getId(), map); 任務(wù)完成交給的下一個(gè)人
      注意:這種方式設(shè)置流程變量,如果當(dāng)前執(zhí)行的任務(wù)ID不存在,則會(huì)拋出異常,流程變量也會(huì)設(shè)置失敗。
    • 通過(guò)當(dāng)前流程實(shí)例 設(shè)置………………
  • Local變量:
    Local變量的作用域只針對(duì)一個(gè)任務(wù)或一個(gè)執(zhí)行實(shí)例的范圍,沒(méi)有流程實(shí)例大。
    Local變量由于作用在不同的任務(wù)或不同的執(zhí)行實(shí)例中,所以不同變量的作用域是互不影響的,變量名可以相同。
    Local變量名也可以和Global變量名相同,不會(huì)有影響。

    ………………

網(wǎng)關(guān):精細(xì)控制流程走向

線條聯(lián)系已將無(wú)法支持,復(fù)雜流程需要用網(wǎng)關(guān)【排他網(wǎng)關(guān),并行網(wǎng)關(guān),包含網(wǎng)關(guān),事務(wù)網(wǎng)關(guān)】
  1. ExlusiveGateway排他網(wǎng)關(guān):決定接下來(lái)走哪一條線,如果從網(wǎng)關(guān)出去的線所有條件都不滿足系統(tǒng)則拋出異常。
    所有條件滿足的話,會(huì)選擇“id”小的那一條去走

  2. ParallelGateway并行網(wǎng)關(guān):允許將流程分成多條分支,也可以把分支匯聚到一起,并行網(wǎng)關(guān)的功能是基于進(jìn)入和外出順序流的。
    fork分支:并行后的所有外出順序流,為每個(gè)順序流都創(chuàng)建一個(gè)并發(fā)分支
    join匯聚:所有到達(dá)并行網(wǎng)關(guān),在此等待的進(jìn)入分支,直到所有進(jìn)入順序流的分支都到達(dá)以后,流程就會(huì)通過(guò)匯聚網(wǎng)關(guān)。
    注意:每一條分支都會(huì)走,條件會(huì)被忽略,技術(shù)經(jīng)理和財(cái)務(wù)經(jīng)理都會(huì)執(zhí)行,會(huì)匯聚,才會(huì)完成后續(xù)的流程

  3. InclusiveGateway包含網(wǎng)關(guān):可以看作是排他和并行的結(jié)合體

  4. 事務(wù)網(wǎng)關(guān):不常用

組任務(wù)分配:

  • 多個(gè)經(jīng)理找哪個(gè)經(jīng)理批(在候選人中任選一個(gè))
    taskService.claim(taskId, candidateUser_定 義任務(wù)領(lǐng)取人) //拾取任務(wù)
  • 退還任務(wù):把負(fù)責(zé)人設(shè)置為null
    taskService.setAssigine(taskId,null)

抄送:

抄送:抄送是指將你的審批抄送給【需要了解審批內(nèi)容但不具備決定權(quán)】的人。

activiti工作流獲取流程定義中所有的節(jié)點(diǎn):

將xml定義文件解析成BpmnModel對(duì)象,使用BpmnModel的 getMainProcess()獲取一個(gè)Process對(duì)象,
該對(duì)象實(shí)際是一個(gè)繼承自BaseElement、FlowElementContainer的節(jié)點(diǎn)容器,通過(guò) getFlowElements()獲取當(dāng)前流程定義文件中所有的節(jié)點(diǎn)對(duì)象文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-588067.html

到了這里,關(guān)于【activiti】工作流入門基礎(chǔ)概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • springboot項(xiàng)目集成activiti工作流引擎

    springboot項(xiàng)目集成activiti工作流引擎

    一、一種較為簡(jiǎn)單,只需要使用idea的插件來(lái)畫(huà)流程圖。(我所使用的的插件是Activiti BPMN visualizer) 二、另一種就是可以使用(在線流程設(shè)計(jì)器)或者(頁(yè)面設(shè)計(jì)器部署到自己項(xiàng)目中)來(lái)畫(huà)流程圖。 本文是將流程設(shè)計(jì)頁(yè)面部署到了項(xiàng)目中 一、使用idea的插件來(lái)畫(huà)流程圖。 ?二

    2024年02月10日
    瀏覽(20)
  • Spring Boot + Activiti 結(jié)合,實(shí)現(xiàn)工作流

    Spring Boot + Activiti 結(jié)合,實(shí)現(xiàn)工作流

    Activiti是一個(gè)工作流引擎,Activiti可以將業(yè)務(wù)系統(tǒng)中復(fù)雜的業(yè)務(wù)流程抽取出來(lái),使用專門的建模語(yǔ)言BPMN2.0進(jìn)行定義,業(yè)務(wù)流程按照預(yù)先定義的流程進(jìn)行執(zhí)行,實(shí)現(xiàn)了系統(tǒng)的流程由Activiti進(jìn)行管理,減少業(yè)務(wù)系統(tǒng)由于流程變更進(jìn)行系統(tǒng)升級(jí)改造的工作量,Activiti流程就是數(shù)據(jù)庫(kù)表

    2023年04月13日
    瀏覽(28)
  • 若依框架SpringBoot+Activiti工作流的使用

    若依框架SpringBoot+Activiti工作流的使用

    使用簡(jiǎn)介:本技術(shù)點(diǎn)主要是針對(duì)類審批的業(yè)務(wù)流程的建模,可以有:任務(wù)發(fā)布(即流程開(kāi)始)到一級(jí)一級(jí)的審批到最終結(jié)束(即流程結(jié)束)一整套完備的模型 1、idea下載activiti插件 ider以前版本下載actiBPM,但是新版ider這個(gè)插件已經(jīng)被淘汰,已經(jīng)被下面這個(gè)替代 ? ? 2、單獨(dú)起

    2024年02月11日
    瀏覽(30)
  • Activiti7 工作流非原流程終止

    Activiti7 工作流非原流程終止

    正常工作流,需要經(jīng)過(guò) node1、node2 才能結(jié)束。 現(xiàn)在要求已經(jīng)開(kāi)啟的流程,目前停留在 node1,可以提前終止。 一般根據(jù)實(shí)際需要,可以有幾種做法: 新繪制流程圖,新增 node1 結(jié)束的流程分支,替換原流程 SQL 的方式,將該流程的數(shù)據(jù),手動(dòng)修改為終止的狀態(tài) 代碼動(dòng)態(tài)修改流程

    2023年04月16日
    瀏覽(43)
  • Activiti7工作流引擎:在線流程編輯器Activiti Modoler5.x

    Activiti7工作流引擎:在線流程編輯器Activiti Modoler5.x

    有的時(shí)候我們的流程圖需要業(yè)務(wù)人員自己繪制,然后使用自己繪制的流程圖,此時(shí)就需要一個(gè)在線流程圖編輯器需要集成到我們的web系統(tǒng)中。Activiti Modoler是Activiti官方推出的在線流程編輯器。 https://github.com/Activiti/Activiti/tree/5.x 將整個(gè)項(xiàng)目下載下來(lái)。不同版本的目錄結(jié)構(gòu)區(qū)別

    2024年02月09日
    瀏覽(19)
  • 【業(yè)務(wù)功能篇36】Springboot+activiti7 工作流引擎

    【業(yè)務(wù)功能篇36】Springboot+activiti7 工作流引擎

    業(yè)務(wù)場(chǎng)景:前段時(shí)間總結(jié)的有一個(gè)告警工單流程,我們都是直接自己建表,狀態(tài)節(jié)點(diǎn),操作節(jié)點(diǎn),都是自定義設(shè)計(jì)的,而到后面會(huì)有很多的工單流程,比如創(chuàng)建一個(gè)遺留問(wèn)題電子流,指定處理人進(jìn)行分析閉環(huán),等等多種電子流,后期重復(fù)的開(kāi)發(fā)工作以及維護(hù)工作會(huì)越來(lái)越多。

    2024年02月12日
    瀏覽(20)
  • SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼+文檔)

    SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼+文檔)

    activiti工作流引擎項(xiàng)目,企業(yè)erp、oa、hr、crm等企事業(yè)辦公系統(tǒng)輕松落地,一套完整并且實(shí)際運(yùn)用在多套項(xiàng)目中的案例,滿足日常業(yè)務(wù)流程審批需求。 springboot+vue+activiti集成了activiti在線編輯器,流行的前后端分離部署開(kāi)發(fā)模式,快速開(kāi)發(fā)平臺(tái),可插拔工作流服務(wù)。工作流表單

    2024年04月09日
    瀏覽(20)
  • 后端面試話術(shù)集錦第 九 篇:Activiti工作流面試話術(shù)

    這是后端面試集錦第九篇博文—— Activiti 工作流面試話術(shù)??? 工作流這塊兒,實(shí)際在工作中使用的時(shí)候, Activiti 用的居多,當(dāng)然還有一些其他的工作流引擎。 在網(wǎng)上看了也大概看了一下,其他的像 JBPM 以及 workflow 等用的情況來(lái)講不是很多。 所以說(shuō) Activiti 目前來(lái)講用的比

    2024年02月10日
    瀏覽(22)
  • SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼和配套文檔)

    SpringBoot整合Activiti實(shí)現(xiàn)工作流的低代碼系統(tǒng)(附源碼和配套文檔)

    activiti工作流引擎項(xiàng)目,企業(yè)erp、oa、hr、crm等企事業(yè)辦公系統(tǒng)輕松落地,一套完整并且實(shí)際運(yùn)用在多套項(xiàng)目中的案例,滿足日常業(yè)務(wù)流程審批需求。 springboot+vue+activiti集成了activiti在線編輯器,流行的前后端分離部署開(kāi)發(fā)模式,快速開(kāi)發(fā)平臺(tái),可插拔工作流服務(wù)。工作流表單

    2024年03月15日
    瀏覽(21)
  • 【業(yè)務(wù)功能篇38】上篇:Springboot+activiti7 工作流引擎 增加網(wǎng)關(guān)組件、Assignment分配權(quán)限

    【業(yè)務(wù)功能篇38】上篇:Springboot+activiti7 工作流引擎 增加網(wǎng)關(guān)組件、Assignment分配權(quán)限

    在前面的一篇文章中,簡(jiǎn)單舉例了一個(gè) 工單電子流,【業(yè)務(wù)功能篇36】Springboot+activiti7 工作流引擎_studyday1的博客-CSDN博客僅有一個(gè)子任務(wù),這種一般是針對(duì)比較簡(jiǎn)單的一個(gè)遺留問(wèn)題記錄場(chǎng)景,今天再介紹一個(gè),相對(duì)比較復(fù)雜的流程,多個(gè)處理,審批節(jié)點(diǎn)任務(wù),通過(guò)排他網(wǎng)關(guān)組

    2024年02月13日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包