基于若依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、效果如下:

相关文章
|
前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
1360 1
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
10294 1
|
SQL JavaScript 前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(一)
1487 2
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(二)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(二)
1277 2
|
前端开发
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
620 1
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(一)
基于若依ruoyi-nbcio支持flowable流程角色,同时修改流转用户为username,流程启动做大调整(一)
882 1
|
NoSQL JavaScript Java
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 , 开源出来!
从职业生涯伊始,我一直是微服务架构的坚定拥趸,这很大程度上源于长期深耕互联网行业,习惯了高并发、分布式架构下的开发模式。 然而,去年在优化某航空公司核心用户中心系统时,我的技术认知受到了不小的冲击。 因为航空公司用户中心是一个典型的单体应用——尽管业务量不小,但稳定的业务模型和有限的扩展需求,使得单体架构反而比微服务更高效、更经济。
基于 RuoYi-Vue-Pro 定制了一个后台管理系统 , 开源出来!
|
JSON API 数据格式
基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(一)
基于若依的ruoyi-nbcio流程管理系统增加仿钉钉流程设计(一)
550 1
|
前端开发
基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)
基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(七)
769 0
|
消息中间件 Java Kafka
flowable6.8.0正式发布了
flowable6.8.0正式发布了
1488 0