Commit ef296822304ec8785e46243e7d3992e6498a6323

Authored by Lesan
1 parent 7cf55c53

feat: 添加节点类型以区分不同节点

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
... ...