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 c4e417789..641e51c4e 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 @@ -38,6 +38,7 @@ import org.dromara.warm.flow.core.enums.UserType; import org.dromara.warm.flow.core.service.*; import org.dromara.warm.flow.core.utils.ExpressionUtil; import org.dromara.warm.flow.core.utils.MapUtil; +import org.dromara.warm.flow.core.constant.ExceptionCons; import org.dromara.warm.flow.orm.entity.*; import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper; import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper; @@ -46,6 +47,7 @@ import org.dromara.warm.flow.orm.mapper.FlowTaskMapper; import org.dromara.workflow.common.ConditionalOnEnable; import org.dromara.workflow.common.enums.TaskAssigneeType; import org.dromara.workflow.common.enums.TaskOperationEnum; +import org.dromara.warm.flow.core.exception.FlowException; import org.dromara.workflow.common.enums.TaskStatusEnum; import org.dromara.workflow.domain.FlowInstanceBizExt; import org.dromara.workflow.domain.bo.*; @@ -564,8 +566,11 @@ public class FlwTaskServiceImpl implements IFlwTaskService { try { List temp = nodeService.getNextNodeList(instance.getDefinitionId(), startNode.getNodeCode(), null, SkipType.PASS.getKey(), instance.getVariableMap()); getBackTaskNodes(nodes, instance, temp); - }catch(Exception e){ -// log.info(); + }catch(FlowException e){ + // 仅放行条件缺失异常 + if(!ExceptionCons.NULL_CONDITION_VALUE.equals(e.getMessage())){ + throw e; + } } } }