基于springboot+activiti7 的OA管理系统,使用前后端分离方式开发,前端使用Element UI 。项目有完善的系统管理、流程管理,并有多个流程例子。项目核心代码开源,不做假开源,使用MIT开源协议,可二次开发。
软件架构说明 系统使用前后端分离方式开发。前端使用Element UI,后端使用springboot+activiti7+mybatis,采用了spring security来做权限控制,数据库为mysql5.17以上版本。
(1)升级activiti7到最高版本。activiti7的bug较多,已到M17了。
(2)activiti7后面的版本需要jdk11。
(3)为了使系统简单,可独立运行,缓存使用ehcache。若需使用redis可自行修改。
(4)点步OA系统使用前后端分离的方式,前端使用Vue2和Element UI,基于vue-element-admin扩展开发。 前后端可分别部署,亦可一起部署。
(5)在线bpmn流程设计器例用MiyueSC / bpmn-process-designer
(6)点步OA系统后端使用springboot + mybatis 框架开发,系统安全认证使用Spring Security。
(7)activiti7没有自已的用户、用户组相关的表,其完全和 Spring Security整合,可参考https://my.oschina.net/woniuyi/blog/4714756 系列文章。这样更好,activiti7以前要修改其代码使activiti的用户与系统的用户结合,或通过同步用户数据activiti的用户与系统的用户一致,实现起来比较麻烦。应用系统通常使用‘角色-用户’权限体系,而流程任务的参与者为用户或用户组,如何使这两者结合? a.任务的参与者为用户(assignee、candidate user)时,直接与系统用户对应。 b.任务的参与者为用户组(candidate group),可将角色(有此角色的用户)作为一个组,可将‘岗位’作为一个组,将‘部门’作为一个组,或者自建‘群组’功能。这可按实际情况灵活使用。 c.点步OA系统的流程发起(申请)人,使用Spring Security安全认证,有业务申请菜单权限,就有权限发起。 d.当任务的参与者较为灵活的、有多个条件的(例如发起人的所属部门的部门经理),使用juel表达式。点步OA系统的业务流程的例子对此有所体现。例如: ‘荣誉’的审批任务的candidateGroup为角色; ‘教师发表’的审批任务的candidateGroup为自建群组, ‘员工请假’的部门请选审批任务的assignee为juel表达式,教导主任审批candidateGroup为岗位;
(8)点步OA系统的流程申请、审批业务(教务管理部分功能)仅作为业务流程的例子,与实际应用有差别。 a. 荣誉:简单审批、委托办理 b. 学习交流:二级审批+驳回+抄送 c. 教师发表:会签 d. 社会任职:并行网关 e. 员工请假:二级审批+排他网关
前端项目URL https://gitee.com/dianbuapp2/dbkj-oa-vue
开源不易,如果项目对你有所帮助,请给他一个星星,请开发人员喝杯咖啡。
版权:广州点步信息科技有限公司 (http://www.dbkj123.com) MIT开源协议
业务、技术交流 13660516744 (微信同号) 黄先生
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型