update 优化模板管理

This commit is contained in:
lijiarao
2023-11-28 15:10:22 +08:00
parent dc825fe3be
commit 34f9447101
@@ -80,13 +80,6 @@ public class ModelerController {
@PostMapping("/importModelFile")
public Result<String> importModelFile(@RequestPart(value = "file", required = false) MultipartFile file,
@RequestParam(value = "name", required = false) String name) throws Exception {
//先删除旧的model
ModelQuery modelQuery = repositoryService.createModelQuery();
List<Model> 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<Model> 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<ActivitiListener> 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<Model> 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<Map<String,Object>> getNodeList(String modelId) {
public Result<Map<String,Object>> 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<ProcessModelNode> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessModelNode::getModelId,modelId);