activiti 添加流程模型并返回 modelId

1300阅读 0评论2021-10-26 fhadmin
分类:Java


点击(此处)折叠或打开


  1.     /**添加流程模型并返回modelId
  2.      * @param process_id         //流程唯一标识key
  3.      * @param process_author     //流程作者
  4.      * @param name                 //流程名称
  5.      * @param modelname         //模型名称
  6.      * @param description         //模型描述
  7.      * @param category             //模型分类
  8.      * @from fhadmin.cn
  9.      * @throws UnsupportedEncodingException
  10.      */
  11.     protected String createModel(String process_id,String process_author,String name,String modelname,String description,String category) throws UnsupportedEncodingException{
  12.         
  13.         ObjectMapper objectMapper = new ObjectMapper();
  14.         ObjectNode editorNode = objectMapper.createObjectNode();
  15.         editorNode.put("id", "canvs");
  16.         editorNode.put("resourceId", "canvs");
  17.         ObjectNode stencilSetNode = objectMapper.createObjectNode();
  18.         stencilSetNode.put("namespace", "");        //命名空间(禁止修改)
  19.         stencilSetNode.put("author", "fhadmin.cn");                                            //流程节点作者
  20.         editorNode.set("stencilset", stencilSetNode);
  21.         ObjectNode propertiesNode = objectMapper.createObjectNode();
  22.         propertiesNode.put("process_id",process_id);                                 //流程唯一标识
  23.         propertiesNode.put("process_author",process_author);                        //流程作者
  24.         propertiesNode.put("name",name);                                              //流程名称
  25.         editorNode.set("properties", propertiesNode);
  26.         
  27.         ObjectNode modelObjectNode = objectMapper.createObjectNode();
  28.         modelObjectNode.put("name", modelname);                    //模型名称
  29.         modelObjectNode.put("revision", 1);                        //模型版本
  30.         modelObjectNode.put("description", description);        //模型描述
  31.         Model modelData = repositoryService.newModel();
  32.         modelData.setCategory(category);                        //模型分类
  33.         modelData.setDeploymentId(null);
  34.         modelData.setKey(null);
  35.         modelData.setMetaInfo(modelObjectNode.toString());
  36.         modelData.setName(modelname);                            //模型名称
  37.         modelData.setTenantId("");
  38.         modelData.setVersion(1);
  39.         
  40.         repositoryService.saveModel(modelData);                    //保存模型,存储数据到表:act_re_model 流程设计模型部署表
  41.         repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8"));//保存资源,存储数据到表:act_ge_bytearray 二进制数据表
  42.         
  43.         return modelData.getId();
  44.     }


上一篇:spring cloud 和 阿里微服务spring cloud Alibaba
下一篇:activiti 获取当前任务流程图片的输入流