Commit ef296822304ec8785e46243e7d3992e6498a6323
1 parent
7cf55c53
feat: 添加节点类型以区分不同节点
Showing
3 changed files
with
10 additions
and
3 deletions
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
| ... | ... | @@ -85,6 +85,9 @@ public class BpmTaskRespVO { |
| 85 | 85 | @Schema(description = "是否填写审批意见", example = "false") |
| 86 | 86 | private Boolean reasonRequire; |
| 87 | 87 | |
| 88 | + @Schema(description = "节点类型", example = "10") | |
| 89 | + private Integer nodeType; | |
| 90 | + | |
| 88 | 91 | @Data |
| 89 | 92 | @Schema(description = "流程实例") |
| 90 | 93 | public static class ProcessInstance { | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
| ... | ... | @@ -326,7 +326,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 326 | 326 | ActivityNode activityNode = new ActivityNode().setId(task.getTaskDefinitionKey()).setName(task.getName()) |
| 327 | 327 | .setNodeType(START_USER_NODE_ID.equals(task.getTaskDefinitionKey()) |
| 328 | 328 | ? BpmSimpleModelNodeTypeEnum.START_USER_NODE.getType() |
| 329 | - : parseNodeType(flowNode)) | |
| 329 | + : ObjectUtil.isNull(parseNodeType(flowNode)) ? | |
| 330 | + BpmSimpleModelNodeTypeEnum.APPROVE_NODE.getType() : parseNodeType(flowNode)) | |
| 330 | 331 | .setStatus(FlowableUtils.getTaskStatus(task)) |
| 331 | 332 | .setCandidateStrategy(BpmnModelUtils.parseCandidateStrategy(flowNode)) |
| 332 | 333 | .setStartTime(DateUtils.of(task.getCreateTime())).setEndTime(DateUtils.of(task.getEndTime())) |
| ... | ... | @@ -403,7 +404,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 403 | 404 | HistoricActivityInstance firstActivity = CollUtil.getFirst(taskActivities); // 取第一个任务,会签/或签的任务,开始时间相同 |
| 404 | 405 | ActivityNode activityNode = new ActivityNode().setId(firstActivity.getActivityId()) |
| 405 | 406 | .setName(firstActivity.getActivityName()) |
| 406 | - .setNodeType(parseNodeType(flowNode)) | |
| 407 | + .setNodeType(ObjectUtil.isNull(parseNodeType(flowNode)) ? | |
| 408 | + BpmSimpleModelNodeTypeEnum.APPROVE_NODE.getType() : parseNodeType(flowNode)) | |
| 407 | 409 | .setStatus(BpmTaskStatusEnum.RUNNING.getStatus()) |
| 408 | 410 | .setCandidateStrategy(BpmnModelUtils.parseCandidateStrategy(flowNode)) |
| 409 | 411 | .setStartTime(DateUtils.of(CollUtil.getFirst(taskActivities).getStartTime())) | ... | ... |
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
| ... | ... | @@ -162,6 +162,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 162 | 162 | bpmnModel, todoTask.getTaskDefinitionKey()); |
| 163 | 163 | Boolean signEnable = parseSignEnable(bpmnModel, todoTask.getTaskDefinitionKey()); |
| 164 | 164 | Boolean reasonRequire = parseReasonRequire(bpmnModel, todoTask.getTaskDefinitionKey()); |
| 165 | + Integer nodeType = parseNodeType(BpmnModelUtils.getFlowElementById(bpmnModel, todoTask.getTaskDefinitionKey())); | |
| 165 | 166 | |
| 166 | 167 | // 4. 任务表单 |
| 167 | 168 | BpmFormDO taskForm = null; |
| ... | ... | @@ -171,7 +172,8 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 171 | 172 | |
| 172 | 173 | return BpmTaskConvert.INSTANCE.buildTodoTask(todoTask, childrenTasks, buttonsSetting, taskForm) |
| 173 | 174 | .setSignEnable(signEnable) |
| 174 | - .setReasonRequire(reasonRequire); | |
| 175 | + .setReasonRequire(reasonRequire) | |
| 176 | + .setNodeType(nodeType); | |
| 175 | 177 | } |
| 176 | 178 | |
| 177 | 179 | @Override | ... | ... |