工作流JBPM操作API办理任务&流程变量

简介: 工作流JBPM操作API办理任务&流程变量

8.7 办理任务


8.7.1 办理个人任务


办理前数据表中:

办理任务:

//  办理个人任务
@Test
public void comPeletePersonTask111(){
   String taskId = "1520002";
   String user = "张三";
   List<Task> list = processEngine.getTaskService().findPersonalTasks(user);
   System.out.println(list.size());
   if( list == null || list.size() < 1){
     //  throw ... 
     System.out.println("该用户当前没有可以办理的任务!");
     return;
   }
   for(Task task : list){
     if(user.equals(task.getAssignee()) && taskId.equals(taskId)){
       // 办理任务
       processEngine.getTaskService().completeTask(taskId);
       break;
     }
   }
}

办理后数据表:

8.7.2 办理个人组任务


个人组任务:组任务节点的办理人不是一个人,而是一组拥有相同权限的人(设置组任务办理人在8.10.1)。

组任务不能直接办理,需要先将该组任务 拾取 到个人任务中。这样该组任务就变成了个人任务,此时办理方法同8.7.1。

拾取任务:

@Test
public void ban(){
   String taskId = "1470004";
   String user = "小红";
   //  拾取前 判断下 该组任务的办理用户中是否有 该用户
   //  判断 略...
   processEngine.getTaskService().takeTask(taskId, user);
}
//  拾取任务后 该组任务就变为自己的任务了 办理 同 8.7.1
//  办理 略...


8.8 驳回任务


//  驳回申请
@Test  
public void jujue(){
   String taskId = "410001";
   Task task = processEngine.getTaskService().getTask(taskId);
   System.out.println(task.getExecutionId());
   //  在驳回任务前最好先做个判断,只能驳回属于自己的任务
   //  判断 略...
   processEngine.getExecutionService()
     .endProcessInstance(task.getExecutionId(),ProcessInstance.STATE_ENDED);
}


8.9 流程变量


流程变量设置的值的作用域是整个流程(流程启动到流程结束,流程变量在流程结束后会自动从数据库表删除)。

流程变量 会保存在 jbpm4_variable 表中。


8.9.2 设置流程变量

//  设置流程变量
@Test
public void testSetVariables(){
   String executionId = "";
   String taskId = "";
   String name = "";
   Object value = "";
   Map<String, Object> variableMap = new HashMap<String, Object>();
   String processDefinitionKey = "";

   //  以下 设置 流程变量的方式 任选其一就行

   //  根据 Execution 设置一个流程变量
   processEngine.getExecutionService().setVariable(executionId, name, value);
   //  根据 Execution 设置多个流程变量
   processEngine.getExecutionService().setVariables(executionId, variableMap);
   //  根据 Task 设置多个流程变量(放入map)
   processEngine.getTaskService().setVariables(taskId, variableMap);

   //  启动时候 加入流程变量
   processEngine.getExecutionService().startProcessInstanceByKey(processDefinitionKey, variableMap);

   //  办理指定任务 并 加入 参数
   processEngine.getTaskService().completeTask(taskId, variableMap);
}


8.9.3 获取流程变量

//  获取流程变量
@Test
public void testGetVariables(){
   String executionId = "";
   String taskId = "";
   String variableName = "";
   //  根据 Execution获取指定名称的一个流程变量
   processEngine.getExecutionService().getVariable(executionId, variableName);

   //  根据 Execution获取所有流程变量
   processEngine.getExecutionService().getVariableNames(executionId);

   //  根据 Execution获取指定名称的所有流程变量
   Set<String> variableNames1 = null;
   processEngine.getExecutionService().getVariables(executionId, variableNames1);

   //  同上
   processEngine.getTaskService().getVariable(taskId, variableName);

   processEngine.getTaskService().getVariableNames(taskId);
  Set<String> variableNames2 = null;
   processEngine.getTaskService().getVariables(taskId, variableNames2);
}

所有的流程变量 都在 jbpm4_variable 表中可以查看。

相关文章
|
29天前
|
JSON 算法 API
1688商品详情API实战:Python调用全流程与数据解析技巧
本文介绍了1688电商平台的商品详情API接口,助力电商从业者高效获取商品信息。接口可返回商品基础属性、价格体系、库存状态、图片描述及商家详情等多维度数据,支持全球化语言设置。通过Python示例代码展示了如何调用该接口,帮助用户快速上手,适用于选品分析、市场研究等场景。
|
2月前
|
XML JSON API
手把手教你调用京东商品详情 API:从申请到数据抓取全流程
京东商品详情API为电商从业者、分析师及开发者提供高效数据支持,助力优化业务与研究。该接口具备丰富数据(商品属性、价格、描述、图片、评价等)与灵活请求方式(GET/POST),满足多样化需求,是数字化时代电商应用开发与分析的有力工具。
230 13
|
3月前
|
XML JSON API
淘宝商品详情API的调用流程(python请求示例以及json数据示例返回参考)
JSON数据示例:需要提供一个结构化的示例,展示商品详情可能包含的字段,如商品标题、价格、库存、描述、图片链接、卖家信息等。考虑到稳定性,示例应基于淘宝开放平台的标准响应格式。
|
18天前
|
JSON 监控 供应链
深度实操:京东商品详情API接入全流程与技术要点剖析
京东商品详情API接口用于获取商品基础信息(标题、价格、库存状态、用户评价等),支持单个或多个商品查询。适用于商品列表展示、竞品分析、价格监控、库存管理、营销活动和数据分析等场景。通过发送HTTP请求(GET/POST)调用接口,服务器返回JSON格式数据,可使用Python等语言解析处理。示例代码中展示了如何用requests库调用API并获取商品详情。
|
7天前
|
人工智能 数据可视化 物联网
物流轨迹订阅查询API调用全流程
本文介绍了物流轨迹订阅查询 API 从传统物流到智慧物流的转型价值与应用。该接口支持主流快递公司,通过标准化数据格式返回物流状态与详细路径信息,助力物流可视化、智能调度和精准客服。核心功能包括基于快递单号查询物流状态与轨迹,提供如快递公司、运单号、签收状态等关键信息。同时,文章还提供了调用流程及 Python 示例代码,便于开发者集成使用。未来,随着 AI 和物联网技术的发展,物流轨迹查询将向智慧物流生态演进,进一步提升行业效率与用户体验。
50 0
|
2月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
630 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
2月前
|
存储 安全 API
秘密任务 1.0:为什么 DTO 是 API 设计效率和安全性的秘密武器?
在软件开发中,确保API安全与高效至关重要。本文通过“间谍机构”场景,介绍数据传输对象(DTO)的作用。DTO是一种设计模式,用于格式化数据并隐藏敏感信息,仅传送必要内容。例如,在特工数据中,DTO可过滤掉密码和任务详情,仅返回代号和权限等级。使用DTO能简化前后端通信、提升性能和安全性。 文中示例展示如何用DTO处理GET与POST请求:GET响应只含安全字段,POST创建新特工时隐藏密码。借助工具如APIPost,可更高效管理API设计,实现安全、结构化的数据交互。总结来说,DTO让API更简洁、安全且高效。
|
3月前
|
安全 小程序 API
【03】支付宝支付商户申请下户到配置完整流程-对签约申请已通过商户进行开通API支付-创建应用-申请支付宝公钥-应用公钥-支付宝密钥-配合支付宝官方证书生成工具+配置完整流程-优雅草卓伊凡
【03】支付宝支付商户申请下户到配置完整流程-对签约申请已通过商户进行开通API支付-创建应用-申请支付宝公钥-应用公钥-支付宝密钥-配合支付宝官方证书生成工具+配置完整流程-优雅草卓伊凡
337 0
【03】支付宝支付商户申请下户到配置完整流程-对签约申请已通过商户进行开通API支付-创建应用-申请支付宝公钥-应用公钥-支付宝密钥-配合支付宝官方证书生成工具+配置完整流程-优雅草卓伊凡
|
5月前
|
IDE JavaScript API
1688寻源通API对接流程以及说明
1688寻源通API(这里主要指的是跨境寻原通数据接口)的对接流程及说明如下:
|
8月前
|
存储 数据可视化 API
API接口数据获取流程的细化
本文概述了API的基础知识、获取API访问权限的方法、编写代码调用API的步骤、数据处理与分析技巧以及数据安全与合规的重要性,并提供了社交媒体数据分析、天气预报应用和电商数据分析等API数据获取的应用实例,旨在帮助读者全面了解和实践API接口数据获取的流程。