更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio
演示地址:RuoYi-Nbcio后台管理系统
之前自定义业务表单只能关联自定义业务的流程应用类型,所以需要根据这个进行选择与显示
1、ProcessQuery 参数增加appType
- public class ProcessQuery {
-
- /**
- * 流程标识
- */
- private String processKey;
-
- /**
- * 流程名称
- */
- private String processName;
-
- /**
- * 流程分类
- */
- private String category;
-
- /**
- * 流程应用类型
- */
- private String appType;
-
- /**
- * 状态
- */
- private String state;
-
- /**
- * 请求参数
- */
- private Map
params = new HashMap<>(); - }
2、同时queryPageList的发布流程列表修改如下,要根据应用类型来进行选择过滤
- @Override
- public TableDataInfo
queryPageList(ProcessQuery processQuery, PageQuery pageQuery) { - // 流程定义列表数据查询
- ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery()
- .latestVersion()
- .orderByProcessDefinitionKey()
- .asc();
- // 构建搜索条件
- ProcessUtils.buildProcessSearch(processDefinitionQuery, processQuery);
- long pageTotal = processDefinitionQuery.count();
- if (pageTotal <= 0) {
- return TableDataInfo.build();
- }
- int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
- List
definitionList = processDefinitionQuery.listPage(offset, pageQuery.getPageSize()); -
- List
deployVoList = new ArrayList<>(definitionList.size()); - for (ProcessDefinition processDefinition : definitionList) {
- if( StringUtils.isNotBlank(processQuery.getAppType())) {
- if ( processQuery.getAppType().equalsIgnoreCase(categoryMapper.selectAppTypeByCode(processDefinition.getCategory()))) {
- String deploymentId = processDefinition.getDeploymentId();
- Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
- WfDeployVo vo = new WfDeployVo();
- vo.setDefinitionId(processDefinition.getId());
- vo.setProcessKey(processDefinition.getKey());
- vo.setProcessName(processDefinition.getName());
- vo.setVersion(processDefinition.getVersion());
- vo.setCategory(processDefinition.getCategory());
- vo.setAppType(categoryMapper.selectAppTypeByCode(processDefinition.getCategory()));
- vo.setDeploymentId(processDefinition.getDeploymentId());
- vo.setSuspended(processDefinition.isSuspended());
- // 流程部署信息
- vo.setCategory(deployment.getCategory());
- vo.setDeploymentTime(deployment.getDeploymentTime());
- deployVoList.add(vo);
- }
- }
- else {
- String deploymentId = processDefinition.getDeploymentId();
- Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
- WfDeployVo vo = new WfDeployVo();
- vo.setDefinitionId(processDefinition.getId());
- vo.setProcessKey(processDefinition.getKey());
- vo.setProcessName(processDefinition.getName());
- vo.setVersion(processDefinition.getVersion());
- vo.setCategory(processDefinition.getCategory());
- vo.setAppType(categoryMapper.selectAppTypeByCode(processDefinition.getCategory()));
- vo.setDeploymentId(processDefinition.getDeploymentId());
- vo.setSuspended(processDefinition.isSuspended());
- // 流程部署信息
- vo.setCategory(deployment.getCategory());
- vo.setDeploymentTime(deployment.getDeploymentTime());
- deployVoList.add(vo);
- }
-
- }
- Page
page = new Page<>(); - page.setRecords(deployVoList);
- page.setTotal(pageTotal);
- return TableDataInfo.build(page);
- }
3、效果如下: