JeeSite 工作流的應(yīng)用實(shí)例

2020-10-28 11:46 更新

1 新建流程模型

在線辦公-流程管理-模型管理-新建模型


點(diǎn)擊“提交”后會(huì)立即跳轉(zhuǎn)到“流程在線設(shè)計(jì)器”頁(yè)面,請(qǐng)看下一章節(jié)

2 在線流程設(shè)計(jì)器

在線辦公→流程管理→模型管理→模型管理→編輯

注意:此功能不支持IE,請(qǐng)用谷歌或火狐瀏覽器編輯。



2.1 設(shè)置流程屬性

  • 名稱(chēng):流程定義名稱(chēng)
  • 描述:流程定義描述
  • 流程標(biāo)識(shí):流程定義?KEY?,對(duì)應(yīng)?procDefKey?,用來(lái)標(biāo)識(shí)一個(gè)流程

2.2

拖拽形狀元素

  • ?Start event?:開(kāi)始事件
  • ?End entit?:結(jié)束事件
  • ?User task?:用戶(hù)任務(wù)活動(dòng)
  • ?Service task?:服務(wù)任務(wù)活動(dòng)
  • ?Exclusive gateway?:排它網(wǎng)關(guān)通道,只能有一條分支執(zhí)行,如if else
  • ?Parallel gateway?:并行網(wǎng)關(guān)通道,所有分支一塊執(zhí)行
  • ?Enclusive gateway?:包含網(wǎng)關(guān)通道,執(zhí)行符合條件的分支

參考:http://www.mossle.com/docs/activiti/#bpmnConstructs


2.3 流程發(fā)起人流程變量
在開(kāi)始節(jié)點(diǎn)的屬性中設(shè)置“流程發(fā)起人”變量名:如:apply


這時(shí),任務(wù)的參與者可設(shè)置${apply},來(lái)指定誰(shuí)發(fā)起誰(shuí)執(zhí)行 

 

如發(fā)起人發(fā)起流程,被駁回是,駁回到發(fā)起人,可使用方法。



2.4 掛接表單地址

  • 全局表單:新建流程時(shí)或活動(dòng)元素上未設(shè)置表單標(biāo)識(shí)時(shí)調(diào)用的表單,位于開(kāi)始事件屬性中“表單標(biāo)識(shí)”字段,指定表單訪問(wèn)地址。
  • 活動(dòng)表單:當(dāng)前步驟使用的表單,使用活動(dòng)節(jié)點(diǎn)屬性“表單標(biāo)識(shí)”字段。
 

2.5設(shè)置參與者

在活動(dòng)節(jié)點(diǎn)屬性中找到“參與者”屬性,點(diǎn)擊“…”彈出如下窗口



  • assignee:任務(wù)執(zhí)行人,設(shè)置系統(tǒng)中的“登錄名”(loginName)。
  • candidateUsers:任務(wù)執(zhí)行人,多個(gè)用逗號(hào)“,”隔開(kāi)。
  • candidateGroups:任務(wù)執(zhí)行組,多個(gè)用逗號(hào)“,”隔開(kāi),設(shè)置系統(tǒng)中的“角色英文名(enname)”。

assigneecandidateUsers的區(qū)別是:assignee不需要簽收任務(wù),直接可執(zhí)行任務(wù);candidateUsers為競(jìng)爭(zhēng)方式分配任務(wù),被指定人待辦中都有一條任務(wù),誰(shuí)先簽收誰(shuí)就獲得任務(wù)的執(zhí)行權(quán)。


參與者可指定流程變量(EL表達(dá)式),動(dòng)態(tài)指定參與者,如:${processer}


2.6 設(shè)置流轉(zhuǎn)條件
在流轉(zhuǎn)線的屬性中找到“流轉(zhuǎn)條件”,這里,寫(xiě)EL表達(dá)式,返回 true 或 false,如:${flag == ‘1’}


2.7 保存流程設(shè)計(jì)圖
工具欄上點(diǎn)擊“保存”按鈕 


這時(shí),任務(wù)的參與者可設(shè)置${apply},來(lái)指定誰(shuí)發(fā)起誰(shuí)執(zhí)行


如發(fā)起人發(fā)起流程,被駁回是,駁回到發(fā)起人,可使用方法。


2.8注意事項(xiàng)

  • 所有編號(hào),如:模型編號(hào)、流程編號(hào)、活動(dòng)節(jié)點(diǎn)編號(hào),都不允許以數(shù)字開(kāi)頭。

3 部署流程

  • 上步咱們學(xué)習(xí)了流程設(shè)計(jì),產(chǎn)生流程設(shè)計(jì)圖,如何將我們的圖部署到系統(tǒng)中并使用呢,請(qǐng)看如下操作:
  • 在線辦公→流程管理→模型管理→模型管理→部署
  • 接著系統(tǒng)會(huì)提示“部署成功”信息,如果提示錯(cuò)誤,說(shuō)明你流程設(shè)計(jì)圖有問(wèn)題,請(qǐng)檢查錯(cuò)誤,重新執(zhí)行部署操作。
  • 另外兩種部署方法,通過(guò)eclipse插件設(shè)計(jì)好的流程:
在線辦公-流程管理-流程管理-部署流程-選擇流程.bpmn.xml
編寫(xiě)并執(zhí)行ant腳本,啟動(dòng)系統(tǒng)將自動(dòng)部署
/ jeesite/src/main/resources/act/build.xml。
  • 設(shè)置流程分類(lèi):在流程管理中直接點(diǎn)擊流程分類(lèi)進(jìn)行設(shè)置。
  • 同一標(biāo)識(shí)流程,部署多次,版本號(hào)自動(dòng)加1
  • 正在運(yùn)行的流程,再次部署新流程后,正在運(yùn)行的流程還按照原來(lái)流程設(shè)置走,再次新建的流程使用新流程走。

4 流程表單流轉(zhuǎn)

4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
使用 erm 進(jìn)行數(shù)據(jù)庫(kù)建模,然后使用代碼生成工具生成增刪改查代碼。
流程業(yè)務(wù)表中必須包含,如下字段:

生成 ddl 導(dǎo)入數(shù)據(jù)庫(kù)

4.2 代碼生成代碼
功能訪問(wèn)路徑與第2章掛接表單對(duì)應(yīng)(/oa/testAudit/form);
請(qǐng)參考:“在線辦公->個(gè)人辦公->審批測(cè)試”模塊
源碼:com.thinkgem.jeesite.modules.oa.*. TestAudit*.java,testAudit*.jsp

4.3 啟動(dòng)流程接口
TestAuditService.java第62行,傳遞參數(shù)如下:
/**
	 * 啟動(dòng)流程
	 * @param procDefKey 流程定義KEY
	 * @param businessTable 業(yè)務(wù)表表名
	 * @param businessId	業(yè)務(wù)表編號(hào)
	 */
	@Transactional(readOnly = false)
	public void startProcess(String procDefKey, String businessTable, String businessId)
4.4 提交任務(wù)接口
TestAuditService.java第123行,傳遞參數(shù)如下:
/**
	 * 提交任務(wù), 并保存意見(jiàn)
	 * @param taskId 任務(wù)ID
	 * @param procInsId 流程實(shí)例ID,如果為空,則不保存任務(wù)提交意見(jiàn)
	 * @param comment 任務(wù)提交意見(jiàn)的內(nèi)容
	 * @param vars 任務(wù)變量
	 */
	@Transactional(readOnly = false)
	public void complete(String taskId, String procInsId, String comment, Map<String, Object> vars)
4.5 視圖流轉(zhuǎn)信息調(diào)用組件
傳遞流程實(shí)例ID,如下:
<tags:actHistoicFlow procInsId="${testAudit.act.procInsId}" />

5 測(cè)試執(zhí)行

在線辦公→個(gè)人辦公→新建任務(wù)→test_audit→啟動(dòng)流程
系統(tǒng)自動(dòng)調(diào)用流程設(shè)計(jì)時(shí)設(shè)置的開(kāi)始節(jié)點(diǎn)中的“表單標(biāo)識(shí)”地址

這事待辦人的待辦中出現(xiàn)一條待辦項(xiàng)

點(diǎn)擊進(jìn)入辦理,下方顯示流轉(zhuǎn)信息:


流程跟蹤圖:

在待辦中點(diǎn)擊“環(huán)節(jié)名稱(chēng)”,進(jìn)入流程跟蹤圖界面

辦理任務(wù),最下方顯示流轉(zhuǎn)信息:


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)