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 d593dcbee714ca16736a285ff8b7b1c7fd804ae5..bc4384504d19f23c4258c33996a13dbb8098690e 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 66652017ce68860c75f20d2486b8c69858533fd1..e30665f5e5bef58079a24594cc12b241f6d4c7e1 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 a637125632f74af475b999b3ab33abc19658e1ae..a5df05361c30f17fcc32e6bb813389fdb0ba725a 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 cdfc819fe642755225e535e83f8524ce30222574..90767e9b355825de5682ab47ec0c45b58ec0c3c0 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 7c1a1bc814e8be37fd9c02b05ec41f28b0390792..c7b80e036af89b91d89efb554caebd6ded7530fc 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);
}
}