From b4e0e6ac8a03b4d163084cccffc0b9a95ec3abb3 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 3 Dec 2025 10:36:22 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=92=8C=E5=B7=A5=E5=8D=95=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=97=B6=E5=A2=9E=E5=8A=A0=E5=AF=B9processtask=5Fstep=5Fin=5Fo?= =?UTF-8?q?peration=E5=88=A0=E9=99=A4=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1563833548636166]步骤完成和工单完成时增加对processtask_step_in_operation删除操作 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1563833548636166 --- .../crossover/IProcessTaskCrossoverMapper.java | 2 ++ .../dto/ProcessTaskStepInOperationVo.java | 16 ++++++++++++++++ .../stephandler/core/ProcessStepHandlerBase.java | 6 ++++++ 3 files changed, 24 insertions(+) diff --git a/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverMapper.java b/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverMapper.java index f9410b92..719d010a 100644 --- a/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverMapper.java +++ b/src/main/java/neatlogic/framework/process/crossover/IProcessTaskCrossoverMapper.java @@ -258,6 +258,8 @@ public interface IProcessTaskCrossoverMapper extends ICrossoverService { @Param("operationType") String operationType ); + int deleteProcessTaskStepInOperationByProcessTaskId(Long processTaskId); + int deleteProcessTaskStepReapprovalRestoreBackupByBackupStepId(Long processTaskStepId); int deleteProcessTaskTimeCostByProcessTaskId(Long processTaskId); diff --git a/src/main/java/neatlogic/framework/process/dto/ProcessTaskStepInOperationVo.java b/src/main/java/neatlogic/framework/process/dto/ProcessTaskStepInOperationVo.java index 2c7e80e3..df27f7b2 100644 --- a/src/main/java/neatlogic/framework/process/dto/ProcessTaskStepInOperationVo.java +++ b/src/main/java/neatlogic/framework/process/dto/ProcessTaskStepInOperationVo.java @@ -1,5 +1,8 @@ package neatlogic.framework.process.dto; +import neatlogic.framework.common.config.Config; +import neatlogic.framework.util.SnowflakeUtil; + import java.util.Date; public class ProcessTaskStepInOperationVo { @@ -9,21 +12,26 @@ public class ProcessTaskStepInOperationVo { private Long processTaskStepId; private String operationType; private Date expireTime; + private Integer serverId; public ProcessTaskStepInOperationVo() { } public ProcessTaskStepInOperationVo(Long processTaskId, Long processTaskStepId, String operationType) { + this.id = SnowflakeUtil.uniqueLong(); this.processTaskId = processTaskId; this.processTaskStepId = processTaskStepId; this.operationType = operationType; //设置数据默认有效时间为6秒 this.expireTime = new Date(System.currentTimeMillis() + 6000); + this.serverId = Config.SCHEDULE_SERVER_ID; } public ProcessTaskStepInOperationVo(Long processTaskId, Long processTaskStepId, String operationType, Date expireTime) { + this.id = SnowflakeUtil.uniqueLong(); this.processTaskId = processTaskId; this.processTaskStepId = processTaskStepId; this.operationType = operationType; this.expireTime = expireTime; + this.serverId = Config.SCHEDULE_SERVER_ID; } public Long getId() { @@ -60,4 +68,12 @@ public class ProcessTaskStepInOperationVo { public void setExpireTime(Date expireTime) { this.expireTime = expireTime; } + + public Integer getServerId() { + return serverId; + } + + public void setServerId(Integer serverId) { + this.serverId = serverId; + } } diff --git a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java index 34c3cf3c..326af417 100644 --- a/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java +++ b/src/main/java/neatlogic/framework/process/stephandler/core/ProcessStepHandlerBase.java @@ -167,6 +167,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler { return 1; } processTaskCrossoverMapper.updateProcessTaskStatus(processTaskVo); + if (Objects.equals(processTaskVo.getStatus(), ProcessTaskStatus.SUCCEED.getValue())) { + processTaskCrossoverMapper.deleteProcessTaskStepInOperationByProcessTaskId(processTaskVo.getId()); + } //如果工单状态为“已完成”、“已取消”、“异常”时,计算工单耗时 if (needCalculateTimeCost) { ProcessTaskVo processTask = processTaskCrossoverMapper.getProcessTaskById(processTaskId); @@ -897,6 +900,9 @@ public abstract class ProcessStepHandlerBase implements IProcessStepHandler { // } IProcessTaskCrossoverMapper processTaskCrossoverMapper = CrossoverServiceFactory.getApi(IProcessTaskCrossoverMapper.class); processTaskCrossoverMapper.updateProcessTaskStepStatus(currentProcessTaskStepVo); + if (Objects.equals(currentProcessTaskStepVo.getStatus(), ProcessTaskStepStatus.SUCCEED.getValue())) { + processTaskCrossoverMapper.deleteProcessTaskStepInOperationByProcessTaskIdAndProcessTaskStepIdAndOperationType(currentProcessTaskStepVo.getProcessTaskId(), currentProcessTaskStepVo.getId(), null); + } updateProcessTaskStatus(currentProcessTaskStepVo.getProcessTaskId()); return 1; } -- Gitee