From 5fc71f87e27b40a3e0b2c92e8c5c7582ca498919 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 6 Mar 2024 11:33:39 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-IT?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1-=E5=AE=A1=E6=89=B9=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=A1=E6=89=B9=E4=BB=BB=E5=8A=A1=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=A0=B9=E6=8D=AE=E7=8A=B6=E6=80=81=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E6=88=96=E5=A4=B1=E8=B4=A5=E8=87=AA=E5=8A=A8=E6=B5=81=E8=BD=AC?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1105056122765312]后端-IT服务-审批节点增加审批任务完成根据状态成功或失败自动流转设置 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1105056122765312 --- .../ProcessTaskNextStepListApi.java | 4 ++-- .../processtask/ProcessTaskStepGetApi.java | 2 +- .../ProcessTaskStepGetBackupApi.java | 2 +- .../ProcessTaskAutomaticServiceImpl.java | 10 ++++---- .../process/service/ProcessTaskService.java | 8 +++---- .../service/ProcessTaskServiceImpl.java | 24 +++++++++++++------ 6 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskNextStepListApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskNextStepListApi.java index bda8fe048..50e57ee9e 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskNextStepListApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskNextStepListApi.java @@ -71,9 +71,9 @@ public class ProcessTaskNextStepListApi extends PrivateApiComponentBase { Map> assignableWorkerStepMap = processTaskService.getAssignableWorkerStepMap(processTaskVo.getCurrentProcessTaskStep()); List nextStepList = null; if (operationType == ProcessTaskOperationType.STEP_COMPLETE) { - nextStepList = processTaskService.getForwardNextStepListByProcessTaskStepId(processTaskStepId); + nextStepList = processTaskService.getForwardNextStepListByProcessTaskStepId(processTaskVo.getCurrentProcessTaskStep()); } else { - nextStepList = processTaskService.getBackwardNextStepListByProcessTaskStepId(processTaskStepId); + nextStepList = processTaskService.getBackwardNextStepListByProcessTaskStepId(processTaskVo.getCurrentProcessTaskStep()); } if (CollectionUtils.isEmpty(nextStepList)) { return nextStepList; diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetApi.java index 9dc3c7d9c..e0060321b 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetApi.java @@ -162,7 +162,7 @@ public class ProcessTaskStepGetApi extends PrivateApiComponentBase { if (processTaskScoreTemplateVo != null) { processTaskVo.setScoreTemplateVo(scoreTemplateMapper.getScoreTemplateById(processTaskScoreTemplateVo.getScoreTemplateId())); ProcessTaskStepVo endProcessTaskStepVo = processTaskMapper.getEndProcessTaskStepByProcessTaskId(processTaskId); - List processTaskStepVoList = processTaskService.getBackwardNextStepListByProcessTaskStepId(endProcessTaskStepVo.getId()); + List processTaskStepVoList = processTaskService.getBackwardNextStepListByProcessTaskStepId(endProcessTaskStepVo); processTaskVo.setRedoStepList(processTaskStepVoList); } } diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetBackupApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetBackupApi.java index ba32c1f42..cbdce2afa 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetBackupApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskStepGetBackupApi.java @@ -116,7 +116,7 @@ public class ProcessTaskStepGetBackupApi extends PrivateApiComponentBase { if (processTaskScoreTemplateVo != null) { processTaskVo.setScoreTemplateVo(scoreTemplateMapper.getScoreTemplateById(processTaskScoreTemplateVo.getScoreTemplateId())); ProcessTaskStepVo endProcessTaskStepVo = processTaskMapper.getEndProcessTaskStepByProcessTaskId(processTaskId); - List processTaskStepVoList = processTaskService.getBackwardNextStepListByProcessTaskStepId(endProcessTaskStepVo.getId()); + List processTaskStepVoList = processTaskService.getBackwardNextStepListByProcessTaskStepId(endProcessTaskStepVo); processTaskVo.setRedoStepList(processTaskStepVoList); } } diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java index ab2e2fcda..117266533 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskAutomaticServiceImpl.java @@ -16,7 +16,9 @@ limitations under the License. package neatlogic.module.process.service; -import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSONPath; import neatlogic.framework.asynchronization.threadlocal.TenantContext; import neatlogic.framework.common.constvalue.SystemUser; import neatlogic.framework.exception.integration.IntegrationHandlerNotFoundException; @@ -49,10 +51,6 @@ import neatlogic.framework.scheduler.exception.ScheduleHandlerNotFoundException; import neatlogic.framework.util.ConditionUtil; import neatlogic.framework.util.FreemarkerUtil; import neatlogic.module.process.schedule.plugin.ProcessTaskAutomaticJob; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.JSONPath; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; @@ -745,7 +743,7 @@ public class ProcessTaskAutomaticServiceImpl implements ProcessTaskAutomaticServ IProcessStepHandler processHandler = ProcessStepHandlerFactory.getHandler(currentProcessTaskStepVo.getHandler()); if (FailPolicy.BACK.getValue().equals(automaticConfigVo.getBaseFailPolicy())) { List backStepList = - processTaskService.getBackwardNextStepListByProcessTaskStepId(currentProcessTaskStepVo.getId()); + processTaskService.getBackwardNextStepListByProcessTaskStepId(currentProcessTaskStepVo); if (backStepList.size() == 1) { ProcessTaskStepVo nextProcessTaskStepVo = backStepList.get(0); if (processHandler != null) { diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskService.java b/src/main/java/neatlogic/module/process/service/ProcessTaskService.java index 1329641f9..ba3166730 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskService.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskService.java @@ -123,22 +123,22 @@ public interface ProcessTaskService { void setNextStepList(ProcessTaskStepVo processTaskStepVo); /** - * @param processTaskStepId 步骤id + * @param processTaskStepVo 步骤id * @return List * @Author: linbq * @Time:2020年9月23日 * @Description: 获取前进步骤列表 */ - public List getForwardNextStepListByProcessTaskStepId(Long processTaskStepId); + public List getForwardNextStepListByProcessTaskStepId(ProcessTaskStepVo processTaskStepVo); /** - * @param processTaskStepId 步骤id + * @param processTaskStepVo 步骤id * @return List * @Author: linbq * @Time:2020年9月23日 * @Description: 获取回退步骤列表 */ - public List getBackwardNextStepListByProcessTaskStepId(Long processTaskStepId); + public List getBackwardNextStepListByProcessTaskStepId(ProcessTaskStepVo processTaskStepVo); /** * @param processTaskStepVo diff --git a/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java index 52a709c77..685a5f23b 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessTaskServiceImpl.java @@ -746,7 +746,11 @@ public class ProcessTaskServiceImpl implements ProcessTaskService, IProcessTaskC Map> assignableWorkerStepMap = getAssignableWorkerStepMap(processTaskStepVo); List forwardNextStepList = new ArrayList<>(); List backwardNextStepList = new ArrayList<>(); - List nextStepList = processTaskMapper.getToProcessTaskStepByFromIdAndType(processTaskStepVo.getId(), null); + IProcessStepInternalHandler handler = ProcessStepInternalHandlerFactory.getHandler(processTaskStepVo.getHandler()); + if (handler == null) { + throw new ProcessStepUtilHandlerNotFoundException(processTaskStepVo.getHandler()); + } + List nextStepList = handler.getNextStepList(processTaskStepVo, null); for (ProcessTaskStepVo processTaskStep : nextStepList) { List assignableWorkerStepList = assignableWorkerStepMap.get(processTaskStep.getId()); if (CollectionUtils.isNotEmpty(assignableWorkerStepList)) { @@ -767,10 +771,13 @@ public class ProcessTaskServiceImpl implements ProcessTaskService, IProcessTaskC } @Override - public List getForwardNextStepListByProcessTaskStepId(Long processTaskStepId) { + public List getForwardNextStepListByProcessTaskStepId(ProcessTaskStepVo processTaskStepVo) { List resultList = new ArrayList<>(); - List nextStepList = processTaskMapper.getToProcessTaskStepByFromIdAndType(processTaskStepId, - ProcessFlowDirection.FORWARD.getValue()); + IProcessStepInternalHandler handler = ProcessStepInternalHandlerFactory.getHandler(processTaskStepVo.getHandler()); + if (handler == null) { + throw new ProcessStepUtilHandlerNotFoundException(processTaskStepVo.getHandler()); + } + List nextStepList = handler.getNextStepList(processTaskStepVo, ProcessFlowDirection.FORWARD); for (ProcessTaskStepVo processTaskStep : nextStepList) { if (StringUtils.isNotBlank(processTaskStep.getAliasName())) { processTaskStep.setName(processTaskStep.getAliasName()); @@ -784,10 +791,13 @@ public class ProcessTaskServiceImpl implements ProcessTaskService, IProcessTaskC } @Override - public List getBackwardNextStepListByProcessTaskStepId(Long processTaskStepId) { + public List getBackwardNextStepListByProcessTaskStepId(ProcessTaskStepVo processTaskStepVo) { List resultList = new ArrayList<>(); - List nextStepList = processTaskMapper.getToProcessTaskStepByFromIdAndType(processTaskStepId, - ProcessFlowDirection.BACKWARD.getValue()); + IProcessStepInternalHandler handler = ProcessStepInternalHandlerFactory.getHandler(processTaskStepVo.getHandler()); + if (handler == null) { + throw new ProcessStepUtilHandlerNotFoundException(processTaskStepVo.getHandler()); + } + List nextStepList = handler.getNextStepList(processTaskStepVo, ProcessFlowDirection.BACKWARD); for (ProcessTaskStepVo processTaskStep : nextStepList) { if (!Objects.equals(processTaskStep.getIsActive(), 0)) { if (StringUtils.isNotBlank(processTaskStep.getAliasName())) { -- Gitee