以請(qǐng)假為例,我們?cè)谧龉ぷ髁鞯臅r(shí)候一定是需要將我們的業(yè)務(wù)和工作流來(lái)關(guān)聯(lián)起來(lái)的,而Activiti給我們提供了一個(gè)便利就是Business_key,而這個(gè)字段就是專門用來(lái)存儲(chǔ)我們的業(yè)務(wù)關(guān)鍵字。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到禮縣網(wǎng)站設(shè)計(jì)與禮縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋禮縣地區(qū)。
例如我們有一個(gè)請(qǐng)假的業(yè)務(wù),而我的請(qǐng)假信息都已經(jīng)編寫到數(shù)據(jù)庫(kù)的表(tb_leaveBill)中了,但是我怎么樣把我的請(qǐng)假信息關(guān)聯(lián)到activiti的數(shù)據(jù)庫(kù)表中,對(duì)了,就是用給定的Activiti的Business_key,而這里有一個(gè)小技巧,例如我的javaBean叫做LeaveBill,而我的請(qǐng)假信息的ID為1,那么我就可以讓他寫成leaveBill.1,技巧就是業(yè)務(wù)Bean.業(yè)務(wù)ID,這樣我們就能Business_key的設(shè)置了
啟動(dòng)流程實(shí)例(Business_key)
[java]view plain copy
public void saveStartProcess(WorkflowBean workflowBean) {
//獲取請(qǐng)假單ID,使用請(qǐng)假單ID,的對(duì)象的LeaveBill
Long id = workflowBean.getId();
LeaveBill leaveBill = leaveBillDao.findLeaveBillById(id);
//更新請(qǐng)假單的狀態(tài)
leaveBill.setState(1);
String key = leaveBill.getClass().getSimpleName();
//從session中獲取流程變量
Map<String,Object> variables = new HashMap<String,Object>();
variables.put("inputUser", SessionContext.get().getName()); //表設(shè)計(jì)唯一
//使用流程變量關(guān)聯(lián)工作流和業(yè)務(wù)
String objId = key + "." + id; //格式LeaveBill.id
//啟動(dòng)流程實(shí)例,同時(shí)設(shè)置流程變量,//使用正在執(zhí)行的對(duì)象表中的一個(gè)字段(Businesskey),讓啟動(dòng)實(shí)例關(guān)聯(lián)業(yè)務(wù)
runtimeService.startProcessInstanceByKey(key,objId,variables);
}
效果圖如下:
查詢(Business_key)
查詢的時(shí)候,我們需要根據(jù)任務(wù)ID,查詢task對(duì)象,然后根據(jù)task對(duì)象,獲取實(shí)例ID,之后使用流程實(shí)例查詢Business_key來(lái)獲取對(duì)應(yīng)的業(yè)務(wù)的主鍵,這樣就能查詢到
[java]view plain copy
//使用任務(wù)ID,查詢請(qǐng)假單信息
@Override
public LeaveBill findLeaveByTaskId(String taskId) {
//1,使用任務(wù)ID,查詢對(duì)象task
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
//2.使用任務(wù)ID,獲取實(shí)例ID
String processInstanceId = task.getProcessInstanceId();
//3.使用流程實(shí)例,查詢
ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
//4.使用流程實(shí)例對(duì)象獲取BusinessKey
String business_key = pi.getBusinessKey();
//5.獲取Business_key對(duì)應(yīng)的主鍵ID
String id = "";
if(StringUtils.isNotBlank(business_key)){
//截取字符串
id = business_key.split("\\.")[1].toString();
}
LeaveBill leaveBill = leaveBillDao.findLeaveBillById(Long.parseLong(id));
return leaveBill;
}
網(wǎng)站欄目:activiti之流程變量值Business_key
文章源于:http://aaarwkj.com/article32/ihhpsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、自適應(yīng)網(wǎng)站、微信小程序、動(dòng)態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)