activiti实现请假流程
工作流:需要层层审批,工作流程的计算模型,场景:请假,加班等
要实现请假:
1 制作activiti流程模型(基于Activiti官方提供的war包放到tomcat中运行)
每一个步骤里面都有id 和侯选组(后续和业务数据库绑定)
2 将制作好的模型(xml文件)上次到activiti系统中(springboot集成了activiti 有单独的activiti的数据库)
springboot集承了多数据源 一个是ihrm数据库,一个是activiti数据库(主库)
1 上传好流程后并恢复(开启)流程
1.1请假流程
用户提交请假申请设计到业务数据库的三张表(ihrm)
1 proc_instance 流程表
2 proc_task_instance 流程任务表(每一个流程下会有多个任务)
3 proc_user_group 侯选组表 //id是activiti自带数据库中的group表中的id eg:process_leavel 候选组的key
提交申请流程:
用户提交请假时间,天数 ,流程类型(这里是请假),用户id
1 后端远程调用 用户微服务获取user
2 构造业务数据 并通过processkey(流程标识)查询流程定义数据,即是哪个流程
ProcessDefinition result = repositoryService.createProcessDefinitionQuery()
.processDefinitionKey(processKey)
.processDefinitionTenantId(companyId) //公司id 因为是sass结构
.latestVersion()
.singleResult();
3开启流程,让activiti db的流程id和业务数据的id有一个绑定关系
runtimeService.startProcessInstanceById(result.getId()
, instance.getProcessId()
, vars); //流程定义的id,业务数据id,内置的参数 参数代表流程上的一些判断一些参数
Map vars = new HashMap();if ("process_leave".equals(processKey)){//请假vars.put("days" , map.get("duration"));//大于3天在交给总裁办审批}runtimeService.startProcessInstanceById(result.getId(), instance.getProcessId(), vars); //流程定义的id,业务数据id,内置的参数ProcessInstance processInstance =runtimeService.startProcessInstanceById(result.getId(), instance.getProcessId(), vars);
4 //自动执行第一个任务节点
//获取下一个节点数据,填充业务数据中当前待审批人
获取审批人的逻辑://查询任务的节点数据(候选人组)
封装业务数据procInstanceDao procTaskInstanceDao
(zijichulide 上传流程的时候,指定候选人组,通过activiti 模型中(xml) 为 通过候选人组 再在业务数据库中建立一个新表 存放对应的候选人 )
以上就是一个用户发起了请假流程的一个审批。
2 发起过后就到了审批人审批的接口逻辑
审批人的查询逻辑 有当前处理人,companyid,所以能查询到对应的审批
点击审核通过
//如果审核通过,完成当前的任务
//查询出当前节点,完成当前节点任务
//查询出下一个节点,如果存在下一个流程没有结束
activiti实现请假流程相关推荐
- 【Activity学习五】--基于SSM整合Activiti之请假流程实现(二)
[Activity学习五]--基于SSM整合Activiti之请假流程实现(二) 1.部署流程资源 2.查询流程定义信息 3.发布请假流程 4.查询用户任务 5.提出请假 6.老板查看请假任务 7.老 ...
- activiti idea 请假流程_IDEA创建Activiti工作流开发
IDEA创建Activiti工作流开发 一.安装Activiti插件 1.首先打开FIle的setting功能,搜索Plugins: 2.输入actiBPM,然后点击搜索: 3.点击安装.应用: 安装 ...
- activiti idea 请假流程_IDEA开发流程Activiti需要注意的一些坑
1.慎用IDEA2020最新版本 IDEA2020最新版本迎来了重大升级,对java和spring有了更好更强大的开发支持,但是对于Activiti流程开发却不再支持,可能是因为actiBPM插件太老 ...
- 【Activiti工作流】5. 简单请假流程
1. 画出流程图 使用之前安装的Eclipse的流程设计器,画出如下流程图: 1.1 设置开始节点 在properties中选中Main config:设置如下: 然后选中Form,设置如下: 具体操 ...
- Activiti(二)简单请假流程实现
在SpringBoot2集成Activiti6的环境中,实现简单的请假流程.编写请假业务流程.流程业务为: 1,员工请假,先创建请假流程 2,员工填写请假申请,也可以不填写,直接结束流程 3,提交给直 ...
- Activiti工作流(一):OA 上的那些请假流程如何快速实现呢?
大家好,我是 杰哥 在公司中,每个人都需要经常创建或者审批一些流程,比如说转正申请.请假流程.出差申请等等 那么,你有没有想过,要是你,你会如何实现这些流程的控制逻辑呢? 比如说请假申请,首先需要提前 ...
- (六)Activiti之实现学生请假流程
Activiti之第一个程序以及Activiti插件的使用和Activiti表的解释 目录 概 述 流程定义ZIp部署:`在这里插入代码片` 相关流程如下: 分析: 小结: 参考资料和推荐阅读 LD ...
- 请假流程如何快速实现(OA )呢?:Activiti工作流
大家好, 在公司中,每个人都需要经常创建或者审批一些流程,比如说转正申请.请假流程.出差申请等等 那么,你有没有想过,要是你,你会如何实现这些流程的控制逻辑呢? 比如说请假申请,首先需要提前定义好一个 ...
- activiti+testng批量测试用例-请假流程
介绍 本文以请假流程为例,演示一个activiti流程的流转.从而熟悉activiti核心的api调用 请假流程定义 待测试的流程路径 流程定义xml <?xml version="1 ...
- Activiti学习(4)简单的请假流程
在前一篇文章的基础上,编写一个稍微复杂的请假流程,进一步熟悉Activiti的基本知识,并期望能够触类旁通,解决上一篇博文中没有解决的问题.实现过程中,参考了以下文章,在此向作者表示感谢. 1.act ...
最新文章
- python3中的单例模式Singleton
- MySQL 报错MySQL server syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT'
- 使用yum快速搭建LAMP和配置phpMyAdmin
- bash不识别命令 ssh_关于Python脚本在后台运行的几种方式!(linux,bash,tmux,等)...
- putc函数_C语言中的putc()函数与示例
- NoSQL数据库的分布式算法memcache集群的实现
- td中使用overflow:hidden; 无效解决方案
- wpf中groupbox有什么用_日语中螃蟹用什么来数?
- Vbs判断两个Excel文件的内容--将两个Excel文件相同内容写入新建的Excel文件内
- 路由器修改hosts实现域名劫持
- K8S学习笔记之为什么需要Pod?
- bootcamp opencore_黑苹果(Hackintosh)BootCamp 使用教程
- 爱奇艺推出“帧绮映画MAX”标准打造高品质视听 多款电视机型获认证
- ps3自制linux,下BT聊QQ !PS3安装Linux ubuntu 7.10详细图文教程
- 利用Apache Tika分页解析pdf文件内容
- typescript中this报错
- 小程序动态tabBar菜单,根据条件渲染不同的tabBar
- 计算机老师素质能力提升计划要求,教师2021个人素质提升计划范文
- 计算机 蓝牙鼠标卡顿,蓝牙鼠标卡顿不流畅怎么办 最新win10无线鼠标卡顿解决办法...
- DELPHI关于汉字转拼音的一些想法
热门文章
- JSP页面中用绝对路径显示图片
- 买哪种计算机可以弹奏,还能酱紫玩:网友用AMD撕裂者3990X的126个框框演奏音乐...
- DxDiag中字段结构
- CHAPTER 10 Formal Grammars of English
- 零基础怎么学习平面设计*
- 安庆集团-冲刺日志(第二天)
- Java学习笔记day5_数组
- Java多线程学习笔记
- 《遥远的救世主》(摘录)
- 请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。