From 653e1159fb0d672d6e4ecf186ebff3cd0a5feaec Mon Sep 17 00:00:00 2001 From: konbai <1527468660@qq.com> Date: Thu, 2 Feb 2023 23:09:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B5=81=E7=A8=8B=E6=A8=A1=E5=9E=8B):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A8=A1=E5=9E=8B=E8=AE=BE=E7=BD=AE=E6=96=B0?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=88=86=E7=B1=BB=EF=BC=8C=E6=9C=AA=E6=9B=B4?= =?UTF-8?q?=E6=96=B0bpmnModel=E4=BF=A1=E6=81=AF=E9=97=AE=E9=A2=98=20[I6CAL?= =?UTF-8?q?U](https://gitee.com/KonBAI-Q/ruoyi-flowable-plus/issues/I6CALU?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/service/impl/WfModelServiceImpl.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfModelServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfModelServiceImpl.java index cd7f7e90..7708be99 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfModelServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfModelServiceImpl.java @@ -208,12 +208,24 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe } @Override + @Transactional(rollbackFor = Exception.class) public void updateModel(WfModelBo modelBo) { // 根据模型Key查询模型信息 Model model = repositoryService.getModel(modelBo.getModelId()); if (ObjectUtil.isNull(model)) { throw new RuntimeException("流程模型不存在!"); } + // 修改模型分类信息 + if (ObjectUtil.notEqual(model.getCategory(), modelBo.getCategory())) { + byte[] bpmnBytes = repositoryService.getModelEditorSource(model.getId()); + if (ObjectUtil.isNotEmpty(bpmnBytes)) { + BpmnModel bpmnModel = ModelUtils.getBpmnModel(StrUtil.utf8Str(bpmnBytes)); + // 设置最新流程分类编码 + bpmnModel.setTargetNamespace(model.getCategory()); + // 保存 BPMN XML + repositoryService.addModelEditorSource(model.getId(), ModelUtils.getBpmnXml(bpmnModel)); + } + } model.setCategory(modelBo.getCategory()); WfMetaInfoDto metaInfoDto = JsonUtils.parseObject(model.getMetaInfo(), WfMetaInfoDto.class); String metaInfo = buildMetaInfo(metaInfoDto, modelBo.getDescription());