基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)

简介: 基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)

更多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<String, Object> params = new HashMap<>();
}

2、同时queryPageList的发布流程列表修改如下,要根据应用类型来进行选择过滤

@Override
    public TableDataInfo<WfDeployVo> 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<ProcessDefinition> definitionList = processDefinitionQuery.listPage(offset, pageQuery.getPageSize());
        List<WfDeployVo> 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<WfDeployVo> page = new Page<>();
        page.setRecords(deployVoList);
        page.setTotal(pageTotal);
        return TableDataInfo.build(page);
    }

3、效果如下:

相关文章
|
1月前
|
前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
48 1
|
1月前
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(二)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(二)
64 2
|
1月前
|
SQL JavaScript 前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
50 2
|
1月前
基于若依ruoyi-nbcio支持flowable流程分类里增加流程应用类型
基于若依ruoyi-nbcio支持flowable流程分类里增加流程应用类型
30 1
|
1月前
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
38 1
|
1月前
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(一)
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(一)
33 1
|
1月前
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(三)
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(三)
31 1
|
1月前
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(二)
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(二)
24 0
|
1月前
|
SQL 前端开发 数据库
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)
44 2
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程的集成方法与步骤(一)
|
1月前
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(四)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(四)
19 1
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(四)