flowable工作流設置審批人為指定角色+部門的實現方式

一、繪制流程圖頁面配置

?

1、指定固定審批角色+組織的實現

如上圖紅框部分,需要修改此處為需求對應。比如此時紅框不支持指定某個部門下的指定角色這種組合判斷的審批人。則需要修改頁面變成選完角色同時也選擇上部門統一生成一個group標識。

修改完后,生成類似 ROLE001DEPT130000 的group標識。

在xml中設置 CandidateGroup時,設置為固定值就可以。

2、指定審批人為發起人所在部門的指定角色

此時,用方式1顯然不支持,因為發起人是變化的,dept也會跟著變,只能在發起審批流程時讀取到傳入發起人信息后進行設置。

在xml中設置 CandidateGroup時,需要指定為可變參數,類似下圖這種

?設置這個參數有幾種方式:

2.1直接基于框架進行表單設置

?

?2.2 在后端代碼中發起流程這個步驟時,通過setVariable()的方式設置deptId這個參數

二、流程查詢時找到對應審批人

我們設置好對應審批人后,還需要在該查到的時候查到,比如 有一個部門d1,里面有 張三-員工 李四-部門領導 兩個人。張三發起了一個審批,審批人設置的是本部門領導角色。此時,在李四登錄時應該在待辦列表里看到這條審批。

查詢這塊包含了發起中所有情況,因為查的時候要遵循寧可把可能的群組都查,也不能漏掉。

直接上代碼吧:

// 定義的一些標識
public class TaskConstants {/*** 流程發起人*/public static final String PROCESS_INITIATOR = "initiator";/*** 角色候選組前綴*/public static final String ROLE_GROUP_PREFIX = "ROLE";/*** 部門候選組前綴*/public static final String DEPT_GROUP_PREFIX = "DEPT";/*** 分割符*/public static final String SPLIT = "-";
}
    /*** 獲取用戶組信息,包含了當前所有組合:role、dept、role+dept作為群組** @return candidateGroup*/public static List<String> getCandidateGroup() {List<String> list = new ArrayList<>();
// 獲取當前登錄人信息,不同框架有不同的獲取方法,適當修改LoginUser user = LoginHelper.getLoginUser();if (ObjectUtil.isNotNull(user)) {if (ObjectUtil.isNotEmpty(user.getRoles())) {user.getRoles().forEach(role -> {list.add(TaskConstants.ROLE_GROUP_PREFIX + role.getRoleId());list.add(TaskConstants.ROLE_GROUP_PREFIX + role.getRoleId() + TaskConstants.SPLIT+ TaskConstants.DEPT_GROUP_PREFIX + user.getDeptId());});}if (ObjectUtil.isNotNull(user.getDeptId())) {list.add(TaskConstants.DEPT_GROUP_PREFIX + user.getDeptId());}}return list;}
// 查詢待辦事項列表        
TaskQuery taskQuery = taskService.createTaskQuery().active().includeProcessVariables().taskCandidateOrAssigned(TaskUtils.getUserId()).taskCandidateGroupIn(TaskUtils.getCandidateGroup()).orderByTaskCreateTime().desc();

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12575.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12575.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12575.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

股指期貨基差衡量的是什么?

在股指期貨市場中&#xff0c;基差、升水和貼水是三個關鍵的術語&#xff0c;這些基差衡量的是現貨市場的價格與期貨市場的價格之間的差異。 一、基差&#xff1a;現貨與期貨的價差 1. 定義&#xff1a;基差是指現貨價格與相應期貨合約價格之間的差額。計算方式是現貨價格減去…

深入了解MongoDB:利用$type操作符輕松操控數據類型

MongoDB的$type操作符用于檢索具有特定數據類型的字段。以下是有關$type操作符的詳細解釋、命令、示例、應用場景、注意事項和總結&#xff1a; $type操作符用于查詢具有特定數據類型的字段。它接受一個整數參數&#xff0c;該參數對應于MongoDB中的數據類型編號。可以使用$ty…

第4章 Redis,一站式高性能存儲方案【仿牛客網社區論壇項目】

第4章 Redis&#xff0c;一站式高性能存儲方案【仿牛客網社區論壇項目】 前言推薦項目總結第4章 Redis&#xff0c;一站式高性能存儲方案1. Redis入門2. Spring整合Redis3.點贊4.我收到的贊5.關注、取消關注6.關注列表、粉絲列表7.優化登錄模塊 最后 前言 2023-4-30 20:42:51 …

hadoop 安裝步驟

hadoop 是一個免費開源軟件, 可以安裝在window上&#xff0c;但是有些麻煩。 也可以安裝 在linux 上 hadoop 下載地址 &#xff1a;https://hadoop.apache.org/releases.html 安裝前的準備工作&#xff1a; 1.安裝jdk Apache Hadoop 與最新版本的JDK不兼容。建議下載Java SE D…

SFTPGO 整合minio AD群組 測試 |sftpgo with minio and ldap group test

SFTP-GO 研究 最近在測試sftpgo&#xff0c;發現中文的資料比較少&#xff0c;在企業中很多存儲開始支持S3&#xff0c;比如netapp 于是想嘗試把文件服務器換成sftpgoS3的存儲&#xff0c;sftp go和AD 群組的搭配測試比較少 自己測試了一把&#xff0c;覺得還是沒有server-u的A…

JVS物聯網、無憂企業文檔、規則引擎5.14功能新增說明

項目介紹 JVS是企業級數字化服務構建的基礎腳手架&#xff0c;主要解決企業信息化項目交付難、實施效率低、開發成本高的問題&#xff0c;采用微服務配置化的方式&#xff0c;提供了 低代碼數據分析物聯網的核心能力產品&#xff0c;并構建了協同辦公、企業常用的管理工具等&am…

ubuntu在當前路徑下打開Terminal

在 Ubuntu 20.04 中&#xff0c;nautilus-open-terminal 已經被 nautilus-extension-gnome-terminal 替代了。你可以嘗試安裝這個新的包。以下是在終端中執行的命令&#xff1a; sudo apt-get update sudo apt-get install nautilus-extension-gnome-terminal安裝完成后&#…

Java面向對象——抽象類

abstract修飾符可以用來修飾方法也可以修飾類&#xff0c;如果修飾方法&#xff0c;那么該方法就是抽象方法&#xff1b;如果修飾類&#xff0c;那么該類就是抽象類。 抽象類中可以沒有抽象方法&#xff0c;但是有抽象方法的類一定要聲明為抽象類。 抽象類&#xff0c;不能…

函數的遞歸調用

在調用一個函數的過程中又出現直接或間接地調用該函數本身&#xff0c;稱為函數的遞歸&#xff08;recursive&#xff09;調用。C和C允許函數的遞歸調用。例如&#xff1a; int f(int x) { int y,z; zf(y); //在調用函數 f 的過程中&…

云服務器修改端口通常涉及幾個步驟

云服務器修改端口通常涉及幾個步驟 遠程連接并登錄到Linux云服務器&#xff1a; 使用SSH工具&#xff08;如PuTTY、SecureCRT等&#xff09;遠程連接到云服務器。 輸入云服務器的IP地址、用戶名和密碼&#xff08;或密鑰&#xff09;進行登錄。 修改SSH配置文件&#xff1a…

Jmeter使用While控制器

1.前言 對于性能測試場景中&#xff0c;需要用”執行某個事物&#xff0c;直到一個條件停止“的概念時&#xff0c;While控制器控制器無疑是首選&#xff0c;但是在編寫腳本時&#xff0c;經常會出現推出循環異常&#xff0c;獲取參數異常等問題&#xff0c;下面總結兩種常用的…

如何將Excel表格中的圖片鏈接直接顯示成圖片?

在 Excel 中&#xff0c;你可以通過以下步驟將圖片鏈接轉換為直接顯示圖片&#xff1a; 1. **插入圖片鏈接**&#xff1a;首先&#xff0c;在 Excel 表格中插入圖片的鏈接。你可以在某個單元格中輸入圖片的鏈接地址&#xff0c;或者使用 Excel 的“插入圖片”功能插入鏈接。 2.…

從新手到高手,教你如何改造你的廣告思維方式!

想要廣告震撼人心又讓人長時間記住&#xff1f;答案肯定是“創意”二字。廣告創意&#xff0c;說白了就是腦洞大開&#xff0c;想法新穎。那些很流行的廣告&#xff0c;都是因為背后的想法特別、新穎。做廣告啊&#xff0c;就得不停地思考&#xff0c;創新思維是關鍵。 廣告思…

天銳綠盾 | 如何防止電腦內文件遭到泄露?

天銳綠盾是一款專為企業設計的數據防泄漏軟件系統&#xff0c;它通過一系列綜合性的安全措施來有效防止電腦內文件遭到泄露。 PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是天銳綠盾防止文件泄露的主要功能和方法&a…

qt 麒麟系統 connot find /usr/local/lib

目錄 解決方法&#xff1a; 后來又報錯&#xff1a; cannot find -lopencv_world3.4.6 connot find /usr/local/lib 解決方法&#xff1a; LIBS -L/usr/local/lib -lopencv_world3.4.6QMAKE_LFLAGS -Wl,-rpath,/usr/local/lib 后來又報錯&#xff1a; cannot find -lopencv…

【CSP CCF記錄】202009-1 稱檢測點查詢

題目 過程 難點&#xff1a;編號和位置的一一對應&#xff0c;不同位置的距離可能相等。 所以使用一個結構體記錄不同檢測點的編號和到居民地的距離。 sort函數進行排序。Sort函數使用方法 參考&#xff1a;http://t.csdnimg.cn/Y0Hpi 代碼 #include <bits/stdc.h>…

Vue3.0-Ref

一、值類型與引用類型 1.1 定義和說明 在JavaScript中&#xff0c;數據類型可以分為兩類&#xff1a;值類型&#xff08;或基本數據類型&#xff09;和引用類型。 值類型&#xff08;基本數據類型&#xff09;&#xff1a; undefined null boolean number string symbo…

正則表達式和lambda表達式

正則表達式&#xff08;Regular Expressions&#xff09;和Lambda表達式雖然都包含“表達式”一詞&#xff0c;但它們在編程中的作用和用法是完全不同的。讓我們詳細比較一下它們的定義、用途和應用場景&#xff1a; 正則表達式 定義&#xff1a;正則表達式是一種用于匹配文本…

人工智能AI聊天chatgpt系統openai對話創作文言一心源碼APP小程序功能介紹

你提到的是一個集成了多種智能AI創作能力的系統&#xff0c;它結合了OpenAI的ChatGPT、百度的文言一心&#xff08;ERNIE Bot&#xff09;以及可能的微信WeLM&#xff08;或其他類似接口&#xff09;等。這樣的系統確實能夠極大地提高創作效率&#xff0c;并且在各種場景下為用…