基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(三)
  Phag4aaQX4ZJ 2023年11月02日 25 0


 更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

演示地址: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流程增加自定义业务表单(三)_java_02

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  f18CFixvrKz8   2024年05月20日   88   0   0 JavaScript
  fxrR9b8fJ5Wh   2024年05月17日   52   0   0 JavaScript
  2xk0JyO908yA   2024年04月28日   40   0   0 JavaScript
Phag4aaQX4ZJ