真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

activiti之流程變量值Business_key-創(chuàng)新互聯(lián)

以請(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)鍵字。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供界首企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為界首眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

      例如我們有一個(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

  1. public void saveStartProcess(WorkflowBean workflowBean) {

  2.    //獲取請(qǐng)假單ID,使用請(qǐng)假單ID,的對(duì)象的LeaveBill

  3.    Long id = workflowBean.getId();

  4.    LeaveBill leaveBill = leaveBillDao.findLeaveBillById(id);

  5.    //更新請(qǐng)假單的狀態(tài)

  6.    leaveBill.setState(1);

  7.    String key = leaveBill.getClass().getSimpleName();

  8.    //從session中獲取流程變量

  9.    Map variables = new HashMap();

  10.    variables.put("inputUser", SessionContext.get().getName());  //表設(shè)計(jì)唯一

  11.    //使用流程變量關(guān)聯(lián)工作流和業(yè)務(wù)

  12.    String objId = key + "." + id;  //格式LeaveBill.id

  13.    //啟動(dòng)流程實(shí)例,同時(shí)設(shè)置流程變量,//使用正在執(zhí)行的對(duì)象表中的一個(gè)字段(Businesskey),讓啟動(dòng)實(shí)例關(guān)聯(lián)業(yè)務(wù)

  14.    runtimeService.startProcessInstanceByKey(key,objId,variables);

  15. }

       效果圖如下:

activiti之流程變量值Business_key

      查詢(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

  1. //使用任務(wù)ID,查詢請(qǐng)假單信息

  2.    @Override

  3.    public LeaveBill findLeaveByTaskId(String taskId) {

  4.        //1,使用任務(wù)ID,查詢對(duì)象task

  5.        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();

  6.        //2.使用任務(wù)ID,獲取實(shí)例ID

  7.        String processInstanceId = task.getProcessInstanceId();

  8.        //3.使用流程實(shí)例,查詢

  9.        ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();

  10.        //4.使用流程實(shí)例對(duì)象獲取BusinessKey

  11.        String business_key = pi.getBusinessKey();

  12.        //5.獲取Business_key對(duì)應(yīng)的主鍵ID

  13.        String id = "";

  14.        if(StringUtils.isNotBlank(business_key)){

  15.            //截取字符串

  16.            id = business_key.split("\\.")[1].toString();

  17.      

  18.        }

  19.        LeaveBill leaveBill = leaveBillDao.findLeaveBillById(Long.parseLong(id));

  20.        return leaveBill;

  21.    }


本文題目:activiti之流程變量值Business_key-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/ccihoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部