diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java index 5f7b0b622..e60cd0b54 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java @@ -7,6 +7,7 @@ import org.dromara.warm.flow.core.entity.User; import java.io.Serial; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -116,7 +117,7 @@ public class FlowTaskVo implements Serializable { /** * 流程状态 */ - @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "flowStatus",other = "wf_business_status") + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "flowStatus", other = "wf_business_status") private String flowStatusName; /** @@ -134,4 +135,9 @@ public class FlowTaskVo implements Serializable { * 办理人类型 */ private String type; + + /** + * 流程签署比例值 大于0为票签,会签 + */ + private BigDecimal nodeRatio; } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 849db5265..51f6501ac 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -77,6 +77,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { private final DefService defService; private final HisTaskService hisTaskService; private final IdentifierGenerator identifierGenerator; + private final NodeService nodeService; /** * 启动任务 @@ -341,7 +342,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { throw new ServiceException("任务不存在!"); } Long definitionId = flowTasks.get(0).getDefinitionId(); - Definition definition = defService.getById(definitionId); List flowSkips = flowSkipMapper.selectList(new LambdaQueryWrapper<>(FlowSkip.class).eq(FlowSkip::getDefinitionId, definitionId)); FlowSkip flowSkip = StreamUtils.findFirst(flowSkips, e -> NodeType.START.getKey().equals(e.getNowNodeType())); //开始节点的下一节点 @@ -472,6 +472,11 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { FlowTaskVo flowTaskVo = BeanUtil.toBean(task, FlowTaskVo.class); Instance instance = insService.getById(task.getInstanceId()); flowTaskVo.setFlowStatus(instance.getFlowStatus()); + List nodeList = nodeService.getByNodeCodes(Collections.singletonList(flowTaskVo.getNodeCode()), instance.getDefinitionId()); + if (CollUtil.isNotEmpty(nodeList)) { + Node node = nodeList.get(0); + flowTaskVo.setNodeRatio(node.getNodeRatio()); + } return flowTaskVo; }