diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessCopyApi.java b/src/main/java/neatlogic/module/process/api/process/ProcessCopyApi.java index f05dc2457e8c403fce2716df9c23a19a9ff415a4..e25c3e956bf2907cc778f5030a0c54f5f7009b27 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessCopyApi.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessCopyApi.java @@ -17,6 +17,7 @@ import neatlogic.framework.restful.constvalue.OperationTypeEnum; import neatlogic.framework.restful.core.IValid; import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase; import neatlogic.framework.util.RegexUtils; +import neatlogic.framework.util.UuidUtil; import neatlogic.module.process.dao.mapper.process.ProcessMapper; import neatlogic.module.process.service.ProcessService; import org.springframework.stereotype.Service; @@ -24,7 +25,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; -import java.util.UUID; @Service @Transactional @@ -75,29 +75,29 @@ public class ProcessCopyApi extends PrivateApiComponentBase { throw new ProcessNameRepeatException(name); } - String newUuid = processVo.getUuid(); - String config = processVo.getConfigStr(); - config = config.replace(uuid, newUuid); + String newUuid = UuidUtil.randomUuid(); + String configStr = processVo.getConfigStr(); + configStr = configStr.replace(uuid, newUuid); ProcessStepVo processStepVo = new ProcessStepVo(); processStepVo.setProcessUuid(uuid); List processStepList = processMapper.searchProcessStep(processStepVo); for (ProcessStepVo processStep : processStepList) { - String newStepUuid = UUID.randomUUID().toString().replace("-", ""); - config = config.replace(processStep.getUuid(), newStepUuid); + String newStepUuid = UuidUtil.randomUuid(); + configStr = configStr.replace(processStep.getUuid(), newStepUuid); } List processStepRelList = processMapper.getProcessStepRelByProcessUuid(uuid); for (ProcessStepRelVo processStepRel : processStepRelList) { - String newRelUuid = UUID.randomUUID().toString().replace("-", ""); - config = config.replace(processStepRel.getUuid(), newRelUuid); + String newRelUuid = UuidUtil.randomUuid(); + configStr = configStr.replace(processStepRel.getUuid(), newRelUuid); } List processSlaList = processMapper.getProcessSlaByProcessUuid(uuid); for (ProcessSlaVo processSla : processSlaList) { - String newSlaUuid = UUID.randomUUID().toString().replace("-", ""); - config = config.replace(processSla.getUuid(), newSlaUuid); + String newSlaUuid = UuidUtil.randomUuid(); + configStr = configStr.replace(processSla.getUuid(), newSlaUuid); } + JSONObject config = JSON.parseObject(configStr); processVo.setConfig(config); - processVo.makeupConfigObj(); processService.saveProcess(processVo); processVo.setConfig(null); return processVo; diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessDeleteApi.java b/src/main/java/neatlogic/module/process/api/process/ProcessDeleteApi.java index 1dc2be25254cc219be83584b8e28fe636c6b2213..02d875df88ec770c4ed861368e1240dd71bef991 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessDeleteApi.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessDeleteApi.java @@ -5,6 +5,7 @@ import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.common.constvalue.ApiParamType; import neatlogic.framework.process.auth.PROCESS_MODIFY; import neatlogic.framework.process.dto.ProcessDraftVo; +import neatlogic.framework.process.dto.ProcessVo; import neatlogic.framework.process.exception.process.ProcessNotFoundException; import neatlogic.framework.process.exception.process.ProcessReferencedCannotBeDeleteException; import neatlogic.framework.restful.annotation.*; @@ -54,13 +55,14 @@ public class ProcessDeleteApi extends PrivateApiComponentBase { @Override public Object myDoService(JSONObject jsonObj) throws Exception { String uuid = jsonObj.getString("uuid"); - if(processMapper.checkProcessIsExists(uuid) == 0) { + ProcessVo oldProcessVo = processMapper.getProcessByUuid(uuid); + if(oldProcessVo == null) { throw new ProcessNotFoundException(uuid); } if(processMapper.getProcessReferenceCount(uuid) > 0) { throw new ProcessReferencedCannotBeDeleteException(uuid); } - processService.deleteProcessRelevantData(uuid); + processService.saveOrDeleteProcessDependency(oldProcessVo, "delete"); processMapper.deleteProcessByUuid(uuid); ProcessDraftVo processDraftVo = new ProcessDraftVo(); processDraftVo.setProcessUuid(uuid); 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 f83fe676a9b5ca5261ea3d9708b45f1faadda38c..59e9c5b6d090efd2c856aee26c2ce160a472897f 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 com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import neatlogic.framework.auth.core.AuthAction; import neatlogic.framework.common.constvalue.ApiParamType; @@ -72,9 +73,11 @@ public class ProcessGetApi extends PrivateApiComponentBase { processVo.setIsActive(1); } processVo.setName(processVo.getName() + "【工单:" + processTaskVo.getTitle()+ "】"); - processVo.setConfig(configStr); + JSONObject config = JSON.parseObject(configStr); +// processVo.setConfig(configStr); ProcessMessageManager.setOperationType(OperationTypeEnum.SEARCH); - processVo.setConfig(ProcessConfigUtil.regulateProcessConfig(processVo.getConfig())); + config = ProcessConfigUtil.regulateProcessConfig(config); + processVo.setConfig(config); processVo.setReferenceCount(1); return processVo; } diff --git a/src/main/java/neatlogic/module/process/api/process/ProcessImportApi.java b/src/main/java/neatlogic/module/process/api/process/ProcessImportApi.java index 63af75b71c02e4e5e4add5a25c0f26f1722ea04e..57b7d9b781f6ff13cda09889dc033e3d8fbfa282 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessImportApi.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessImportApi.java @@ -95,7 +95,6 @@ public class ProcessImportApi extends PrivateBinaryStreamApiComponentBase { result = "更新流程:'" + processVo.getName() +"'"; } processVo.setFcu(UserContext.get().getUserUuid(true)); - processVo.makeupConfigObj(); processService.saveProcess(processVo); return result; }else { 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 8b34c2dea6b7a473c42cea5a5825e9639008ac12..1def29194fd1ef3e8e9bc11c9e91f08d0aa8f30f 100644 --- a/src/main/java/neatlogic/module/process/api/process/ProcessSaveApi.java +++ b/src/main/java/neatlogic/module/process/api/process/ProcessSaveApi.java @@ -53,7 +53,7 @@ public class ProcessSaveApi extends PrivateApiComponentBase { @Input({ @Param(name = "uuid", type = ApiParamType.STRING, desc = "流程uuid", isRequired = true), @Param(name = "name", type = ApiParamType.REGEX, rule = RegexUtils.NAME, isRequired = true, maxLength = 50, desc = "流程名称"), - @Param(name = "config", type = ApiParamType.JSONOBJECT, desc = "流程配置内容", isRequired = true) + @Param(name = "config", type = ApiParamType.JSONOBJECT, desc = "流程配置内容", minSize = 1, isRequired = true) }) @Output({ @Param(name = "uuid", type = ApiParamType.STRING, desc = "流程uuid") @@ -62,8 +62,7 @@ public class ProcessSaveApi extends PrivateApiComponentBase { 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(); + ProcessConfigUtil.regulateProcessConfig(processVo.getConfig()); processService.saveProcess(processVo); return processVo.getUuid(); } diff --git a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java index 1203b4933956c9ac0d249f52294a5a08a32e4ad2..7388ad1114ff5d8fa844fa8e9ea596d5557c2bad 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java @@ -120,7 +120,7 @@ public interface ProcessMapper extends IProcessCrossoverMapper { int insertProcessStepTag(ProcessStepTagVo processStepTagVo); - int insertProcessStepCommentTemplate(ProcessStepVo vo); + int insertProcessStepCommentTemplate(@Param("processStepUuid") String processStepUuid, @Param("commentTemplateId") Long commentTemplateId); int insertProcessStepTask(ProcessStepTaskConfigVo tmpVo); @@ -133,7 +133,9 @@ public interface ProcessMapper extends IProcessCrossoverMapper { int deleteProcessStepRelByProcessUuid(String processUuid); // int deleteProcessStepTeamByProcessUuid(String processUuid); - int deleteProcessStepWorkerPolicyByProcessUuid(String processUuid); +// int deleteProcessStepWorkerPolicyByProcessUuid(String processUuid); + + int deleteProcessStepWorkerPolicyByProcessStepUuid(String processUuid); // int deleteProcessStepFormAttributeByProcessUuid(String processUuid); @@ -149,7 +151,9 @@ public interface ProcessMapper extends IProcessCrossoverMapper { int deleteProcessStepCommentTemplate(String stepUuid); - int deleteProcessStepTagByProcessUuid(String processUuid); +// int deleteProcessStepTagByProcessUuid(String processUuid); + + int deleteProcessStepTagByProcessStepUuid(String processStepUuid); int deleteProcessStepTaskByProcessStepUuid(String processStepUuid); diff --git a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml index 463ace875cdbec60e07129209db63614e362eec1..edce4944d945c0473503c331c2b2547bd19021fd 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml @@ -140,7 +140,7 @@ - +