命令模式+责任链模式
命令模式
https://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html
先搞清楚这行代码干了些啥
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(params.getProcessDefinitionKey())
.latestVersion().singleResult();
//好好看看
ProcessInstance processInstance = runtimeService.createProcessInstanceBuilder() .processDefinitionKey(params.getProcessDefinitionKey().trim())
.name(params.getFormName().trim())
.businessKey(params.getBusinessKey().trim())
.variables(params.getVariables())
.tenantId(params.getSystemSn().trim())
.start();
returnVo.setData(processInstance);
库表结构
导入bpmn图—>de_model表里面记录信息。解析xml成json字符串然后存入到model_editor_json字段里面。
de_model只是一个流程模板,存放文件的地方,点击部署才能生成流程定义re_procdef(一个流程模板对应多个流程定义),每点击一次部署就会生成一个新的版本的流程定义,以VERSION_版本号字段做为标识
分页查询流程定义
//re_prodef表
//1. 可直接调用api,代码如下
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery().processDefinitionKey("123");
processDefinitionQuery.count();
processDefinitionQuery.listPage(1,10);
//2. 也可以自己写sql语句查表,代码如下
PageHelper.startPage(query.getPageNum(), query.getPageSize());
Page<ProcessDefinitionVo> page = flowableProcessDefinitionDao.getPagerModel(params);