diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/task/BpmnTaskDelegateAssigner.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/task/BpmnTaskDelegateAssigner.java index 153ddedb1..6243c4a06 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/task/BpmnTaskDelegateAssigner.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/request/bpmn/task/BpmnTaskDelegateAssigner.java @@ -107,6 +107,10 @@ public class BpmnTaskDelegateAssigner implements Serializable { * @since 1.3.0 版本起, 使用 ouId + personId 作为审批人唯一标识 */ public final String buildAssigneeId() { + if (Objects.equals(personId, "system")) { + // 特殊逻辑,用于服务内部系统驳回、拒绝时的特殊处理 + return personId; + } if (StringUtils.hasLength(ouId)) { return ouId + "|" + personId; } else { @@ -114,6 +118,12 @@ public class BpmnTaskDelegateAssigner implements Serializable { } } + public BpmnTaskDelegateAssigner(String assignerName, String personId, String tenantId) { + this.assignerName = assignerName; + this.personId = personId; + this.tenantId = tenantId; + } + public final boolean comparePersonIdToOther(BpmnTaskDelegateAssigner other) { return Objects.equals(personId, other.getPersonId()); }