基于jeecg-boot的NBCIO 亿事达企业管理平台

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

github源代码地址

后端代码:https://github.com/nbacheng/nbcio-boot.git

前端代码:https://github.com/nbacheng/nbcio-vue.git

在线演示 : http://122.227.135.243:9888

  • 系统安装与配置

目前只提供mysql的数据库,但代码也兼容oracle11g ,同时也在oracle11g上测试过。

因为系统是基于jeecg-boot 3.0版本基础上,所以可以参考jeecg-boot相应的安装与使用手册进行安装与调试。

首先安装nbcio-boot.sql文件,生成mysql数据,同时在dev进行配置自己的数据库服务器地址与端口,我这里用的minio文件服务器,也可以根据需要用本地或其它oss服务器。

本系统flowable版本是6.7.2。

二、平台工作流使用说明

  1. 工作流的基本使用概念

工作流,首先需要定义一个流程模板,这里用web版流程设计器编辑,得出的是一个流程定义的xml对象,叫流程模板,它的key叫流程定义key,这个是代表一套流程模板的,同一个key能有多个版本的模板。每个版本的模板对象都有个id,这里叫流程定义id通常,我们是根据key来获取最新版本的模板启动一个流程(当然,也可以根据定义id来开启一个流程,正常逻辑应该是取最新去,又指定的业务情景就使用id),这个被启动的流程,这里叫流程实例,同样,它也有个id,我们叫流程实例id

对于用户任务节点,同样的,有两种,一个是定义模板中取来的,里面的信息是事先定义好的,不变的,里面的id就是我们设计流程的时候输入的id。一个是流程实例中取来的,这个对象的id是自动生成的,一般就是uuid。

这里流程分三种,一种是关联web定义表单的流程,一种是根据不同业务自己进行定义的业务流程,还有就是通过钉钉审批的流程。

对业务流程所定义的流程与业务的关联关系表为flow_my_business中:

data_id                        业务数据id

process_definition_key     流程定义key

process_definition_id 流程定义id

process_instance_id   流程实例id

task_id                            流程实例中的待处理节点id,就是uuid那个

task_name                     这个节点的名字,咱们输入的中文的那个

task_name_id               这个节点的定义中的id,比如第一个任务节点为发起人的节点。

操作流程实例的时候,用的就是实例的id;操作流程模板,用的便是定义id。

注意:流程模块中,凡是涉及到用户的,使用username做唯一Key,即用户名,并非id,另外流程定义中第一个用户任务一定要是申请发起人的节点。

2、流程管理与使用

2.1 流程模型

通过web图形化的流程模型定义,如下

基于jeecg-boot的NBCIO 亿事达企业管理平台_第1张图片

这里流程分成几类,OA、财务、钉钉薪资、钉钉人事和自定义业务,当然这些也可以根据自己需要进行定义。

普通的OA流程,关联web定义表单,流程分类要选择OA

一般每个节点都采用用户任务为多,更多可以参考flowable的相关说明。

          其中OA和财务可以关联表单配置的表单定义,钉钉薪资与钉钉人事是通过钉钉进行审批,定义好后可以直接进行提交审批,自定义业务是可以配置自己定义业务表单进行审批,也可以在业务表单里进行流程模块的关联。

2.2 表单配置

通过web图形化的表单设计,满足一些简单的业务表单需求。

基于jeecg-boot的NBCIO 亿事达企业管理平台_第2张图片

          通过上面的流程模型,可以在OA和财务分类的流程模板关联这里定义的表单。

2.3 业务表单

对于自定义业务表单的流程需要在这里进行定义(当然在相应的代码也要进行单独编写),主要涉及业务表单名称,服务名称,前端路由地址,组件注入方式等,可以参考给出的两个例子来参考。

同时可以关联流程,把自定义业务表单与流程模板进行关联,以便后面审批过程中通过这个流程模板进行流转。

3、任务管理

3.1 所有任务

这个是管理员才有的功能,普遍用户没有这个。

这里可以看到所有人发起的任务,同时可以对任务进行委派,转办和取消申请等功能操作,以便对一些异常流程进行处理。

备注:委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中 

      转办:直接将办理人assignee 换成别人,这时任务的拥有着不再是转办人,而是为空,相当与将任务转出。

3.2 我的任务

    这里就是我发起的任务都在这里,可以对任务取消申请或删除等操作,看到的只有我自己发起的任务。

3.3 待办任务

    就是需要你办理的任务列表,一般是通过流转流到你这里的任务,需要你进行处理,

基于jeecg-boot的NBCIO 亿事达企业管理平台_第3张图片

比如上面对当前待办的任务可以进行审批,退回与驳回的功能

备注:驳回就是跳转到当前节点的上一个节点,只能是回到上一个节点,驳回可以回退到子流程开始。

   回退:回退只能退回到串线路线上,不能回退到子流程。

    不过目前平台还不支持子流程。

3.4 已办任务

     通过自己办理的任务列表。

4、流程案例

   这里提供两个自定义业务的流程案例,一个是单表的,一个是主从表的。这些都要结合业务进行代码级的修改。

4.1 单表流程

这里是一个人员管理的例子,可以直接通过业务表单进行流程审批,提交审批后就进入正常的流程审批了。

基于jeecg-boot的NBCIO 亿事达企业管理平台_第4张图片

4.2 主子流程

这里提供了一个主从表的例子,也与上面类似的流程提交方式,同时这里从表录入支持类似ERP功能的选择物料等。

基于jeecg-boot的NBCIO 亿事达企业管理平台_第5张图片

5、消息提醒

    增加了待办消息,对于待办同时往待办消息里添加一个待办消息,可以通过这里进行处理审批流程,对于结束等流程进行消息通知。

基于jeecg-boot的NBCIO 亿事达企业管理平台_第6张图片

6、钉钉审批

     这里提供了一个简单的例子,录入薪资的一些数据,根据这个数据进行分类统计提交钉钉进行审批。

基于jeecg-boot的NBCIO 亿事达企业管理平台_第7张图片

同时可以对钉钉流程进行跟踪

基于jeecg-boot的NBCIO 亿事达企业管理平台_第8张图片

当然要满足上面要求,需要对钉钉的相关参数进行设置,

#第三方APP对接

third-app:

  enabled: true

  type:

    #钉钉

    DINGTALK:

      enabled: true

      # appKey

      client-id: dingrclmpcbhnquxtpsi

      # appSecret

      client-secret: UT9T-zTD82wqMZc_IJl5qoSUaijoy1_YvN1MKU_7a-_cf9SEbB9erZpZ8wq9HKrl

      agent-id: 1105646298

根据自己的参数进行dev里设置,同时在钉钉管理里进行模板设置,比如:

基于jeecg-boot的NBCIO 亿事达企业管理平台_第9张图片

这样提交到手机端,可以看到如下类似界面

基于jeecg-boot的NBCIO 亿事达企业管理平台_第10张图片

三、未来的计划

    主要完善流程的一些功能,同时增加OA、CRM和ERP的相关功能。

你可能感兴趣的:(前端vue,java开发,java,开发语言)