From 34f94471017feda931fe5c9bf18ace14a29f7964 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 28 Nov 2023 15:10:22 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ModelerController.java | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java index 30b2b881..22015777 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/ModelerController.java @@ -80,13 +80,6 @@ public class ModelerController { @PostMapping("/importModelFile") public Result importModelFile(@RequestPart(value = "file", required = false) MultipartFile file, @RequestParam(value = "name", required = false) String name) throws Exception { - //先删除旧的model - ModelQuery modelQuery = repositoryService.createModelQuery(); - List list = modelQuery.modelName(name).list(); - for (Model model : list) { - repositoryService.deleteModel(model.getId()); - } - InputStream fileInputStream = file.getInputStream(); XMLInputFactory xif = XMLInputFactory.newInstance(); InputStreamReader in = new InputStreamReader(fileInputStream, "UTF-8"); @@ -94,16 +87,20 @@ public class ModelerController { // 转为bpmnModel BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr); Model model = repositoryService.newModel(); - String modelKey = "m_" + CreatedTools.getCreated(); + Process mainProcess = bpmnModel.getMainProcess(); + String modelKey = mainProcess.getId(); + ModelQuery modelQuery = repositoryService.createModelQuery(); + List list = modelQuery.modelKey(modelKey).list(); + int version = list.size() + 1; ObjectNode modelNode = objectMapper.createObjectNode(); - modelNode.put(ModelDataJsonConstants.MODEL_NAME, modelKey); - modelNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); + modelNode.put(ModelDataJsonConstants.MODEL_NAME, name); + modelNode.put(ModelDataJsonConstants.MODEL_REVISION, version); model.setName(name); model.setKey(modelKey); model.setMetaInfo(modelNode.toString()); + model.setVersion(version); repositoryService.saveModel(model); String modelId = model.getId(); - Process mainProcess = bpmnModel.getMainProcess(); List executionListeners = mainProcess.getExecutionListeners(); ActivitiListener startListener = new ActivitiListener(); startListener.setEvent(BaseExecutionListener.EVENTNAME_START); @@ -223,7 +220,7 @@ public class ModelerController { if (StringUtils.isNotBlank(name)) { modelQuery.modelNameLike("%" + name + "%"); } - + modelQuery.latestVersion(); List list = modelQuery.orderByCreateTime().desc().list(); return Result.OK(list); } @@ -344,9 +341,24 @@ public class ModelerController { } @GetMapping("/getNodeList") - @ApiImplicitParam(name = "modelId", value = "模型id") + @ApiImplicitParams({ + @ApiImplicitParam(name = "modelId", value = "模型id"), + @ApiImplicitParam(name = "key", value = "key") + }) @ApiOperation("获得节点列表") - public Result> getNodeList(String modelId) { + public Result> getNodeList(String modelId,String key) { + if (StringUtils.isNotBlank(key)){ + + ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery(); + processDefinitionQuery.processDefinitionKey(key); + processDefinitionQuery.latestVersion(); + ProcessDefinition processDefinition = processDefinitionQuery.singleResult(); + ModelQuery modelQuery = repositoryService.createModelQuery(); + modelQuery.deploymentId(processDefinition.getDeploymentId()); + Model model = modelQuery.singleResult(); + model.getDeploymentId(); + modelId = model.getId(); + } //查询节点信息 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessModelNode::getModelId,modelId);