中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

怎么做一個(gè)電商網(wǎng)站網(wǎng)站流量指標(biāo)有哪些

怎么做一個(gè)電商網(wǎng)站,網(wǎng)站流量指標(biāo)有哪些,wordpress外貿(mào)建站教程,好玩的網(wǎng)游本章將分享的是camunda流程設(shè)計(jì)器--Camunda Modeler的基本使用(對(duì)應(yīng)camunda版本是7.19),包括bpmn流程圖畫法,各種控件使用以及一些日常業(yè)務(wù)場(chǎng)景的流程圖的實(shí)現(xiàn) 參考資料: Camunda BPMN 基礎(chǔ)組件-CSDN博客 Camunda: Exe…

本章將分享的是camunda流程設(shè)計(jì)器--Camunda Modeler的基本使用(對(duì)應(yīng)camunda版本是7.19),包括bpmn流程圖畫法,各種控件使用以及一些日常業(yè)務(wù)場(chǎng)景的流程圖的實(shí)現(xiàn)

參考資料:

Camunda BPMN 基礎(chǔ)組件-CSDN博客

Camunda: ExecutionListener執(zhí)行監(jiān)聽器和TaskListener任務(wù)監(jiān)聽器-CSDN博客

snail-camunda: Camunda二次封裝以及相關(guān)功能使用介紹。 中國(guó)式工作流解決方案。

文章目錄

  • 一、常用控件
    • 1.事件(Event)
    • 2.任務(wù)(Task)
    • 3.網(wǎng)關(guān)(Gateway)
  • 二、流程設(shè)計(jì)器使用
    • 1.新建模型
    • 2.命名流程圖
    • 3.拖拽控件畫圖
    • 4.監(jiān)聽器配置
    • 5.網(wǎng)關(guān)配置
    • 6.子流程
      • 1.內(nèi)部子流程
      • 2.外部子流程(活動(dòng)調(diào)用)
  • 三、實(shí)戰(zhàn)演示

一、常用控件

1.事件(Event)

事件是BPMN2.0中一個(gè)非常重要的概念,是流程運(yùn)行過(guò)程中發(fā)生的事情,而這些事情的發(fā)生會(huì)影響到流程的流轉(zhuǎn)。對(duì)每個(gè)事件而言,一般會(huì)包含兩個(gè)要素,分別是觸發(fā)這個(gè)事件的原因,以及由此導(dǎo)致的結(jié)果。

以下是一些常用的事件類型

  • (空白)開始事件

    如下圖所示,開始事件是流程圖里必須要有的元素,同時(shí)一個(gè)流程圖只能有且僅有一個(gè)空白開始事件

在這里插入圖片描述

  • 結(jié)束事件

    標(biāo)志流程的一個(gè)實(shí)例或一個(gè)分支走向結(jié)束,在一個(gè)流程圖里可以存在多個(gè)結(jié)束事件節(jié)點(diǎn);結(jié)束事件不會(huì)影響其他并行路徑的執(zhí)行,只是結(jié)束它所在的特定路徑。

在這里插入圖片描述

  • 終止事件

    終止事件是 BPMN 2.0 引入的一種特殊類型的結(jié)束事件。它會(huì)導(dǎo)致整個(gè)流程(包括所有并行路徑)立即終止。

在這里插入圖片描述

  • 流程立即終止:終止事件會(huì)導(dǎo)致整個(gè)流程立即終止,無(wú)論是否有其他并行路徑正在執(zhí)行。

  • 單一實(shí)例:一個(gè)流程中只能有一個(gè)終止事件。如果有多個(gè)終止事件,流程引擎將不知道該執(zhí)行哪個(gè)。

  • 影響所有路徑:終止事件會(huì)影響整個(gè)流程的所有并行路徑,不僅僅是一個(gè)分支。

  • 計(jì)時(shí)器事件

    計(jì)時(shí)器事件可以用作啟動(dòng)事件、中間事件或邊界事件。邊界事件可以中斷,也可以不中斷。

    下圖里的是邊界中斷事件,表示的是10秒后還在該節(jié)點(diǎn)則判定超時(shí),會(huì)中斷流程走向下面的路線

在這里插入圖片描述

  • 錯(cuò)誤事件

    錯(cuò)誤事件分為 錯(cuò)誤啟動(dòng)事件 和 錯(cuò)誤邊界事件

    • 錯(cuò)誤啟動(dòng)事件

      如下圖,錯(cuò)誤結(jié)束節(jié)點(diǎn)后會(huì)觸發(fā)下面的事件子流程,由事件子流程中的錯(cuò)誤啟動(dòng)事件進(jìn)行處理

      只能用于觸發(fā)事件子流程,而不能用于啟動(dòng)流程實(shí)例。錯(cuò)誤啟動(dòng)事件始終處于中斷狀態(tài)

在這里插入圖片描述

注意選擇相同的錯(cuò)誤定義,這樣才能被捕獲

在這里插入圖片描述

  • 錯(cuò)誤邊界事件

    邊界事件可以捕獲中間錯(cuò)誤,中斷流程并重新控制流程走向,如下圖所示,由于系統(tǒng)任務(wù)執(zhí)行主動(dòng)拋出了BpmnError異常,然后就被錯(cuò)誤邊界事件捕獲處理了。

在這里插入圖片描述

在這里插入圖片描述

2.任務(wù)(Task)

任務(wù)表示流程中的工作單位,需要人工或系統(tǒng)執(zhí)行特定的動(dòng)作。

  • 系統(tǒng)任務(wù)

    即不需要人工處理,而是由系統(tǒng)自動(dòng)處理的任務(wù)。通常調(diào)用外部服務(wù)或腳本??梢耘渲?Java 類、表達(dá)式或外部任務(wù)來(lái)實(shí)現(xiàn)任務(wù)邏輯。

    由于項(xiàng)目中我用到系統(tǒng)任務(wù)的不多,這里只展示配置java類的方式。

    如下圖,type選擇java class,然后配置java類的全路徑

在這里插入圖片描述

java類如下,實(shí)現(xiàn)JavaDelegate接口

execution對(duì)象里可以獲取到流程實(shí)例的各種信息,也可以對(duì)流程實(shí)例進(jìn)行操作,如下面的設(shè)置流程變量等

public class TestCalculateErrorDelegate implements JavaDelegate {@Overridepublic void execute(DelegateExecution execution) throws Exception {Integer numerator = 0;Integer denominator = 0;try {int result = numerator / denominator;execution.setVariable("result", result);} catch (Exception e) {execution.setVariable("calculateErrorCode", "4098");execution.setVariable("calculateErrorMsg", "除數(shù)不能為0");throw new BpmnError("4098", "除數(shù)不能為0");}}
}
  • 用戶任務(wù)

    用戶任務(wù)即需要人工參與者完成的任務(wù)。當(dāng)流程執(zhí)行到用戶任務(wù)節(jié)點(diǎn)時(shí),將會(huì)給這個(gè)節(jié)點(diǎn)分配的用戶創(chuàng)建待辦任務(wù)。

    如下圖所示,分配該用戶任務(wù)節(jié)點(diǎn)給了admin

在這里插入圖片描述

這里的assignee在真實(shí)業(yè)務(wù)場(chǎng)景中,一般會(huì)設(shè)置成流程變量,進(jìn)行動(dòng)態(tài)的賦值,如下圖

${assignee}代表這里取值是取流程實(shí)例中的assignee變量,這樣就可以結(jié)合具體業(yè)務(wù)動(dòng)態(tài)地給這個(gè)地方賦值了

在這里插入圖片描述

多實(shí)例用戶任務(wù)

一個(gè)用戶任務(wù)節(jié)點(diǎn)也可以是多個(gè)參與者,同時(shí)又分為 并行串行 2種類型

如下圖,通過(guò)點(diǎn)擊修改屬性按鈕,可以看到右上角有兩個(gè)類型選項(xiàng),第一個(gè)是并行,第二個(gè)串行

在這里插入圖片描述

  • 并行

    并行又分為或簽(一個(gè)人通過(guò)即通過(guò))、比例簽(通過(guò)人數(shù)達(dá)到總?cè)藬?shù)XX比例即通過(guò))還有會(huì)簽(需要全部人都通過(guò)才通過(guò))

    如下圖是或簽,配置與單實(shí)例任務(wù)有所不同

    第一行是固定寫法,同理的還有:

    //比例簽,需要滿足0.3比例通過(guò)
    ${nrOfCompletedInstances/nrOfInstances > 0.3 }
    //會(huì)簽,需要全部通過(guò)
    ${nrOfCompletedInstances == nrOfInstances}
    

在這里插入圖片描述

  • 串行

    串行即多個(gè)人依次審批,待辦任務(wù)也是只有當(dāng)?shù)阶约簩徟臅r(shí)候才會(huì)創(chuàng)建。配置邏輯和并行的基本同理。

在這里插入圖片描述

3.網(wǎng)關(guān)(Gateway)

在流程中,需要根據(jù)條件分叉或合并路線的時(shí)候,就需要用到網(wǎng)關(guān)。

  • 排他網(wǎng)關(guān)

    會(huì)依次判斷所有的路徑,然后走符合條件的第一條路徑

    如下圖所示

在這里插入圖片描述

  • 并行網(wǎng)關(guān)

    允許同時(shí)走多個(gè)分叉路徑,都走完后合并后再走后面的節(jié)點(diǎn)

    并行網(wǎng)關(guān)是沒(méi)有條件限制的

    如下圖所示

在這里插入圖片描述

  • 包含網(wǎng)關(guān)

    與并行網(wǎng)關(guān)類似,區(qū)別在于可以設(shè)置條件限制,滿足條件的路徑就會(huì)走

    如下圖所示的請(qǐng)假流程,當(dāng)請(qǐng)假天數(shù)大于3天,既會(huì)走經(jīng)理審批,同時(shí)也會(huì)走老板審批,兩個(gè)都審批好后再匯集走下個(gè)節(jié)點(diǎn)

在這里插入圖片描述

二、流程設(shè)計(jì)器使用

這里我們以camunda7.19為例,講解流程設(shè)計(jì)器的基本使用

1.新建模型

如下圖所示,新建的時(shí)候選擇camunda 7版本,并且左下角再選擇小版本號(hào)為7.19

在這里插入圖片描述

在這里插入圖片描述

2.命名流程圖

創(chuàng)建新文件后,默認(rèn)會(huì)有一個(gè)開始節(jié)點(diǎn),然后我們需要先點(diǎn)擊下空白處,然后在右邊的窗口里輸入流程的名字流程的ID(流程定義key)

Name可以在后面作為流程名稱(流程類型)來(lái)使用,而流程定義key(表里是PROC_DEF_KEY_ ) 則是該流程圖的唯一標(biāo)識(shí)

區(qū)別于流程定義id,即表里的PROC_INST_ID_, 每次修改了圖重新部署都會(huì)變,對(duì)應(yīng)的是這個(gè)圖的某個(gè)版本;流程定義key則圖修改重新部署后不會(huì)變

在這里插入圖片描述

3.拖拽控件畫圖

從左邊的控件欄選擇后拖拽到畫板即可,這里常用的控件上面已經(jīng)介紹過(guò)。

在這里插入圖片描述

4.監(jiān)聽器配置

在流程中,我們經(jīng)常要在節(jié)點(diǎn)前或節(jié)點(diǎn)后去做一些操作,這時(shí)候我們就可以使用監(jiān)聽器來(lái)實(shí)現(xiàn)。

執(zhí)行監(jiān)聽器 ExecutionListener觸發(fā)事件有:start、end、take;

其中節(jié)點(diǎn)有start、end兩種事件,而連線則有take事件。

任務(wù)監(jiān)聽器TaskListener觸發(fā)事件有:create, assignment, update, complete, delete or timeout。

  • 執(zhí)行監(jiān)聽器 ExecutionListener

    如下圖,就是在開始節(jié)點(diǎn)配置了執(zhí)行監(jiān)聽器,start時(shí)觸發(fā)

    監(jiān)聽器類型是java類,即會(huì)執(zhí)行下面的java方法

在這里插入圖片描述

這里的java類實(shí)現(xiàn)ExecutionListener接口,如下所示

public class ProcessStartExecutionListener implements ExecutionListener {@Overridepublic void notify(DelegateExecution execution) throws Exception {//初始化狀態(tài)為審批中execution.setVariable("approveState", 0);log.info("初始化狀態(tài)為審批中---------------approveState=0");}}

監(jiān)聽器除了用java類,常用的還有腳本片段,如下圖所示

在這里插入圖片描述

注意:

腳本使用的是groovy語(yǔ)言,需要先在springboot項(xiàng)目中引入groovy依賴,否則會(huì)報(bào)錯(cuò)找不到引擎

<dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy-jsr223</artifactId><version>3.0.15</version><scope>runtime</scope>
</dependency>
  • 任務(wù)監(jiān)聽器 TaskListener

    如下圖,任務(wù)節(jié)點(diǎn)create的時(shí)候,會(huì)執(zhí)行監(jiān)聽器邏輯,同樣可以配置java類或腳本片段

在這里插入圖片描述

java類參考下面,實(shí)現(xiàn)TaskListener接口

public class ProcessReturnTaskListener implements TaskListener {@Overridepublic void notify(DelegateTask delegateTask) {// 設(shè)置變量variable1值為1delegateTask.setVariable("variable1", 1);log.info("流程退回變量初始化值為1成功, taskId:{}, variableName:{}", delegateTask.getId(), variableName);}}
}
  • 監(jiān)聽器執(zhí)行順序

    下圖為例

在這里插入圖片描述

執(zhí)行順序:1. 開始節(jié)點(diǎn):start -》 end2. 連線:take3. 任務(wù)節(jié)點(diǎn)ExecutionListener: start4. 任務(wù)節(jié)點(diǎn)TaskListener:create -》 assignment -》 complete5. 任務(wù)節(jié)點(diǎn)ExecutionListener: end6. 連線:take7. 結(jié)束節(jié)點(diǎn):start - 》 end

5.網(wǎng)關(guān)配置

當(dāng)我們的業(yè)務(wù)需要根據(jù)條件來(lái)判斷不同走向的時(shí)候,就需要配置網(wǎng)關(guān)

如下圖,實(shí)現(xiàn)的是流程變量t0等于1則走向admin審批,t0等于0時(shí)則直接走向結(jié)束

在這里插入圖片描述

需要在網(wǎng)關(guān)后的兩條連線配置條件,如下

在這里插入圖片描述

也可以使用groovy腳本,如下

在這里插入圖片描述

6.子流程

有的時(shí)候某個(gè)節(jié)點(diǎn)需要走一套流程來(lái)實(shí)現(xiàn)業(yè)務(wù),例如某個(gè)多實(shí)例并行節(jié)點(diǎn),在節(jié)點(diǎn)中有需要有自己的審批、退回等操作,這個(gè)時(shí)候就可以用到子流程來(lái)實(shí)現(xiàn)。子流程又分為 內(nèi)部子流程外部子流程(活動(dòng)調(diào)用)

1.內(nèi)部子流程

如下圖所示

要注意的是,圖里子流程的t1變量是針對(duì)整個(gè)(父)流程的,也就是如果其中一個(gè)子流程賦值了t1變量,其他子流程里的t1變量也會(huì)受影響,在真實(shí)業(yè)務(wù)中需要注意這點(diǎn)。

在這里插入圖片描述

2.外部子流程(活動(dòng)調(diào)用)

如下圖所示

外部子流程即觸發(fā)另一個(gè)流程圖的流程,在數(shù)據(jù)表里也是會(huì)新增另一個(gè)流程定義key的數(shù)據(jù)(內(nèi)部子流程不會(huì),還是只是父流程定義key的數(shù)據(jù))

下圖右邊欄里的called element配置的就是子流程圖的定義key

父流程

在這里插入圖片描述

子流程

在這里插入圖片描述

采用外部子流程,則子流程里的變量是針對(duì)子流程實(shí)例的,所以不同子流程的變量不會(huì)互相影響

三、實(shí)戰(zhàn)演示

關(guān)于流程圖的示例,可以學(xué)習(xí):

snail-camunda: Camunda二次封裝以及相關(guān)功能使用介紹。 中國(guó)式工作流解決方案。

在這里插入圖片描述

http://www.risenshineclean.com/news/7341.html

相關(guān)文章:

  • 懸賞做logo的網(wǎng)站網(wǎng)店怎么推廣和宣傳
  • 廣州網(wǎng)站(建設(shè)信科網(wǎng)絡(luò))怎么做推廣
  • 簡(jiǎn)單做動(dòng)畫的網(wǎng)站廈門seo排名外包
  • 免費(fèi)網(wǎng)站模板 帶后臺(tái)常用搜索引擎有哪些
  • 西安網(wǎng)站制作一般多少錢深圳公司網(wǎng)絡(luò)推廣該怎么做
  • 網(wǎng)站遷移磁力王
  • vue.js做網(wǎng)站電子商務(wù)營(yíng)銷策劃方案
  • 網(wǎng)站建設(shè)方案書0百度推廣優(yōu)化公司
  • 上線倒計(jì)時(shí)單頁(yè)網(wǎng)站模板小網(wǎng)站搜什么關(guān)鍵詞好
  • 牙膏的網(wǎng)站建設(shè)最新國(guó)內(nèi)你新聞
  • 單頁(yè)網(wǎng)站案例分析水果店推廣營(yíng)銷方案
  • 珠寶行網(wǎng)站建設(shè)方案外貿(mào)網(wǎng)站建設(shè)優(yōu)化
  • 人大常委會(huì)網(wǎng)站建設(shè)意見全國(guó)疫情最新情況最新消息今天
  • 站酷網(wǎng)官方入口網(wǎng)頁(yè)版推廣方式怎么寫
  • 網(wǎng)站常用圖標(biāo)素材百度網(wǎng)站鏈接提交入口
  • wordpress 不能換行亞馬遜關(guān)鍵詞優(yōu)化怎么做
  • 長(zhǎng)壽做網(wǎng)站的電話seo關(guān)鍵詞優(yōu)化方法
  • 淄博網(wǎng)站長(zhǎng)清區(qū)seo網(wǎng)絡(luò)優(yōu)化軟件
  • 我請(qǐng)網(wǎng)絡(luò)公司做的網(wǎng)站上的圖片被當(dāng)廣告攔截了_怎么回事百度搜索資源平臺(tái)官網(wǎng)
  • 視頻模板免費(fèi)制作seo建站教程
  • 萬(wàn)州做網(wǎng)站多少錢東莞seo公司
  • 英文網(wǎng)站建設(shè)哪家強(qiáng)鏈接式友誼
  • 做網(wǎng)站到底怎么賺錢怎么開網(wǎng)站平臺(tái)
  • 網(wǎng)站建設(shè)計(jì)劃書網(wǎng)站免費(fèi)推廣軟件
  • wordpress綁定多域名合肥網(wǎng)絡(luò)優(yōu)化推廣公司
  • 如何做區(qū)塊鏈網(wǎng)站網(wǎng)站技術(shù)制作
  • 做網(wǎng)站的注意什么有什么公司要做推廣的
  • 臺(tái)州做網(wǎng)站公司windows優(yōu)化大師好嗎
  • 中介app開發(fā)制作公司免費(fèi)seo教程分享
  • 長(zhǎng)沙 網(wǎng)站設(shè)計(jì) 公司價(jià)格泰安做網(wǎng)站公司