diff --git a/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverService.java b/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverService.java index 49f48f7c30dbc6a05acf6c098f747fca57ded2d0..1791d51aa64079df8c98786736f186fbcf4a9a89 100644 --- a/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverService.java +++ b/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverService.java @@ -86,9 +86,9 @@ public interface IProcessTaskCrossoverService extends ICrossoverService { */ void setNextStepList(ProcessTaskStepVo processTaskStepVo); - List getForwardNextStepListByProcessTaskStepId(Long processTaskStepId); + List getForwardNextStepListByProcessTaskStepId(ProcessTaskStepVo processTaskStepVo); - List getBackwardNextStepListByProcessTaskStepId(Long processTaskStepId); + List getBackwardNextStepListByProcessTaskStepId(ProcessTaskStepVo processTaskStepVo); /** * 检查工单状态,如果processTaskStatus属于status其中一员,则返回对应的异常对象,否则返回null diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java index 78c30839e1064cfc01433272e4db4e8a570f3471..a5991747a4b1c1b99abb31a55309670e261f76cd 100644 --- a/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java +++ b/src/main/java/neatlogic/framework/process/stephandler/core/IProcessStepInternalHandler.java @@ -1,6 +1,7 @@ package neatlogic.framework.process.stephandler.core; import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.process.constvalue.ProcessFlowDirection; import neatlogic.framework.process.dto.ProcessStepVo; import neatlogic.framework.process.dto.ProcessTaskStepInOperationVo; import neatlogic.framework.process.dto.ProcessTaskStepVo; @@ -173,4 +174,11 @@ public interface IProcessStepInternalHandler { default List getFileIdList(ProcessTaskStepVo currentProcessTaskStepVo) { return new ArrayList<>(); } + + /** + * 获取可流转步骤列表 + * @param currentProcessTaskStepVo + * @return + */ + List getNextStepList(ProcessTaskStepVo currentProcessTaskStepVo, ProcessFlowDirection processFlowDirection); } diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepInternalHandlerBase.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepInternalHandlerBase.java index 271d869e46f52fcaa7d51b27fb1b0fe4ab1b5823..a76d3d540c064cd79396b6a24fa07f78617ac080 100644 --- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepInternalHandlerBase.java +++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepInternalHandlerBase.java @@ -4,6 +4,7 @@ import neatlogic.framework.common.constvalue.GroupSearch; import neatlogic.framework.dao.mapper.TeamMapper; import neatlogic.framework.dao.mapper.UserMapper; import neatlogic.framework.file.dao.mapper.FileMapper; +import neatlogic.framework.process.constvalue.ProcessFlowDirection; import neatlogic.framework.process.constvalue.ProcessTaskStepTaskUserStatus; import neatlogic.framework.process.constvalue.ProcessTaskStepUserStatus; import neatlogic.framework.process.constvalue.ProcessUserType; @@ -277,4 +278,13 @@ public abstract class ProcessStepInternalHandlerBase implements IProcessStepInte } } } + + @Override + public List getNextStepList(ProcessTaskStepVo processTaskStepVo, ProcessFlowDirection processFlowDirection) { + String type = null; + if (processFlowDirection != null) { + type = processFlowDirection.getValue(); + } + return processTaskMapper.getToProcessTaskStepByFromIdAndType(processTaskStepVo.getId(), type); + } }