activiti開發注意事項
1, 畫流程圖
一個流程圖必須有一個或一個以上預設流
流程判斷兩個流出的線一定要帶上引數進行判斷
流程圖的許可權分配:assignee(不包括),candidateUsers(哪些使用者), candidateGroups(哪些角色)
2, 開啟流程
ProcessInstance procInst = runtimeService.startProcessInstanceByKey("orderManage");
process.setB_obj_id(procInst.getId());
引數是流程圖的ID,表示開啟一個流程,流程開始,等待第一個人簽收,返回的是流程的實列,可以得到流程ID。
3, 查詢簽收審批任務
// 根據當前人的ID查詢
String username = this.getUser().getUserName();
identityService.setAuthenticatedUserId(username);
//當前人要審批的任務
TaskQuery todoQuery = taskService.createTaskQuery()
.taskAssignee(username).active()
.orderByTaskCreateTime().desc();
// 根據當前人未簽收的任務
TaskQuery claimQuery = taskService
.taskCandidateUser(username).active()
.orderByTaskId().desc().orderByTaskCreateTime().desc();
List<Task> todoList = todoQuery.list();
List<Task>unsignedTasks = claimQuery.list();
得到系統當前使用者名稱,根據使用者名稱得到這個使用者當前要審批的任務和要簽收的任務(一個流程可以包括好幾個任務,任務是人去接收的,所以流程圖的兩個角色之間就是一個任務)
注意:這裡返回的只是任務的實列,能夠得到的是任務的taskId,taskName,
StringprocessInstanceId = task.getProcessInstanceId();
根據這個得到流程ID,因為我們存的工單是要存這個流程id的,所以能根據這個id找到對應的工單。
注意:這裡要傳入任務的taskid,因為下一個人簽收的時候要根據這個taskId去進行簽收任務。
4, 簽收和審批任務
簽收:taskService.claim(taskId, username);taskid是指任務id,表示簽收哪個任務,username是指使用者名稱,表示哪個使用者去簽收
審批:taskService.complete(taskId, map);taskId是指任務id,表示審批哪個任務,map可以穿入引數,一般審批要有兩個分支,通過和不通過,引數要放進map裡面。另外還可以傳入別的引數,下一步得到。
5, 刪除流程
runtimeService.deleteProcessInstance(processInstanceId,"deleteby applicant");傳入流程id,結束一個流程。
6, 流程中使用者角色
流程中使用者角色用的特別多,其實流程主要就是這個用處。所以要對系統中的一些關於使用者,部門,角色的方法做一些瞭解,這裡用的比較多。
String username =this.getUser().getUserName();
得到使用者名稱
User user =userService.loadUserByUsername(username);
根據當前使用者名稱得到使用者的資訊。(user可以得到使用者部門,但是這個是懶載入,只能在service中的到,不能再@Controller中得到。)
List<String>userRoleNames = userService.getUserRoleNames(user.getId());
根據使用者名稱得到使用者角色
7, 一些activiti中用到的表格
這些表格在系統使用者表中,因為要喝使用者做關聯。
create view act_id_group as SELECT sr.NAME_ as ID_,1 asREV_,sr.NAME_CN as NAME_,null as TYPE_ from sys_role sr;
CREATE view act_id_info as SELECT su.USERNAME as ID_,1 asREV_,su.USERNAME as USER_ID_,null as TYPE_,null as KEY_,null asVALUE_,su.PASSWORD_ as PASSWORD_,null as PARENT_ID_ from sys_user su;
create view act_id_membership as SELECT su.USERNAME asUSER_ID_,sr.NAME_ as GROUP_ID_ from sys_userrole ur,sys_user su,sys_role srWHERE su.ID_=ur.USER_ID and ur.ROLE_ID=sr.ID_;
create viewact_id_user as SELECT su.USERNAME as ID_,1 as REV_,su.FULLNAME asFIRST_,su.NAME_PINYIN as LAST_,su.EMAIL_ as EMAIL_,su.PASSWORD_ as PWD_,null asPICTURE_ID_ from sys_user su;
建立四個檢視,這四個本來是activiti中的表,我們只是和我們系統中的使用者做了一個對應,所以用這幾個檢視來代替表格。
ACT_RU_TASK :系統正在跑的幾個流程,一個流程被刪除,記錄相對應的被刪除。
ACT_HI_PROCINST:任務記錄表,做一步操作會有條記錄,一個任務結束下一個任務會開始,一旦所有的任務都有結束時間了,那麼流程也就結束了。
8, 兩個流程圖的角色分配
角色分配: 建立人:分公司運維考核牽頭人(orderUser1)
初審:省專業室運維考核牽頭人(orderUser2)
終審:分公司稽核專案經理許可權(orderUser3)
角色分配: 建立人:省專業室運維考核牽頭人(orderUser2)
初審:分公司稽核專案經理許可權(orderUser3)
終審:專業室流程終審(orderUser4)
相關推薦
activiti開發注意事項
1, 畫流程圖 一個流程圖必須有一個或一個以上預設流 流程判斷兩個流出的線一定要帶上引數進行判斷 流程圖的許可權分配:assignee(不包括),candidateUsers(哪些使用者), candidateGroups(哪些角色) 2, 開啟流程 ProcessIn
android開發注意事項
1.下載Android Studio完成後,第一次啟動又會卡住,彈出 "Fetching android sdk component information" 對話方塊,這是Android Studio在檢查sdk的更新,我們會被牆;解決方法:在Android Studio的安裝目錄的bin資料夾下
文章索引-軟體開發注意事項(未完待續)
此處整理解決一些問題的關鍵點。 Windows: 防火牆: Exercising the Firewall using C++ 。 VC2010編譯,Win7,Win10實驗成功,Exe需要管理員執行。 降低-記憶體(
購物商城app開發注意事項
隨著科技網際網路的飛速發展和不斷創新,目前有很多APP開發不斷在市場上湧現,就目前而言,網上商城app開發引起很多人關注,最受大眾關注的焦點是購物商城app開發價格,下面小編展開來進行分析。 下面就具體談到關於影響到“購物類app軟體開發費用”的幾個因素如下: 1、app軟體的一個開發
Web 安全開發注意事項
一、背景 最近開發公司的WEB專案,商密技術研究部領導推出了一套測試規範,規範中包括web端安全測試掃描,掃描結果不盡如人意,因此蒐集及整理如下web安全開發事項。 二、編碼安全策略 簡述:不要相信任何來自客戶端提交的資料,比如URL和引數,HTTP頭部、javascript或者其他嵌入程式碼提交的資料
springboot下多執行緒開發注意事項
基於springboot的多執行緒程式開發過程中,由於本身也需要注入spring容器進行管理,才能發揮springboot的優勢。所以這篇文字主要用來記錄開發中兩者結合時需要注意的一些事項。 第一步我們把執行緒類的例項注入sping容器進行管理 @Configuration @SpringBootAppli
ssm之路(15)整合ssm+逆向工程開發注意事項(Result Maps collection already contains value for cn.itcast.ssm.mapper.It)
這裡有個結合逆向工程來使用的坑: 上一章中整合遇到問題,有個關於逆向工程的坑,這裡需要說明一下: 因為我是通過mapper代理方式來整合的,所以當我再mapper裡新建我要自定義的檔案時,會造成無意不遵循規範的錯誤 我是通過mapper代理開發的方式來弄的,通過Ma
移動端那些事兒(一)移動端開發注意事項
對於手機網站建設,總結了如下幾點注意: 1、 安卓瀏覽器看背景圖片,有些裝置會模糊。 用同等比例的圖片在PC機上很清楚,但是手機上很模糊,原因是什麼呢? 經過研究,是devicePixelRatio作怪,因為手機解析度太小,如果按照解析度來顯示網頁,這樣字會非常小,所以蘋果當初就把iPhone 4的9
64位平臺C/C++開發注意事項(轉載)
Lesson 01. What 64-bit systems are.Lesson 02. Support of 32-bit applications.Lesson 03. Porting code to 64-bit systems. The pros and cons.Lesson 04.
電商類APP開發注意事項彙總
怎麼開發電商App才“靠譜”?這是一個刁鑽的問題,因為好的電商類App開發取決於多個方面,包括App價格,App功能,公司開發實力,營銷渠道等。 1 App價格便宜 App開發費用總是人們考慮的第一位,現在市場對於價格問題仍然比較敏感。 從大體上來講,刨除App開發的差異性
Go語言中編譯、執行,以及開發注意事項
** 編譯 ** 1.有了go原始檔,通過編譯器將其編譯成機器可以識別的二進位制原始碼檔案 2.在該原始檔目錄下,通過go build對原始檔.go進行編譯,可以指定生成的可執行檔名,在Windows下必須是.exe字尾 go build -o 新檔名.exe 原始檔名.go
Android開發注意事項(時刻謹記)
異常處理 1、 空指標異常。物件都有生命週期,使用一個物件時需要對其狀態進行判斷。 2、 越界異常。 3、 OOM。 4、 BadTokenException。 體驗優化 1、 頁面載入速度。 2、 頁面響應速度。 測試 1、 測試Log使用特有的格式,方便刪除 2、 測試程式碼通過@T
微信分享到朋友圈、傳送給朋友開發注意事項
1、invalid url domain 當前頁面所在域名與使用的appid沒有繫結,請確認正確填寫繫結的域名,如果使用了埠號,則配置的繫結域名也要加上埠號(一個appid可以繫結三個有效域名,見 目錄1.1.1)。 2、invalid signature簽名錯誤。 建議按如下順序檢查:
一個程式設計師的總結——開發注意事項
一年到頭了,作為本命年的我,今年發生了太多的事情,但是不幸的是,都是好事兒,有點太過得意洋洋了,不過,不管一年順抑或不順,都是需要總結的,畢竟,總結,才能讓人成長,首先,想注意的事情就是開發注意事項。 特別想說一件事情,公司每個功能上線之前都要測試,在測試環
微信小程式和微信公眾號開發注意事項(有些是從微信開發文件中摘抄出來的)
先從簡單的說起 (會提醒你的一些注意事項) 1、微信公眾號和小程式名稱可以由中文、數字、英文。長度在3-20個字元之間,一箇中文字等於2個字元。 2、微信公眾號和小程式名稱不得與公眾平臺已有的訂閱號
java web,開發注意事項
匯出的jar如何讓springMVC能掃描到? 開發中發現,打包成jar然後再匯入到專案中springMVC掃描不到,於是查詢資料終於解決了這個問題。 怎麼匯出jar? 將jar配置到專案? 新建一個資料夾用於存放jar的 然後選擇要設定的jar,點選f
關於apicloud開發注意事項
1、apicloud api地址http://www.apicloud.com需要用到的模組 技術 mcm 極光推送 db restapi 2、apicloud是用json格
SQL開發注意事項
不要使用count(列名)或count(常亮)代替 count()。說明:count()會統計值為null的行,而count(列)不會統計此列為null值的行。 當某一列的值全為null時,count(col)的返回結果為0,但sum(col)的結果為null,所以使用sum(
Android 開發注意事項
1、平時Intent 傳遞圖片的時候,不要直接傳data,要傳遞 URL 來處理,否則大圖片容易傳輸失敗。 E/JavaBinder(29445): !!! FAILED BINDER TRANSACTION !!! (parcel size = 2560292)2、通
前端開發注意事項個人參考
一、html頁面結構 1、標籤儘量使用語義化標籤,使人一目瞭然,下面是一些常見的語義化標籤 <header></header>:通常包括網站標誌、主導航、全站連結以及搜尋框。 <nav></nav>:標記導航,一般用於主要的導航欄