activiti7任务服务-流程变量(setVariable与setVariableLocal)

Posted keep-go-on

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activiti7任务服务-流程变量(setVariable与setVariableLocal)相关的知识,希望对你有一定的参考价值。

流程变量的作用

任务变量的作用主要由以下几个作用。

  • 任务承接人参数。任务启动或中途通过变量指定任务承接人。
  • 网关条件变量。任务启动时或中途为网关提供数据。
  • 任务拓展属性。为任务提供拓展的属性,可供检索。
  • 动态修改流程的属性。

任务服务提供了setVariableLocalsetVariable 两个方法为流程和任务提供设置变量的方法。运行时流程变量表为 act_ru_variable

任务服务的setVariable方法

使用方法如下 :

taskService.setVariable(taskId,key,value);

数据库结果 :

使用setVariable方法设置流程变量,变量关联的颗粒度为流程实例ID(PROC_INST_ID_)而不是任务ID,流程变量是属于全局的。

任务服务的setVariableLocal方法

使用方法如下 :

taskService.setVariableLocal(taskId,key,value);

数据库结果如下 :

使用setVariableLocal方法设置的变量颗粒度直接关联到了任务ID,变量是属于任务(一个任务就是一个流程节点)的。

对于查询的区别

查询全局变量

 taskQuery.taskVariableValueEquals("test_var","099098087");

查询全局变量(使用setVariable方法设置的流程变量),查询结果 :


    
    "code": 10000,
    "msg": "成功",
    "status": true,
    "data": 
        "records": [],
        "total": 0,
        "size": 10,
        "current": 1,
        "orders": [],
        "optimizeCountSql": true,
        "searchCount": true,
        "pages": 0
    

由于全局变量未关联任务任务,因此查询不到任务任务。

查询任务变量

 taskQuery.taskVariableValueEquals("test_varrrrr","099098087");

查询结果如下 :


    "code": 10000,
    "msg": "成功",
    "status": true,
    "data": 
        "records": [
            
                "taskId": "ffd43354-8bde-11ec-a6d1-b42e996769a4",
                "taskName": "审批人",
                "processInstanceId": "ffc1bcb7-8bde-11ec-a6d1-b42e996769a4",
                "processDefinitionId": "635cc307-8a6b-11ec-9c5b-b42e996769a4",
                "createTime": "2022-02-12T08:37:23.272+00:00",
                "taskDefinitionKey": "node_92754730680",
                "assignee": "user_C"
            
        ],
        "total": 1,
        "size": 10,
        "current": 1,
        "orders": [],
        "optimizeCountSql": true,
        "searchCount": true,
        "pages": 1
    

根据上文截图可以看出,查询到的任务就是任务关联的任务。

以上是关于activiti7任务服务-流程变量(setVariable与setVariableLocal)的主要内容,如果未能解决你的问题,请参考以下文章

activiti7任务服务-流程变量(setVariable与setVariableLocal)

Activiti7工作流引擎:流程变量

2021全网最全Activiti7教程04(Activiti7进阶篇-欢迎收藏)

2021全网最全Activiti7教程04(Activiti7进阶篇-欢迎收藏)

Activiti7工作流引擎:挂起状态和任务组

Activiti7工作流引擎:基础篇 流程变量