BPM 模型重构 2:导入流程时,只填写 name、description、key

This commit is contained in:
YunaiV 2022-01-11 21:20:13 +08:00
parent 62b720a5d0
commit d2a8f3f253
3 changed files with 3 additions and 23 deletions

View File

@ -31,6 +31,7 @@ import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@ -148,9 +149,7 @@ public class BpmModelServiceImpl implements BpmModelService {
if (StrUtil.isEmpty(bpmnXml)) {
return;
}
byte[] bpmnBytes = ActivitiUtils.replaceBpmnMainProcessIdAndName(bpmnXml,
model.getKey(), model.getName());
repositoryService.addModelEditorSource(model.getId(), bpmnBytes);
repositoryService.addModelEditorSource(model.getId(), bpmnXml.getBytes(StandardCharsets.UTF_8));
}
@Override

View File

@ -404,7 +404,7 @@ export default {
//
this.uploadClose();
//
this.msgSuccess("导入流程模型成功");
this.msgSuccess("导入流程模型成功!请点击【设计流程】按钮,进行编辑保存后,才可以进行【发布流程】");
this.getList();
},
uploadClose() {

View File

@ -42,23 +42,4 @@ public class ActivitiUtils {
// ========== BPMN XML 相关 ==========
/**
* 替换 BPMN XML 主流程的 id name 属性
*
* @param bpmnXml 原始的 BPMN XML 字符串
* @param id 编号对应到 XML 实际是 key 属性
* @param name 名字
* @return 新的 BPMN XML 的字节数组
*/
public static byte[] replaceBpmnMainProcessIdAndName(String bpmnXml, String id, String name) {
// 转换成 BpmnModel 对象
BpmnXMLConverter converter = new BpmnXMLConverter();
BpmnModel bpmnModel = converter.convertToBpmnModel(new StringStreamSource(bpmnXml), true, true);
// 设置 id name 属性
bpmnModel.getMainProcess().setId(id);
bpmnModel.getMainProcess().setName(name);
// 转换回字节数组
return converter.convertToXML(bpmnModel);
}
}