我有一个流程,审核人同意也能结束这个流程,驳回也可以,我如何拿到是同意结束的还是驳回结束的
BladexCloud最新版
1. 完成任务时传一个流程变量(比如 approveResult = AGREE/REJECT)
2. 用条件连线自动走到不同的结束节点
3. 后面任何地方(历史、业务表、消息推送)都可以通过 approveResult 这个变量精准判断到底是“同意结束”还是“驳回结束”
代码里完成任务时设置变量
// 同意 → 直接结束流程 Mapvariables = new HashMap<>(); variables.put("approveResult", "AGREE"); // 关键这行 taskService.complete(taskId, variables); // 驳回 → 结束流程 Map variables = new HashMap<>(); variables.put("approveResult", "REJECT"); // 关键这行 taskService.complete(taskId, variables);
后面想判断是哪种方式结束的,直接读历史变量就行
String result = (String) historicProcessInstance
.getProcessVariables()
.get("approveResult"); // 结果是 "AGREE" 或 "REJECT"
// 或者用历史变量表查询
List vars = historyService.createHistoricVariableInstanceQuery()
.processInstanceId(processInstanceId)
.variableName("approveResult")
.singleResult();
扫一扫访问 Blade技术社区 移动端