Take you to learn more about the open source approval system based on springboot and flowable

insert image description here

1. Background

In the daily business background, approval is a very important requirement. At this stage, there are two ways to achieve approval. One is to write the business by yourself, design the database according to the requirements, add the approval data to the table, and modify it every time an approval is passed. Status is a business that can be designed and approved at will, but the disadvantage is that every additional type of approval will increase a lot of workload. The second is to use flowable and activiti workflow engines to implement. The advantage is that the framework provides database, business logic and api, and it can be implemented according to the document. The disadvantage is that the business model has been basically fixed, and it is difficult to modify the business logic.

what is flowable

The Flowable project provides a core set of open source orchestration engines that are compact and efficient. They provide a workflow and business process management (BPM) platform for developers, system administrators, and business users.

At its core is a lightning-fast, proven dynamic BPMN process engine, accompanied by a DMN decision table and a CMMN case management engine, all written in Java. They are open source under the Apache 2.0 license and have a committed community.

All engines can run embedded in Java applications, or as services in servers, clusters, and clouds. They can run as standalone engines or services, or they can be integrated to provide a rich suite for business process management. They integrate perfectly with Spring. With rich Java and REST APIs, they are an ideal foundation for orchestrating human or robotic automation processes. They enable microservice orchestration or soft-wire microservices themselves.

Here is a summary:
when it comes to flowable, it comes from activiti, because the internal staff of activiti are not in harmony, a lot of small partners met to go out to start a business. But the pot is still the original pot, but the way of cooking is different. So in terms of thought, flowable is not much different from activiti. It's just more powerful.

  1. The purpose is to manage business approval workflow.
  2. Use BPMN technology.
  3. It can be easily nested in the spring system.

3. Project introduction

RuoYi-boot is a well-known open-source authority management system, which integrates authority management and rapid code generation. It is used as a basic development platform to integrate the flowable framework to complete the workflow engine development, creating a set of process design, process deployment, process execution, task handling, A powerful workflow platform integrating process monitoring.

4. Installation Tutorial

https://gitee.com/shenzhanwang/Ruoyi-flowable can be viewed by yourself.

  1. Create a new mysql database ry-flowable and import the SQL script ry-flowable.sql. The Mysql version is 5.7, the character set is utf8mb4, and the collation is utf8mb4_general_ci.
  2. Modify the database configuration.
    Please add a picture description
  3. Open http://localhost to access the login page, the account admin password is admin123.

5. Project Features

  1. In order to maintain the versatility of the platform, all user task management interfaces can be reused 22. /task/manage/completeTask/{taskId}.
  2. For form processing, always use an external form, and save the business form data in the business table, not in the variable table of the activiti process.
  3. The front-end page is associated with the user task through the formkey. When handling the task, the corresponding front-end page is displayed by obtaining the formkey value.
  4. Integrate the flow chart online designer, after the design needs to be published, the deployment of the process is completed.
  5. If you need to add a new process, after the design is completed, you need to write front-end and back-end codes to complete the development of business logic.
  6. The infrastructure for adding, deleting, modifying, querying, rights management, code generation, and page interaction is provided by the Ruoyi platform.
  7. Process instance management is used to manage the list of running process instances, and you can suspend or wake up a process instance.
  8. The process running history is used to view the history of the process (including running and ended), and you can also view the variables of all processes.
  9. Supports dynamic processes, and can perform operations such as revoking, rejecting, and jumping process instances.

6. Project function introduction

6.1 System Management

Like other systems, it includes user management, role management, menu management, department management, post management, dictionary management, parameter settings, notification announcements, log management and other pages.
insert image description here
insert image description here
insert image description here

6.2 Monitoring and tools

Provide a series of monitoring tools, such as service monitoring, cache monitoring, online users, scheduled tasks, etc. At the same time, you can use low-code generation pages and interfaces through system tools, and most of the code can be generated through the page.

insert image description here
insert image description here

6.3 Process design

First, import or write bpmn files through model management to generate process business, and then deploy the model as an instance through deployment management.
insert image description here
insert image description here

6.4 Applying/approving

First, through the function table module, select the application you want to submit, fill in the application form, the form will send a message to the approver according to the model, and then query the data that needs to be approved by yourself in the to-do task.
Please add a picture description
Please add a picture description

6.5 View History

You can view the running history, execution history, and published instances in Process Monitor.
Please add a picture description

7. Summary

  1. The project adopts ruoyi's monolithic architecture, uses springboot+layui, and the front and back ends are not separated. The project is simple and clear, and easy to build.
  2. The page is clear and impressive, the operation is convenient, the color matching is reasonable, and it is very comfortable to use.
  3. The approval business process can go through and meet the daily production needs.
  4. Without dynamic forms, departmental functions require secondary development.

On the whole, the project is very good. Whether it is learning, production development or design papers, it meets the needs of users. It is highly recommended to download and learn and use.

Please pay attention to the official account below and reply to the flowable approval system to obtain the source code. You can also get thousands of e-books, 2000g learning videos and nearly a hundred sets of complete source codes.

Guess you like

Origin blog.csdn.net/qq_20143059/article/details/131436670