仿钉钉审批流程图在线绘制、业务申请、审批、流转、委托、催办,springboot集成工作流基础框架

前言
目前市场上有很多开源平台没有整合工作流,即使有,也是价格不菲的商业版,这次推荐的是在一个基础开发平台系统基础功能(用户管理,部门管理…)上整合了flowable工作流,你可以直接用来开发ERP,OA,CRM等企业级应用,不用再担心如何再去花大量的时间集成工作流进来,目前表单支持自定义拖拽,具体功能下面我们来探索吧。

一、项目形式
springboot+vue+flowable 集成了仿钉钉拖拽设计流程编辑器,快速开发平台,可插拔工作流服务。

二、项目介绍
本项目拥有用户管理,部门管理,岗位管理,系统监管,IM聊天,自定义问卷调查,网络拓扑图设计,业务审批等功能。功能太强大,只能大致介绍,所见即所得,体验一下吧。

项目预览

预览地址:http://demo.duojuhe.com

本次我们主要来了解项目中的工作流部分模块

三、工作流

 /*** 查询可退回的节点* @param taskId* @return*/private List<QueryWorkFlowToBackNodeRes>  getWorkFlowToBackNodeRes(String taskId){// 初始化返回结果列表List<QueryWorkFlowToBackNodeRes> result = new ArrayList<>();if (StringUtils.isBlank(taskId)){return result;}Task task = taskService.createTaskQuery().taskId(taskId).singleResult();if (task == null){return result;}// 任务定义key 等于 当前任务节点idString taskDefinitionKey = task.getTaskDefinitionKey();BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());Process mainProcess = bpmnModel.getMainProcess();// 当前节点FlowNode currentFlowElement = (FlowNode) mainProcess.getFlowElement(taskDefinitionKey, true);// 查询历史节点实例List<HistoricActivityInstance> activityInstanceList = historyService.createHistoricActivityInstanceQuery().processInstanceId(task.getProcessInstanceId()).finished().orderByHistoricActivityInstanceEndTime().asc().list();List<String> activityIdList = activityInstanceList.stream().filter(activityInstance ->BpmnXMLConstants.ELEMENT_TASK_USER.equals(activityInstance.getActivityType()) || BpmnXMLConstants.ELEMENT_EVENT_START.equals(activityInstance.getActivityType())).map(HistoricActivityInstance::getActivityId).filter(activityId -> !taskDefinitionKey.equals(activityId)).distinct().collect(Collectors.toList());for (String activityId : activityIdList) {// 回退到主流程的节点FlowNode toBackFlowElement = (FlowNode) mainProcess.getFlowElement(activityId, true);// 判断 【工具类判断是否可以从源节点 到 目标节点】Set<String> set = new HashSet<>();if (toBackFlowElement != null && ExecutionGraphUtil.isReachable(mainProcess,toBackFlowElement,currentFlowElement, set)) {QueryWorkFlowToBackNodeRes workFlowNodeDTO = new QueryWorkFlowToBackNodeRes();workFlowNodeDTO.setTaskNodeId(activityId);workFlowNodeDTO.setTaskNodeName(toBackFlowElement.getName());result.add(workFlowNodeDTO);}}return result;}

springboot+vue 审批工作流集成flowable(springboot实现工作流)相关推荐

  1. T2Admin 集成 Flowable 实现项目工作流业务

    目录 项目工作流基本需求 项目实现 Flowable交互设计实现 流程主要名词介绍 1.流程部署API 2.获取已经部署的流程API 3.获取已经部署的流程定义API 4.获取流程图片API 5.启动 ...

  2. SpringBoot + Vue + nginx项目一起部署

    SpringBoot + Vue + nginx项目一起部署 SpringBoot + Vue 一起部署到 nginx 1.后端项目部署: (1)  Java项目打包上传到 服务器,开启服务 java ...

  3. SpringBoot+Vue+ElementUI实现后台管理系统

    前言 今天学习了如何搭建一个后台管理系统,因此打算记录并总结一下今天的学习内容. 该项目是一个非常好用的后台管理系统模板,代码比较简单,项目功能比较通用,总之就是很推荐初学者学习. 项目的大体项目框架 ...

  4. springboot+vue+elementUI 高校学生实习管理管理系统 #毕业设计

    学生顶岗实习管理系统是学校管理学生实习的重要组成.它是针对目前学生实习工作信息的情况设计的,力求满足学生工作多方面的需要.该系统的设计要充分考虑到学生实习管理工作和手段.目前,在网上和各种出售的光盘中 ...

  5. springboot+vue+elementUI 校园台球厅人员与设备管理系统#毕业设计

    随着人们的生活水平的提高,人们的观念在发生着转变,健康已成为人们最关心的话题.要想健康,人们就需要在百忙之中寻求合理的休闲运动,而台球运动正是一项人们喜爱的体育运动. 现在人们的生活节奏快,需要一定的 ...

  6. java农机收割机租赁预约系统springboot+Vue

    农机电招平台系统的主要功能展示了首页,农机,系统公告,个人中心,后台管理等,用户可根据权限进行相应操作 农机,在农机页面可以查看品牌,型号,农机类型,日租价,机主账号,机主姓名,手机号等内容,并进行预 ...

  7. springboot+vue+elementUI 智慧外贸商城购物销售管理系统#毕业设计

    智慧外贸平台能够通过互联网得到广泛的.全面的宣传,让尽可能多的用户了解和熟知智慧外贸平台的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己.对于智慧外贸而言,若拥有自己的系统,通 ...

  8. springboot+vue+elementUI 基于Springboot的智慧养老平台#毕业设计

    随着社会的发展我国的人口老龄化严重,为了让这些在年前是给社会做出过贡献的老人老有所依,老有所养,度过一个安详的晚年,很多地方都实现了智慧养老,为此我们通过springboot+vue+elementU ...

  9. springboot+vue+elementUI 4S店车辆销售维修管理系统#毕业设计

    随着信息化的不断深入,经济的飞速发展,企业要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的.汽车4S营销管理,作为一种新型的以品牌为单位个体经营管理为主体,同时集系统管理.采购管理.销 ...

最新文章

  1. VMware Workstations三种网卡模式
  2. python语言的官方网站地址-Python网络编程 - 请求地址上的文件并下载
  3. Red Hat Enterprise Linux(RHEL)中yum的repo文件详解
  4. 在RHEL5下实现RAID5磁盘阵列
  5. 【机器学习】逻辑回归模型
  6. python 32位软件下载安装_Python32位官方下载-Python(开发环境工具)v3.9.1 x32 官方win版-ucbug软件站...
  7. 苹果修改应用商店规则:云游戏服务可上架 但游戏需从商店下载
  8. 2018-06-13 pymssql 访问 SQL Server 2017 或 pyodbc 访问支持 ODBC 的数据库
  9. 博弈论(一)基本概念
  10. 新版微信不停跳转到小程序_微信又有大动作,小程序跳转功能将受限?
  11. 生成身份证校验码(c语言)
  12. hdwiki 软件包结构
  13. GB28181国标平台接入摄像头、NVR录像机通道数位0没有通道的处理方式
  14. 【概念】数据仓库和数仓建模
  15. java为PDF盖(签)电子签章--位置定位
  16. 2019上海市大学生网络安全大赛部分web题解
  17. # 团队项目测评博客
  18. Fansblog (HDU - 6608)(威尔迅定理+费马小定理)
  19. paraview高级动画功能
  20. vue中el-dialog弹窗关闭,子组件控制父组件

热门文章

  1. 在Mavericks10.9上的Xcode5…
  2. 互联网公司iOS开发工程师面试必看(最全知识点梳理)
  3. PHP左侧分类表显示,利用CSS实现wordpress侧边栏分类目录分两列显示 | 迷失的世界...
  4. Unity文字提示标牌效果
  5. poj3322 Bloxorz I
  6. idea插件开发,打包后安装提示:不兼容
  7. 云呐|固定资产管理信息系统的作用有哪些?
  8. 转行学python 数据分析统计服_转行数据分析,你准备好了吗?
  9. 【AI视野·今日CV 计算机视觉论文速览 第171期】Tue, 3 Dec 2019
  10. 《优秀管理者的自我修养》