日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activiti 多部门审批_Activiti 基本介绍

發布時間:2025/3/11 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activiti 多部门审批_Activiti 基本介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

這兩天工作中要用到Activiti,就簡單學習了下,做一個記錄,好腦子不如爛筆頭,記下來牢靠些,來吧,話不多說,一個字:

Activiti是什么,為什么要用它

Activiti項目是一項新的基于Apache許可的開源BPM平臺,從基礎開始構建,旨在提供支持新的BPMN 2.0標準,包括支持對象管理組(OMG),可以定義流程、執行流程并以不同方式對其實現運行。(巴拉巴拉一大堆,其實我也沒聽懂)。

還是用自己的化總結下吧。

其實就是一個工作審批流,在我們日常生活中,審批是非常常見的,加班打車,需要把發票貼到報銷單,然后提交給組長,組長審批完畢,提交給部門主管,部門主管審核完畢,給財務部門,財務部分審核完畢,給你銀行卡打錢,一個審批的流程結束了。

其實可以理解為審批流就是一個載體(火車),它不管你是什么業務數據(人還是貨物),它能驅動業務向前發展(目的地)。

Activiti 生成表

既然它能管理我們的審批,肯定要存儲數據,數據庫表是必不可少的,所以我們先建下表。
新建一個SpringBoot 項目

Pom.xml 文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0modelVersion> <groupId>com.gljgroupId> <artifactId>activiti-create-tableartifactId> <version>0.0.1-SNAPSHOTversion> <packaging>jarpackaging> <parent> <groupId>org.springframework.bootgroupId> <artifactId>spring-boot-starter-parentartifactId> <version>2.0.4.RELEASEversion> <relativePath/> parent> <dependencies> <dependency> <groupId>org.activitigroupId> <artifactId>activiti-spring-boot-starter-basicartifactId> <version>6.0.0version>dependency><dependency> <groupId>org.mybatis.spring.bootgroupId> <artifactId>mybatis-spring-boot-starterartifactId> <version>1.3.2version>dependency> <dependency> <groupId>io.springfoxgroupId> <artifactId>springfox-swagger2artifactId> <version>2.8.0version>dependency><dependency> <groupId>io.springfoxgroupId> <artifactId>springfox-swagger-uiartifactId> <version>2.8.0version>dependency><dependency> <groupId>mysqlgroupId> <artifactId>mysql-connector-javaartifactId> <scope>runtimescope>dependency> dependencies>project>

application.properties

server.port=8080spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/db_activiti?autoReconnect=true&characterEncoding=utf8&useSSL=falsespring.datasource.username=rootspring.datasource.password=rootmybatis.mapper-locations=classpath:mapper/*.xmlmybatis.type-aliases-package=com.glj.modelspring.activiti.check-process-definitions=false

項目入口類

package com.glj;import org.activiti.spring.boot.SecurityAutoConfiguration;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ComponentScan;@ComponentScan(basePackages = {"com.glj"})@MapperScan(basePackages = {"com.glj"})@SpringBootApplication(exclude = SecurityAutoConfiguration.class)public class ActivitiApplication { public static void main(String[] args) { SpringApplication.run(ActivitiApplication.class, args); }}

運行后,生成28張表

表說明

表名默認以“ACT_”開頭,并且表名的第二部分用兩個字母表明表的用例,而這個用例也基本上跟Service API匹配。

ACT_GE_* : “GE”代表“General”(通用),用在各種情況下;

ACT_HI_* : “HI”代表“History”(歷史),這些表中保存的都是歷史數據,比如執行過的流程實例、變量、任務,等等。Activit默認提供了4種歷史級別:

ACT_ID_* : “ID”代表“Identity”(身份),這些表中保存的都是身份信息,如用戶和組以及兩者之間的關系。如果Activiti被集成在某一系統當中的話,這些表可以不用,可以直接使用現有系統中的用戶或組信息;

ACT_RE_* : “RE”代表“Repository”(倉庫),這些表中保存一些‘靜態’信息,如流程定義和流程資源(如圖片、規則等);

ACT_RU_* : “RU”代表“Runtime”(運行時),這些表中保存一些流程實例、用戶任務、變量等的運行時數據。Activiti只保存流程實例在執行過程中的運行時數據,并且當流程結束后會立即移除這些數據,這是為了保證運行時表盡量的小并運行的足夠快;

表分類表名稱表含義
act_evt_log事件處理日志表
一般數據act_ge_bytearray通用的流程定義和流程資源
act_ge_property系統相關屬性
流程歷史記錄act_hi_actinst歷史的流程實例
act_hi_attachment歷史的流程附件
act_hi_comment歷史的說明性信息
act_hi_detail歷史的流程運行中的細節信息
act_hi_identitylink歷史的流程運行過程中用戶關系
act_hi_procinst歷史的流程實例
act_hi_taskinst歷史的任務實例
act_hi_varinst歷史的流程運行中的變量信息
用戶用戶組表act_id_group身份信息-組信息
act_id_info身份信息-組信息
act_id_membership身份信息-用戶和組關系的中間表
act_id_user身份信息-用戶信息
act_procdef_info死信任務
流程定義表act_re_deployment部署單元信息
act_re_model模型信息
act_re_procdef已部署的流程定義
運行實例表act_ru_deadletter_job執行失敗任務表
act_ru_event_subscr運行時事件
act_ru_execution運行時流程執行實例
act_ru_identitylink運行時用戶關系信息
act_ru_job運行時作業
act_ru_suspended_job運行時暫停任務
act_ru_task運行時任務
act_ru_timer_job運行時定時任務
act_ru_variable運行時變量表

具體的表結構及詳細介紹可參考
Activiti數據庫表結構 里面有詳細的每個表介紹。

流程概念和術語

(1) 一個ProcessDefinition代表的業務流程。它用于定義流程中不同步驟的結構和行為。

(2) 部署流程定義意味著將流程定義加載到Activiti數據庫中。

(3) 流程定義主要由BPMN 2.0標準定義,也可以使用Java代碼定義它們,定義的所有術語也可用作Java類。

(4) 一旦我們開始運行流程定義,就可以稱為一個流程process。

(5) processInstance是ProcessDefinition一個執行實例。

(6) 一個StartEvent與每一個業務流程有關,它表示該流程的切入點,同樣,有一個EndEvent表示流程的結束。我們可以定義這些事件的條件。

(7) 開始和結束之間的所有步驟(或元素)稱為任務,任務可以是各種類型的。最常用的任務是UserTasks和ServiceTasks。

顧名思義,UserTasks需要由用戶手動執行,另一方面,ServiceTasks配置了一段代碼,每當執行到達這段代碼時,代碼將被執行。

SequenceFlows用來連接任務,我們可以通過它將源元素和目標元素連接起來定義一個SequenceFlows;同樣,我們還可以在SequenceFlow上定義條件,這樣能在流程中創建條件路徑。

有了流程定義,我們可以使用Activiti提供的服務功能進行流程運行。

Activiti提供的服務

RepositoryService幫助我們實現流程定義的部署。此服務會處理與流程定義相關的靜態數據。
RuntimeService管理 ProcessInstances(當前正在運行的流程)以及流程變量
TaskService會跟蹤 UserTasks,需要由用戶手動執行的任務是Activiti API的核心。我們可以使用此服務創建任務,聲明并完成任務,分配任務的受讓人等。
FormService是一項可選服務,它用于定義中開始表單和任務表單。
IdentityService管理用戶和組。
HistoryService會跟蹤Activiti Engine的歷史記錄。我們還可以設置不同的歷史級別。
ManagementService與元數據相關,在創建應用程序時通常不需要。
DynamicBpmnService幫助我們在不重新部署的情況下更改流程中的任何內容。

IDE 安裝插件

由于我用的是eclipse,所以目前只說下再eclipse中是怎么添加Activiti插件的。
打開Eclipse -> Help -> Install New SoftWare-> Add
然后按照如下對話框輸入:
Name: ? Activiti Designer
Location: http://activiti.org/designer/update/

輸入完成后,單擊OK按鈕等待下載完成后安裝。安裝完成后在菜單選項中會出現activiti的目錄選項。

設置eclipse activit插件的畫流程圖 選項

打開菜單Windows --> Preferences --> Activiti -->Save 下流程圖片的生成方式

勾選上Create process definition image when saving ?the diagram操作,勾選上這個操作后在畫流程圖后保存eclipse會自動生成對應的流程圖片。

結束語

現在表也建立好了,開發環境也好了,接下來就是設計審批模板,然后就可以發起一個審批任務了

總結

以上是生活随笔為你收集整理的activiti 多部门审批_Activiti 基本介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。