diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessGetApi.java b/src/main/java/neatlogic/module/process/api/process/ProcessGetApi.java index ae3b1152a29cd111559c0e0e2004b2ecc67cee89..42d52bbdbfb3f448a16c11aeeb19fc09752d894b 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessGetApi.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessGetApi.java @@ -1,5 +1,6 @@ package neatlogic.module.process.api.process; +import neatlogic.framework.process.stephandler.core.ProcessMessageManager; import neatlogic.framework.process.util.ProcessConfigUtil; import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.annotation.*; @@ -55,6 +56,7 @@ public class ProcessGetApi extends PrivateApiComponentBase { if (processVo == null) { throw new ProcessNotFoundEditTargetException(uuid); } + ProcessMessageManager.setOperationType(OperationTypeEnum.SEARCH); processVo.setConfig(ProcessConfigUtil.regulateProcessConfig(processVo.getConfig())); int count = processMapper.getProcessReferenceCount(uuid); processVo.setReferenceCount(count); diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessSaveApi.java b/src/main/java/neatlogic/module/process/api/process/ProcessSaveApi.java index 6faf59e0d82bd911fac2bdae980ac3f93e6c9c09..262eadc5973966e95622bda65775f43efad4006c 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessSaveApi.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessSaveApi.java @@ -6,6 +6,7 @@ import neatlogic.framework.dto.FieldValidResultVo; import neatlogic.framework.process.auth.PROCESS_MODIFY; import neatlogic.framework.process.dto.ProcessVo; import neatlogic.framework.process.exception.process.ProcessNameRepeatException; +import neatlogic.framework.process.stephandler.core.ProcessMessageManager; import neatlogic.framework.process.util.ProcessConfigUtil; import neatlogic.framework.restful.annotation.*; import neatlogic.framework.restful.constvalue.OperationTypeEnum; @@ -60,6 +61,7 @@ public class ProcessSaveApi extends PrivateApiComponentBase { @Description(desc = "流程保存接口") public Object myDoService(JSONObject jsonObj) throws Exception { ProcessVo processVo = JSON.toJavaObject(jsonObj, ProcessVo.class); + ProcessMessageManager.setOperationType(OperationTypeEnum.UPDATE); processVo.setConfig(ProcessConfigUtil.regulateProcessConfig(processVo.getConfig())); processVo.makeupConfigObj(); processService.saveProcess(processVo); diff --git a/src/main/java/neatlogic/module/process/stephandler/regulatehandler/MoveonConfigListRegulateHandler.java b/src/main/java/neatlogic/module/process/stephandler/regulatehandler/MoveonConfigListRegulateHandler.java index 62b46f872dc85ac5a28bb33809e42cc59ce75d5f..ddde1b7428b2d7b75a783df4e78cf0865fc5f27e 100644 --- a/src/main/java/neatlogic/module/process/stephandler/regulatehandler/MoveonConfigListRegulateHandler.java +++ b/src/main/java/neatlogic/module/process/stephandler/regulatehandler/MoveonConfigListRegulateHandler.java @@ -24,6 +24,7 @@ import neatlogic.framework.process.exception.process.ProcessConfigException; import neatlogic.framework.process.stephandler.core.IProcessStepInternalHandler; import neatlogic.framework.process.stephandler.core.IRegulateHandler; import neatlogic.framework.process.stephandler.core.ProcessMessageManager; +import neatlogic.framework.restful.constvalue.OperationTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.springframework.stereotype.Service; @@ -53,7 +54,7 @@ public class MoveonConfigListRegulateHandler implements IRegulateHandler { List targetStepList = moveonConfigVo.getTargetStepList(); if (CollectionUtils.isNotEmpty(targetStepList)) { List list = ListUtils.removeAll(targetStepList, effectiveStepUuidList); - if (CollectionUtils.isNotEmpty(list)) { + if (CollectionUtils.isNotEmpty(list) && ProcessMessageManager.getOperationType() == OperationTypeEnum.UPDATE) { throw new ProcessConfigException(ProcessConfigException.Type.CONDITION, ProcessMessageManager.getStepName()); } } diff --git a/src/main/java/neatlogic/module/process/stephandler/regulatehandler/SlaListRegulateHandler.java b/src/main/java/neatlogic/module/process/stephandler/regulatehandler/SlaListRegulateHandler.java index dba4e6743b67a7e02d1b35a6a058a5135b16b001..5d98f7e8cb32f6308d45851788b8fe497817c099 100644 --- a/src/main/java/neatlogic/module/process/stephandler/regulatehandler/SlaListRegulateHandler.java +++ b/src/main/java/neatlogic/module/process/stephandler/regulatehandler/SlaListRegulateHandler.java @@ -26,6 +26,7 @@ import neatlogic.framework.process.exception.process.ProcessConfigException; import neatlogic.framework.process.stephandler.core.IProcessStepInternalHandler; import neatlogic.framework.process.stephandler.core.IRegulateHandler; import neatlogic.framework.process.stephandler.core.ProcessMessageManager; +import neatlogic.framework.restful.constvalue.OperationTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.MapUtils; @@ -61,7 +62,7 @@ public class SlaListRegulateHandler implements IRegulateHandler { processStepUuidList.removeIf(Objects::isNull); } List list = ListUtils.removeAll(processStepUuidList, effectiveStepUuidList); - if (CollectionUtils.isNotEmpty(list)) { + if (CollectionUtils.isNotEmpty(list) && ProcessMessageManager.getOperationType() == OperationTypeEnum.UPDATE) { throw new ProcessConfigException(ProcessConfigException.Type.SLA, slaName); } slaObj.put("processStepUuidList", processStepUuidList);