【入门篇】Activiti流程定义查询

来源:互联网 发布:高跟鞋推荐 知乎 编辑:程序博客网 时间:2024/06/06 02:19

需求

要求查询出采购流程的所有流程定义

方案

根据采购流程标识,查询流程定义表

参考activiti数据库表


表字段说明

CREATE TABLE `act_re_procdef` (  `ID_` varchar(64) COLLATE utf8_bin NOT NULL COMMENT '流程定义id;结构:流程定义key:流程定义版本:流水号',  `REV_` int(11) DEFAULT NULL,  `CATEGORY_` varchar(255) COLLATE utf8_bin DEFAULT NULL,  `NAME_` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '流程定义名称',  `KEY_` varchar(255) COLLATE utf8_bin NOT NULL COMMENT '流程定义的标识,一个流程定义一个key,不管版本号',  `VERSION_` int(11) NOT NULL COMMENT '流程定义的版本号,相同的key,每次部署版本号自动增加1',  `DEPLOYMENT_ID_` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT '对应的流程部署表的id',  `RESOURCE_NAME_` varchar(4000) COLLATE utf8_bin DEFAULT NULL COMMENT '流程定义自由中bpmn文件的名称',  `DGRM_RESOURCE_NAME_` varchar(4000) COLLATE utf8_bin DEFAULT NULL COMMENT '流程定义资源中png文件的名称',  `DESCRIPTION_` varchar(4000) COLLATE utf8_bin DEFAULT NULL,  `HAS_START_FORM_KEY_` tinyint(4) DEFAULT NULL,  `SUSPENSION_STATE_` int(11) DEFAULT NULL,  PRIMARY KEY (`ID_`),  UNIQUE KEY `ACT_UNIQ_PROCDEF` (`KEY_`,`VERSION_`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='流程定义信息表';

代码实现

//流程定义查询@Testpublic void queryProcessDefinition(){//得到repositoryS而viceRepositoryService repositoryService = processEngine.getRepositoryService();//流程定义的keyString processDefinitionKey = "purchasingflow";//采购流程标识//创建查询对象ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();//设置查询条件//只查询采购流程的定义processDefinitionQuery.processDefinitionKey(processDefinitionKey);//查询列表List<ProcessDefinition> list = processDefinitionQuery.list();//分页查询//processDefinitionQuery.listPage(firstResult,maxResults);//根据流程定义的id查询一条记录//processDefinitionQuery.processDefinitionId(definitionId).singleResult();for (ProcessDefinition processDefinition : list) {System.out.println("**************************************");System.out.println("流程定义id:" + processDefinition.getId());System.out.println("流程定义部署id:" + processDefinition.getDeploymentId());System.out.println("流程定义的key:" + processDefinition.getKey());System.out.println("流程定义的名称:" + processDefinition.getName());System.out.println("bpmn资源名称:" + processDefinition.getResourceName());System.out.println("png资源名称:" + processDefinition.getDiagramResourceName());}}

效果图



原创粉丝点击