99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

5.3.1.任務配置頁簽

2022-07-24 10:35 更新

        任務配置頁簽是人工任務節(jié)點中最為重要的屬性配置頁簽,在這個配置頁簽當中,可以配置當前節(jié)點生成任務的名稱、處理任務的URL、是否為會簽任務、任務處理人等信息。如下圖所示。

從截圖中可以看到,該頁簽的配置屬性是比較多的,這里我們將這些屬性分成三部分,來分別予以介紹,這三分部是任務基本屬性配置、會簽任務配置及任務處理人配置三部分,如下圖所示

       我們先從第一部分開始,第一部分是讓我們配置當前人工任務節(jié)點生成任務時的一些基本屬性的,這其中,任務名稱與URL兩個屬性我們在開始節(jié)點已經(jīng)有過介紹,這里的這兩個屬性與開始節(jié)點任務配置的那兩個完成相同,第三個屬性是任務類型,從下拉框中可以看到,任務類型有兩種,分別是普通任務與會簽任務,默認就是普通任務。

       當我們把任務類型改為會簽任務是,第二部分灰掉的會簽任務完成規(guī)則就變的可用,這就表示當前人工任務節(jié)點在生成任務時將以會簽任務的形式創(chuàng)建,這里需要指出的時,如果把任務類型改為會簽任務,那么就需要在第三部分任務處理人任務當中至少要保證運行時有超過一個人來處理當前任務,這樣每個任務處理人都有對應的任務生成,默認每個任務處理人都必須完成自己的會簽任務,流程實例才能離開當前人工任務節(jié)點向下流轉(zhuǎn)。在任務類型為會簽任務,同時任務處理人超過一個人時,默認所有人都必須完成自己的會簽任務流程才能繼續(xù),如果想改變這種默認執(zhí)行方式那么就需要修改第二個會簽任務完成規(guī)則部分。第二部分會簽任務完成規(guī)則共有五個選項,其各自含義如下表所示。

屬性名

類型

描述

所有任務全部完成

默認值,也就是當前人工任務節(jié)點產(chǎn)生的所有會簽任務全部完成后流程才能繼續(xù)向下流轉(zhuǎn)。

完成任務數(shù)

數(shù)字

當流程會簽任務完成數(shù)必須要大于等于當前數(shù)字的值,流程才能繼續(xù)向下流轉(zhuǎn)。

完成百分比 數(shù)字 當流程會簽任務完成數(shù)的百分比必須要大于等于當前數(shù)字的值,流程才能繼續(xù)向下流轉(zhuǎn)。

表達式

Boolean類型

指定一個表達式,要求當前表達式的值必須要返回一個Boolean類型,如果返回true,那么流程將繼續(xù)向下流轉(zhuǎn),其它未完成的會簽任務將會被取消。如定義表達式為“${approveCount>2?true:false}”,這個表達式就表示當approveCount這個流程變量值大于2時,返回true,否則返回false。每個會簽任務完成時都會解析這個表達式的值是否返回true,如果是流程將繼續(xù)向下流轉(zhuǎn),否則流程將繼續(xù)等待。

指定Bean

字符串

指定一個實現(xiàn)了com.bstek.uflo.process.handler.CountersignHandler接口的類配置到spring當中后的bean的id,運行時引擎會找到這個bean,執(zhí)行CountersignHandler接口實現(xiàn)類的handle方法,如果該訪問返回true,流程將繼續(xù)向下流轉(zhuǎn),否則流程將繼續(xù)等待。

在指定Bean時,除了可以手工輸入外,還可以通過右邊的“選擇”按鈕來連接遠程包含uflo-console模塊的應用服務,我們只需要從中選擇一個合適的bean的id即可,彈出窗口的URL值格式如下:

http://localhost:8080/uflo-test/dorado/uflo/list.handler

第三部分是是配置當前人工任務節(jié)點產(chǎn)生的任務的任務處理人。在UFLO當中對人工任務節(jié)點指定任務處理人有五種方式,各自含義如下表所示。

屬性名

類型

描述

流程發(fā)起人

用當前流程實例的發(fā)起人來作為當前人工任務產(chǎn)生的任務的任務處理人,這樣無論任務類型是什么,只會有一個任務產(chǎn)生,因為只有一個任務處理人。

指定泳道

字符串

指定一個在流程模版級別定義的泳道的值為作為當前任務的處理人,這樣,如果泳道的運行時值是一個集合類型,同時任務類型又是會簽類型,那么就會產(chǎn)生多個任務,如果是普通任務,那么產(chǎn)生的就是競爭任務。

EL表達式

字符串

指定一個表達式的值為作為當前任務的處理人,這樣,如果表達式的值是一個集合類型,同時任務類型又是會簽類型,那么就會產(chǎn)生多個任務,如果是普通任務,那么產(chǎn)生的就是競爭任務。
 

字符串

指定一個實現(xiàn)了com.bstek.uflo.process.handler.AssignmentHandler接口并配置到spring中的bean的id作為當前任務的處理人,這樣,如果該接口返回值是一個集合類型,同時任務類型又是會簽類型,那么就會產(chǎn)生多個任務,如果是普通任務,那么產(chǎn)生的就是競爭任務。在指定Bean的值時,除了可以手工輸入目標bean的id,還可以通過右邊的“選擇”按鈕來選擇一個在服務器已配置到spring中該接口的bean的id,彈出窗口的URL值格式如下:

http://localhost:8080/uflo-test/dorado/uflo/list.handler

指定參與者

列表

指定參與者這種任務處理人分配方式最為復雜,它需要與包含uflo-console模塊的已啟動的應用建立連接,通過訪問下面格式的URL,

http://localhost:8080/uflo-test/dorado/uflo/list.assignee.provider

加載所有實現(xiàn)了com.bstek.uflo.process.assign.AssigneeProvider接口任務處理人提供類,關于AssigneeProvider接口見本小節(jié)后半部分描述。

        關于任務處理人分配,這里我們需要重點關注一下,在UFLO當中,對于任務用戶系統(tǒng)的組織機構(gòu)員工信息,沒有任何要求,任何類型的用戶組織機構(gòu)信息都可以通過這里的指定參與者與我們的任務處理人分配關聯(lián)起來。在指定參與者這種任務處理人分配方式當中,我們的設計器需要連接遠程包含包含uflo-console模塊的已啟動的應用,通過訪問指定的URL,實現(xiàn)加載所有實現(xiàn)了com.bstek.uflo.process.assign.AssigneeProvider接口的類,該接口源碼如下。

AssigneeProvider類源碼

import java.util.Collection;
/**
* @author Jacky.gao
* @since 2013年8月17日 */
public interface AssigneeProvider { /**
* 設計器層面是否要用樹形結(jié)構(gòu)進行展示
* @return 返回true,表示設計器會用樹形加載當前任務處理人列表 */
boolean isTree(); /**
* @return 返回當前任務處理人提供者名稱,比如員工列表,部門列表等
*/
String getName(); /**
* 分頁方式查詢返回具體的任務處理人,可以是具體的人,也可以是部門等之類容器型對象 * @param pageQuery
* @param parentId
*/
void queryEntities(PageQuery<Entity> pageQuery,String parentId); /**
* 根據(jù)指定的處理人ID,返回具體的任務處理人用戶名
* @param entityId 處理人ID,可能是一個用戶的用戶名,這樣就是直接返回這個用戶名,也可能是一個部門的ID,那么就是返回這個部門 下的所有用戶的用戶名等
* @return
*/
Collection<String> getUsers(String entityId); /**
* @return 是否禁用當前任務處理人提供器
*/
boolean disable();
}

        該接口中所有方法的描述上面的代碼當中都進行的詳細的描述,可以看到,它并不要求返回的是一個用戶還是一個部門,它可以是任何一種我們業(yè)務系統(tǒng)當中可能的組織機構(gòu)信息,所以我們說這種方式在與我們的業(yè)務系統(tǒng)結(jié)合時是足夠靈活的,開發(fā)人員在實現(xiàn)這個接口后,只需要將其配置到Spring當中,就可以在我們的設計器當中看到并使用它了。

         在UFLO當中,默認我們提供了兩個默認的AssigneeProvider接口的實現(xiàn)類,分別是com.bstek.uflo.process.assign.impl.DeptAssigneeProvider及com.bstek.uflo.process.assign.impl.UserAssigneeProvider,這兩個實現(xiàn)類分別代表兩種不同類型的任務處理人提供者,有興趣的開發(fā)人員可以查詢它們的源碼,以學習AssigneeProvider的具體寫法。

       在任務處理人配置當中,還有最后一個屬性,那就是“允許上一節(jié)為當前節(jié)點指定任務處理人”,如下圖所示。

     一旦該屬性勾選,那么業(yè)務流程開發(fā)中,允許在其它人工任務處理節(jié)點中為當前節(jié)點指定一個或多個具體的任務處理人,在具體操作的時候需要通過TaskClient接口提供的saveTaskAppointor方法實現(xiàn)。














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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號