工作流:需要层层审批,工作流程的计算模型,场景:请假,加班等

要实现请假:
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实现请假流程相关推荐

  1. 【Activity学习五】--基于SSM整合Activiti之请假流程实现(二)

    [Activity学习五]--基于SSM整合Activiti之请假流程实现(二) 1.部署流程资源 2.查询流程定义信息 3.发布请假流程 4.查询用户任务 5.提出请假 6.老板查看请假任务 7.老 ...

  2. activiti idea 请假流程_IDEA创建Activiti工作流开发

    IDEA创建Activiti工作流开发 一.安装Activiti插件 1.首先打开FIle的setting功能,搜索Plugins: 2.输入actiBPM,然后点击搜索: 3.点击安装.应用: 安装 ...

  3. activiti idea 请假流程_IDEA开发流程Activiti需要注意的一些坑

    1.慎用IDEA2020最新版本 IDEA2020最新版本迎来了重大升级,对java和spring有了更好更强大的开发支持,但是对于Activiti流程开发却不再支持,可能是因为actiBPM插件太老 ...

  4. 【Activiti工作流】5. 简单请假流程

    1. 画出流程图 使用之前安装的Eclipse的流程设计器,画出如下流程图: 1.1 设置开始节点 在properties中选中Main config:设置如下: 然后选中Form,设置如下: 具体操 ...

  5. Activiti(二)简单请假流程实现

    在SpringBoot2集成Activiti6的环境中,实现简单的请假流程.编写请假业务流程.流程业务为: 1,员工请假,先创建请假流程 2,员工填写请假申请,也可以不填写,直接结束流程 3,提交给直 ...

  6. Activiti工作流(一):OA 上的那些请假流程如何快速实现呢?

    大家好,我是 杰哥 在公司中,每个人都需要经常创建或者审批一些流程,比如说转正申请.请假流程.出差申请等等 那么,你有没有想过,要是你,你会如何实现这些流程的控制逻辑呢? 比如说请假申请,首先需要提前 ...

  7. (六)Activiti之实现学生请假流程

    Activiti之第一个程序以及Activiti插件的使用和Activiti表的解释 目录 概 述 流程定义ZIp部署:`在这里插入代码片` 相关流程如下: 分析: 小结: 参考资料和推荐阅读 LD ...

  8. 请假流程如何快速实现(OA )呢?:Activiti工作流

    大家好, 在公司中,每个人都需要经常创建或者审批一些流程,比如说转正申请.请假流程.出差申请等等 那么,你有没有想过,要是你,你会如何实现这些流程的控制逻辑呢? 比如说请假申请,首先需要提前定义好一个 ...

  9. activiti+testng批量测试用例-请假流程

    介绍 本文以请假流程为例,演示一个activiti流程的流转.从而熟悉activiti核心的api调用 请假流程定义 待测试的流程路径 流程定义xml <?xml version="1 ...

  10. Activiti学习(4)简单的请假流程

    在前一篇文章的基础上,编写一个稍微复杂的请假流程,进一步熟悉Activiti的基本知识,并期望能够触类旁通,解决上一篇博文中没有解决的问题.实现过程中,参考了以下文章,在此向作者表示感谢. 1.act ...

最新文章

  1. python3中的单例模式Singleton
  2. MySQL 报错MySQL server syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT'
  3. 使用yum快速搭建LAMP和配置phpMyAdmin
  4. bash不识别命令 ssh_关于Python脚本在后台运行的几种方式!(linux,bash,tmux,等)...
  5. putc函数_C语言中的putc()函数与示例
  6. NoSQL数据库的分布式算法memcache集群的实现
  7. td中使用overflow:hidden; 无效解决方案
  8. wpf中groupbox有什么用_日语中螃蟹用什么来数?
  9. Vbs判断两个Excel文件的内容--将两个Excel文件相同内容写入新建的Excel文件内
  10. 路由器修改hosts实现域名劫持
  11. K8S学习笔记之为什么需要Pod?
  12. bootcamp opencore_黑苹果(Hackintosh)BootCamp 使用教程
  13. 爱奇艺推出“帧绮映画MAX”标准打造高品质视听 多款电视机型获认证
  14. ps3自制linux,下BT聊QQ !PS3安装Linux ubuntu 7.10详细图文教程
  15. 利用Apache Tika分页解析pdf文件内容
  16. typescript中this报错
  17. 小程序动态tabBar菜单,根据条件渲染不同的tabBar
  18. 计算机老师素质能力提升计划要求,教师2021个人素质提升计划范文
  19. 计算机 蓝牙鼠标卡顿,蓝牙鼠标卡顿不流畅怎么办 最新win10无线鼠标卡顿解决办法...
  20. DELPHI关于汉字转拼音的一些想法

热门文章

  1. JSP页面中用绝对路径显示图片
  2. 买哪种计算机可以弹奏,还能酱紫玩:网友用AMD撕裂者3990X的126个框框演奏音乐...
  3. DxDiag中字段结构
  4. CHAPTER 10 Formal Grammars of English
  5. 零基础怎么学习平面设计*
  6. 安庆集团-冲刺日志(第二天)
  7. Java学习笔记day5_数组
  8. Java多线程学习笔记
  9. 《遥远的救世主》(摘录)
  10. 请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。