【代码评审】BPM:办理人的逻辑
This commit is contained in:
parent
04fc7404e1
commit
e9a3773b72
|
@ -85,8 +85,8 @@ public class BpmTaskRespVO {
|
||||||
@Schema(description = "是否填写审批意见", example = "false")
|
@Schema(description = "是否填写审批意见", example = "false")
|
||||||
private Boolean reasonRequire;
|
private Boolean reasonRequire;
|
||||||
|
|
||||||
@Schema(description = "节点类型", example = "10") // 只有Simple设计器的场景下才会使用此字段
|
@Schema(description = "节点类型", example = "10")
|
||||||
private Integer nodeType;
|
private Integer nodeType; // 参见 BpmSimpleModelNodeTypeEnum 枚举。
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Schema(description = "流程实例")
|
@Schema(description = "流程实例")
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package cn.iocoder.yudao.module.bpm.framework.flowable.core.enums;
|
package cn.iocoder.yudao.module.bpm.framework.flowable.core.enums;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelTypeEnum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BPMN XML 常量信息
|
* BPMN XML 常量信息
|
||||||
*
|
*
|
||||||
|
@ -131,6 +133,8 @@ public interface BpmnModelConstants {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节点类型
|
* 节点类型
|
||||||
|
*
|
||||||
|
* 目前只有 {@link BpmModelTypeEnum#SIMPLE} 的 UserTask 节点会设置该属性,用于区分是审批节点、还是办理节点
|
||||||
*/
|
*/
|
||||||
String NODE_TYPE = "nodeType";
|
String NODE_TYPE = "nodeType";
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.collection.ListUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
|
import cn.hutool.core.util.ObjUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
@ -326,8 +327,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
|
||||||
ActivityNode activityNode = new ActivityNode().setId(task.getTaskDefinitionKey()).setName(task.getName())
|
ActivityNode activityNode = new ActivityNode().setId(task.getTaskDefinitionKey()).setName(task.getName())
|
||||||
.setNodeType(START_USER_NODE_ID.equals(task.getTaskDefinitionKey())
|
.setNodeType(START_USER_NODE_ID.equals(task.getTaskDefinitionKey())
|
||||||
? BpmSimpleModelNodeTypeEnum.START_USER_NODE.getType()
|
? BpmSimpleModelNodeTypeEnum.START_USER_NODE.getType()
|
||||||
: ObjectUtil.isNull(parseNodeType(flowNode)) ?
|
: ObjUtil.defaultIfNull(parseNodeType(flowNode), // 目的:解决“办理节点”的识别
|
||||||
BpmSimpleModelNodeTypeEnum.APPROVE_NODE.getType() : parseNodeType(flowNode))
|
BpmSimpleModelNodeTypeEnum.APPROVE_NODE.getType()))
|
||||||
.setStatus(FlowableUtils.getTaskStatus(task))
|
.setStatus(FlowableUtils.getTaskStatus(task))
|
||||||
.setCandidateStrategy(BpmnModelUtils.parseCandidateStrategy(flowNode))
|
.setCandidateStrategy(BpmnModelUtils.parseCandidateStrategy(flowNode))
|
||||||
.setStartTime(DateUtils.of(task.getCreateTime())).setEndTime(DateUtils.of(task.getEndTime()))
|
.setStartTime(DateUtils.of(task.getCreateTime())).setEndTime(DateUtils.of(task.getEndTime()))
|
||||||
|
@ -404,8 +405,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
|
||||||
HistoricActivityInstance firstActivity = CollUtil.getFirst(taskActivities); // 取第一个任务,会签/或签的任务,开始时间相同
|
HistoricActivityInstance firstActivity = CollUtil.getFirst(taskActivities); // 取第一个任务,会签/或签的任务,开始时间相同
|
||||||
ActivityNode activityNode = new ActivityNode().setId(firstActivity.getActivityId())
|
ActivityNode activityNode = new ActivityNode().setId(firstActivity.getActivityId())
|
||||||
.setName(firstActivity.getActivityName())
|
.setName(firstActivity.getActivityName())
|
||||||
.setNodeType(ObjectUtil.isNull(parseNodeType(flowNode)) ?
|
.setNodeType(ObjUtil.defaultIfNull(parseNodeType(flowNode), // 目的:解决“办理节点”的识别
|
||||||
BpmSimpleModelNodeTypeEnum.APPROVE_NODE.getType() : parseNodeType(flowNode))
|
BpmSimpleModelNodeTypeEnum.APPROVE_NODE.getType()))
|
||||||
.setStatus(BpmTaskStatusEnum.RUNNING.getStatus())
|
.setStatus(BpmTaskStatusEnum.RUNNING.getStatus())
|
||||||
.setCandidateStrategy(BpmnModelUtils.parseCandidateStrategy(flowNode))
|
.setCandidateStrategy(BpmnModelUtils.parseCandidateStrategy(flowNode))
|
||||||
.setStartTime(DateUtils.of(CollUtil.getFirst(taskActivities).getStartTime()))
|
.setStartTime(DateUtils.of(CollUtil.getFirst(taskActivities).getStartTime()))
|
||||||
|
|
|
@ -171,9 +171,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||||
}
|
}
|
||||||
|
|
||||||
return BpmTaskConvert.INSTANCE.buildTodoTask(todoTask, childrenTasks, buttonsSetting, taskForm)
|
return BpmTaskConvert.INSTANCE.buildTodoTask(todoTask, childrenTasks, buttonsSetting, taskForm)
|
||||||
.setSignEnable(signEnable)
|
.setNodeType(nodeType).setSignEnable(signEnable).setReasonRequire(reasonRequire);
|
||||||
.setReasonRequire(reasonRequire)
|
|
||||||
.setNodeType(nodeType);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue