This issue recommends a commonly used ERP system, OA system development, workflow engine is an essential tool. This project aims to integrate Activiti, a popular workflow engine in the industry, based on the Spring boot platform, and establish two complete workflows for demonstration: leave OA and procurement process.
System introduction
1. Instead of using activiti’s built-in user and role functions, because it is too simple, it implements a three-level structure of users, roles and permissions by itself. Users to roles and roles to permissions are multi-to-many mapping, and the persistence layer framework uses mybatis collection and association tag nesting to implement;
2. After logging in to the VM using the default user name (user name, password 1234), you can see the two deployed processes, please add OA and procurement process. The OA for asking for leave contains user tasks, exclusive gateways, and start and end events, which is relatively simple. In addition, the procurement process also uses the use of exception end events, subprocesses and boundary events;
3. Both processes include the functions of signing for tasks to be done, tracking the progress of running processes, and viewing the history of completed processes. The progress of running processes is marked in red in the flow chart;
4. Separate process data from business data and use businessKey to establish a bridge between process data and business data so that they can access each other. The primary key of business data is business number;
5. All forms in this system use ordinary forms instead of activiti’s dynamic forms and external forms, so as to store business data and process data separately;
6. The front end of the system is built using the devoops template based on Bootstrap;
7. The starting page entry: http://localhost:8888/login before use, compile (can be directly done in myeclipse) :
mvn clean install
Go to Process -> Process Design Workspace -> New Model, fill in the model name, click Create button to start flowchart design:
After the design, you can export the source file:
8. Add dynamic menu permissions to enable users to see different menus by assigning different roles to different users.
9. The leave process is directly assigned to the specific approver, and only the designated approver can approve. The procurement process is completed by task signing according to the candidate group, as long as it can have the permission of the relevant menu.