diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/NodeInfo.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/NodeInfo.java new file mode 100644 index 000000000..6f0b430f3 --- /dev/null +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/NodeInfo.java @@ -0,0 +1,34 @@ +package cn.axzo.workflow.common.model.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 岗位信息 + * + * @author wangli + * @since 2025-06-23 19:35 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = true) +public class NodeInfo implements Serializable { + + private static final long serialVersionUID = -6092011348559752255L; + /** + * 岗位名称 + */ + private Long nodeId; + + /** + * 岗位编码 + */ + private String nodeName; +} diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/OrgSnapshotInfo.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/OrgSnapshotInfo.java index 3a176e6f8..dae9af37b 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/OrgSnapshotInfo.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/dto/OrgSnapshotInfo.java @@ -58,9 +58,10 @@ public class OrgSnapshotInfo implements Serializable { */ private String topNodeId; - private Long nodeId; - - private String nodeName; + /** + * 部门快照信息集合 + */ + private List nodeInfos; /** * 岗位快照信息集合 diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/engine/ext/listener/TaskEntityEventHandle.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/engine/ext/listener/TaskEntityEventHandle.java index 12fde774c..8795f6425 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/engine/ext/listener/TaskEntityEventHandle.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/engine/ext/listener/TaskEntityEventHandle.java @@ -13,6 +13,7 @@ import cn.axzo.workflow.common.enums.BpmnFlowNodeMode; import cn.axzo.workflow.common.enums.BpmnFlowNodeType; import cn.axzo.workflow.common.enums.SignApproverOrgLimitEnum; import cn.axzo.workflow.common.model.dto.JobInfo; +import cn.axzo.workflow.common.model.dto.NodeInfo; import cn.axzo.workflow.common.model.dto.OrgSnapshotInfo; import cn.axzo.workflow.common.model.dto.OrgStructureSnapshotInfo; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; @@ -185,8 +186,14 @@ public class TaskEntityEventHandle implements EntityEventHandle { .ouName(firstNodeUser.getCooperateShip().getOrganizationalUnitName()) .ouId(String.valueOf(firstNodeUser.getCooperateShip().getOrganizationalUnitId())) .topNodeId(String.valueOf(firstNodeUser.getTopNodeId())) - .nodeId(Objects.nonNull(firstNodeUser.getNode()) ? firstNodeUser.getNode().getId() : 0) - .nodeName(Objects.nonNull(firstNodeUser.getNode()) ? firstNodeUser.getNode().getNodeName() : "") + .nodeInfos(ListUtils.emptyIfNull(nodeUsers).stream() + .filter(i -> Objects.nonNull(i.getNode())) + .map(i -> NodeInfo.builder() + .nodeId(i.getNode().getId()) + .nodeName(i.getNode().getNodeName()) + .build()) + .collect(Collectors.toList()) + ) .jobInfos(ListUtils.emptyIfNull(nodeUsers).stream() .filter(i -> Objects.nonNull(i.getJob())) .map(i -> JobInfo.builder()