再读flowable

再读flowable_第1张图片
命令模式+责任链模式

命令模式
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);

你可能感兴趣的:(工作总结)