目录
工作流介绍
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。
教务系统离不开申请(如教师申请实验课授课方式、教师提交成绩、教师修改成绩、学生申请修改成绩等)
因此需要用到flowable工作流引擎,Flowable 是一个使用 Java 编写的轻量级业务流程引擎,使用 Apache V2 license 协议开源。
jeecg-boot整合flowable
代码获取:(来自开源,项目中有配置说明,我做了些改动)flowable工作流: flowable 工作流,以jeecg-boot做案例整合,小改适用其他框架,可直接对接已有的业务系统,不必从头再来 (gitee.com)
添加模块
复制模块代码:jeecg-boot-module-flowable
1.修改主项目pom.xml
在<modules>中加入
<module>jeecg-boot-module-flowable</module>
2.在jeecg-boot-module-system的pom.xml中添加依赖
<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-module-flowable</artifactId>
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
执行数据库脚本
在之前jeecg-boot配置的数据库中执行上述源码的flowable-master\jeecg-boot\jeecg-boot-module-flowable\doc\flpwable.sql
实现接口
在jeecg-boot\jeecg-boot-module-system\src\main\java\org\jeecg\modules\system文件夹下新建文件夹flow
再创建FlowThirdServiceImpl.java,FlowThirdServiceImpl继承IFlowThirdService接口
@Service
public class FlowThirdServiceImpl implements IFlowThirdService {
@Override
public SysUser getLoginUser() {
return null;
}
@Override
public List<SysUser> getAllUser() {
return null;
}
@Override
public List<SysUser> getUsersByRoleId(String roleId) {
return null;
}
@Override
public SysUser getUserByUsername(String username) {
return null;
}
@Override
public List<SysRole> getAllRole() {
return null;
}
@Override
public List<SysCategory> getAllCategory() {
return null;
}
@Override
public List<String> getDepartNamesByUsername(String username) {
return null;
}
}
前端配置
复制代码ant-design-vue-jeecg/src/views/flowable到自己项目的相应位置
执行yarn add workflow-bpmn-modeler 或npm install workflow-bpmn-modeler
main.js中引入elementui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
运行项目
点击新增创建工作流主菜单
添加下级
修改权限
勾选刚刚新建的工作流和流程设计,重新刷新一遍
现在可以进入该页面进行流程定义
业务案例
将源码中flowable-master\jeecg-boot\jeecg-boot-module-demo\src\main\java\org\jeecg\modules\demo\test_demo复制到自己项目的相应目录下
再将ant-design-vue-jeecg/src/views/flowable/test_demo/TestDemoList.vue 页面配置进菜单
即可查看test_demo的业务案例