From 3fcb0f61717963f8c6c9996de9f887fbeba121df Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Fri, 18 Apr 2025 18:49:25 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=A4=84=E7=90=86-=E6=AD=A5=E9=AA=A4=E7=9A=84=E5=9B=9E?= =?UTF-8?q?=E5=A4=8D=E5=BF=85=E5=A1=AB=EF=BC=8C=E4=B8=8A=E4=BC=A0=E9=99=84?= =?UTF-8?q?=E4=BB=B6=E7=9B=B4=E6=8E=A5=E5=9B=9E=E5=A4=8D=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=A0=A1=E9=AA=8C=E6=96=87=E6=9C=AC=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1396236794429440]工单处理-步骤的回复必填,上传附件直接回复,没有校验文本必填 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1396236794429440 --- .../mapper/processtask/ProcessTaskMapper.java | 6 +++ .../mapper/processtask/ProcessTaskMapper.xml | 8 ++++ .../service/IProcessStepHandlerUtil.java | 2 +- .../service/ProcessStepHandlerUtil.java | 44 +++++++++++-------- .../thread/ProcessTaskAutomaticThread.java | 9 +++- 5 files changed, 49 insertions(+), 20 deletions(-) diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java index d593dcbee..bc4384504 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java @@ -581,6 +581,12 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { int deleteProcessTaskStepInOperationByProcessTaskId(Long processTaskId); + int deleteProcessTaskStepInOperationByProcessTaskIdAndProcessTaskStepIdAndOperationType( + @Param("processTaskId") Long processTaskId, + @Param("processTaskStepId") Long processTaskStepId, + @Param("operationType") String operationType + ); + int deleteProcessTaskStepInOperationByServerId(Long serverId); int deleteProcessTaskStepWorkerMinorByProcessTaskStepId(Long processTaskStepId); diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml index 66652017c..e30665f5e 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml @@ -4118,6 +4118,14 @@ WHERE `processtask_id` = #{value} + + DELETE + FROM `processtask_step_in_operation` + WHERE `processtask_id` = #{processTaskId} + AND `processtask_step_id` = #{processTaskStepId} + AND `operation_type` = #{operationType} + + DELETE FROM `processtask_step_in_operation` diff --git a/src/main/java/neatlogic/module/process/service/IProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/service/IProcessStepHandlerUtil.java index a63712563..a5df05361 100644 --- a/src/main/java/neatlogic/module/process/service/IProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/service/IProcessStepHandlerUtil.java @@ -163,7 +163,7 @@ public interface IProcessStepHandlerUtil { * 流转操作时检查回复信息是否必填 * @param currentProcessTaskStepVo */ - void checkContentIsRequired(ProcessTaskStepVo currentProcessTaskStepVo); + void checkContentIsRequired(ProcessTaskStepVo currentProcessTaskStepVo, IOperationType operationType); /** * @Description: 保存标签列表 diff --git a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java index cdfc819fe..90767e9b3 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java @@ -656,29 +656,37 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess } @Override - public void checkContentIsRequired(ProcessTaskStepVo currentProcessTaskStepVo) { + public void checkContentIsRequired(ProcessTaskStepVo currentProcessTaskStepVo, IOperationType operationType) { if (Objects.equals(currentProcessTaskStepVo.getIsNeedContent(), 0)) { return; } - if (Objects.equals(currentProcessTaskStepVo.getIsRequired(), 1)) { - JSONObject paramObj = currentProcessTaskStepVo.getParamObj(); - String content = paramObj.getString("content"); - if (StringUtils.isBlank(content)) { - List contentList = processTaskMapper.getProcessTaskStepContentByProcessTaskStepId(currentProcessTaskStepVo.getId()); - if (CollectionUtils.isEmpty(contentList)) { - throw new ProcessTaskStepContentIsEmptyException(); - } - Date startTime = currentProcessTaskStepVo.getStartTime(); - if (startTime != null) { - for (ProcessTaskStepContentVo contentVo : contentList) { - if (startTime.before(contentVo.getLcd())) { - return; - } - } - throw new ProcessTaskStepContentIsEmptyException(); - } + JSONObject paramObj = currentProcessTaskStepVo.getParamObj(); + String content = paramObj.getString("content"); + if (StringUtils.isBlank(content)) { + if (operationType == ProcessTaskStepOperationType.STEP_BACK || Objects.equals(currentProcessTaskStepVo.getIsRequired(), 1)) { + throw new ProcessTaskStepContentIsEmptyException(); } } + +// if (Objects.equals(currentProcessTaskStepVo.getIsRequired(), 1)) { +// JSONObject paramObj = currentProcessTaskStepVo.getParamObj(); +// String content = paramObj.getString("content"); +// if (StringUtils.isBlank(content)) { +// List contentList = processTaskMapper.getProcessTaskStepContentByProcessTaskStepId(currentProcessTaskStepVo.getId()); +// if (CollectionUtils.isEmpty(contentList)) { +// throw new ProcessTaskStepContentIsEmptyException(); +// } +// Date startTime = currentProcessTaskStepVo.getStartTime(); +// if (startTime != null) { +// for (ProcessTaskStepContentVo contentVo : contentList) { +// if (startTime.before(contentVo.getLcd())) { +// return; +// } +// } +// throw new ProcessTaskStepContentIsEmptyException(); +// } +// } +// } } /** diff --git a/src/main/java/neatlogic/module/process/thread/ProcessTaskAutomaticThread.java b/src/main/java/neatlogic/module/process/thread/ProcessTaskAutomaticThread.java index 7c1a1bc81..c7b80e036 100644 --- a/src/main/java/neatlogic/module/process/thread/ProcessTaskAutomaticThread.java +++ b/src/main/java/neatlogic/module/process/thread/ProcessTaskAutomaticThread.java @@ -16,9 +16,11 @@ along with this program. If not, see .*/ package neatlogic.module.process.thread; import neatlogic.framework.asynchronization.thread.NeatLogicThread; -import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; import neatlogic.framework.process.dto.ProcessTaskStepVo; +import neatlogic.module.process.dao.mapper.processtask.ProcessTaskMapper; import neatlogic.module.process.service.ProcessTaskAutomaticService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -30,6 +32,8 @@ import javax.annotation.Resource; @Component public class ProcessTaskAutomaticThread extends NeatLogicThread { + private final static Logger logger = LoggerFactory.getLogger(ProcessTaskAutomaticThread.class); + private static ProcessTaskAutomaticService processTaskAutomaticService; private static ProcessTaskMapper processTaskMapper; private Long processTaskStepInOperationId; @@ -57,7 +61,10 @@ public class ProcessTaskAutomaticThread extends NeatLogicThread { protected void execute() { try { processTaskAutomaticService.firstRequest(currentProcessTaskStepVo); + } catch (Exception e) { + logger.error(e.getMessage(), e); } finally { + processTaskMapper.deleteProcessTaskStepInOperationByProcessTaskIdAndProcessTaskStepIdAndOperationType(currentProcessTaskStepVo.getProcessTaskId(), currentProcessTaskStepVo.getId(), "request"); processTaskMapper.deleteProcessTaskStepInOperationById(processTaskStepInOperationId); } } -- Gitee