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") @PostMapping("/importModelFile")
public Result<String> importModelFile(@RequestPart(value = "file", required = false) MultipartFile file, public Result<String> importModelFile(@RequestPart(value = "file", required = false) MultipartFile file,
@RequestParam(value = "name", required = false) String name) throws Exception { @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(); InputStream fileInputStream = file.getInputStream();
XMLInputFactory xif = XMLInputFactory.newInstance(); XMLInputFactory xif = XMLInputFactory.newInstance();
InputStreamReader in = new InputStreamReader(fileInputStream, "UTF-8"); InputStreamReader in = new InputStreamReader(fileInputStream, "UTF-8");
@@ -94,16 +87,20 @@ public class ModelerController {
// 转为bpmnModel // 转为bpmnModel
BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr); BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);
Model model = repositoryService.newModel(); 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(); ObjectNode modelNode = objectMapper.createObjectNode();
modelNode.put(ModelDataJsonConstants.MODEL_NAME, modelKey); modelNode.put(ModelDataJsonConstants.MODEL_NAME, name);
modelNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); modelNode.put(ModelDataJsonConstants.MODEL_REVISION, version);
model.setName(name); model.setName(name);
model.setKey(modelKey); model.setKey(modelKey);
model.setMetaInfo(modelNode.toString()); model.setMetaInfo(modelNode.toString());
model.setVersion(version);
repositoryService.saveModel(model); repositoryService.saveModel(model);
String modelId = model.getId(); String modelId = model.getId();
Process mainProcess = bpmnModel.getMainProcess();
List<ActivitiListener> executionListeners = mainProcess.getExecutionListeners(); List<ActivitiListener> executionListeners = mainProcess.getExecutionListeners();
ActivitiListener startListener = new ActivitiListener(); ActivitiListener startListener = new ActivitiListener();
startListener.setEvent(BaseExecutionListener.EVENTNAME_START); startListener.setEvent(BaseExecutionListener.EVENTNAME_START);
@@ -223,7 +220,7 @@ public class ModelerController {
if (StringUtils.isNotBlank(name)) { if (StringUtils.isNotBlank(name)) {
modelQuery.modelNameLike("%" + name + "%"); modelQuery.modelNameLike("%" + name + "%");
} }
modelQuery.latestVersion();
List<Model> list = modelQuery.orderByCreateTime().desc().list(); List<Model> list = modelQuery.orderByCreateTime().desc().list();
return Result.OK(list); return Result.OK(list);
} }
@@ -344,9 +341,24 @@ public class ModelerController {
} }
@GetMapping("/getNodeList") @GetMapping("/getNodeList")
@ApiImplicitParam(name = "modelId", value = "模型id") @ApiImplicitParams({
@ApiImplicitParam(name = "modelId", value = "模型id"),
@ApiImplicitParam(name = "key", value = "key")
})
@ApiOperation("获得节点列表") @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<>(); LambdaQueryWrapper<ProcessModelNode> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessModelNode::getModelId,modelId); wrapper.eq(ProcessModelNode::getModelId,modelId);