Commit e07fb6c8fe31e9cde0fd8a1cf46a5db3e1b01f55
1 parent
1e271f52
review:【bpm 工作流】usertask 的跳过表达式
Showing
4 changed files
with
10 additions
and
8 deletions
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/core/handler/GlobalExceptionHandler.java
| ... | ... | @@ -171,15 +171,15 @@ public class GlobalExceptionHandler { |
| 171 | 171 | /** |
| 172 | 172 | * 处理 SpringMVC 请求参数类型错误 |
| 173 | 173 | * |
| 174 | - * 例如说,接口上设置了 @RequestBody实体中 xx 属性类型为 Integer,结果传递 xx 参数类型为 String | |
| 174 | + * 例如说,接口上设置了 @RequestBody 实体中 xx 属性类型为 Integer,结果传递 xx 参数类型为 String | |
| 175 | 175 | */ |
| 176 | 176 | @ExceptionHandler(HttpMessageNotReadableException.class) |
| 177 | 177 | public CommonResult<?> methodArgumentTypeInvalidFormatExceptionHandler(HttpMessageNotReadableException ex) { |
| 178 | 178 | log.warn("[methodArgumentTypeInvalidFormatExceptionHandler]", ex); |
| 179 | - if(ex.getCause() instanceof InvalidFormatException) { | |
| 179 | + if (ex.getCause() instanceof InvalidFormatException) { | |
| 180 | 180 | InvalidFormatException invalidFormatException = (InvalidFormatException) ex.getCause(); |
| 181 | 181 | return CommonResult.error(BAD_REQUEST.getCode(), String.format("请求参数类型错误:%s", invalidFormatException.getValue())); |
| 182 | - }else { | |
| 182 | + } else { | |
| 183 | 183 | return defaultExceptionHandler(ServletUtils.getRequest(), ex); |
| 184 | 184 | } |
| 185 | 185 | } | ... | ... |
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/enums/task/BpmTaskStatusEnum.java
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java
| ... | ... | @@ -471,8 +471,6 @@ public class SimpleModelUtils { |
| 471 | 471 | return userTask; |
| 472 | 472 | } |
| 473 | 473 | |
| 474 | - | |
| 475 | - | |
| 476 | 474 | private void addUserTaskListener(BpmSimpleModelNodeVO node, UserTask userTask) { |
| 477 | 475 | List<FlowableListener> flowableListeners = new ArrayList<>(3); |
| 478 | 476 | if (node.getTaskCreateListener() != null |
| ... | ... | @@ -1021,7 +1019,7 @@ public class SimpleModelUtils { |
| 1021 | 1019 | } |
| 1022 | 1020 | |
| 1023 | 1021 | /** |
| 1024 | - * 根据跳过表达式,判断是否跳过此节点。 | |
| 1022 | + * 根据跳过表达式,判断是否跳过此节点 | |
| 1025 | 1023 | */ |
| 1026 | 1024 | public static boolean isSkipNode(BpmSimpleModelNodeVO currentNode, Map<String, Object> variables) { |
| 1027 | 1025 | if (StrUtil.isEmpty(currentNode.getSkipExpression())) { | ... | ... |
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
| ... | ... | @@ -462,13 +462,16 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 462 | 462 | return approvalNodes; |
| 463 | 463 | } |
| 464 | 464 | |
| 465 | - | |
| 466 | 465 | /** |
| 467 | 466 | * 获取结束节点的状态 |
| 468 | 467 | */ |
| 469 | 468 | private Integer getEndActivityNodeStatus(HistoricTaskInstance task) { |
| 470 | 469 | Integer status = FlowableUtils.getTaskStatus(task); |
| 471 | - return status == null ? BpmTaskStatusEnum.SKIP.getStatus() : status; // 结束节点未获取到状态,为跳过状态 | |
| 470 | + if (status != null) { | |
| 471 | + return status; | |
| 472 | + } | |
| 473 | + // 结束节点未获取到状态,为跳过状态。可见 bpmn 或者 simple 的 skipExpression | |
| 474 | + return BpmTaskStatusEnum.SKIP.getStatus(); | |
| 472 | 475 | } |
| 473 | 476 | |
| 474 | 477 | /** | ... | ... |