Hướng Dẫn Triển Khai Hệ Thống Quản Lý Quy Trình Nghiệp Vụ Với RuoYi-Flowable-Plus

Cài Đặt Và Tối Ưu Hóa Giải Pháp Quy Trình Trên Nền Tảng RuoYi

Một hệ thống quản lý quy trình doanh nghiệp hiệu quả là yếu tố then chốt trong chiến lược chuyển đổi số hiện nay. RuoYi-Flowable-Plus cung cấp giải pháp mã nguồn mở dựa trên kiến trúc RuoYi-Vue-Plus, tích hợp sâu với cơ sở dữ liệu BPMN của Flowable. Dự án này được tối ưu hóa cho việc xây dựng các ứng dụng phức tạp với khả năng tùy biến cao, cho phép người dùng định nghĩa quy trình trực quan mà không cần viết quá nhiều mã lõi.

Kiến Trúc Công Nghệ

Sự ổn định và khả năng mở rộng của hệ thống được đảm bảo nhờ sự kết hợp giữa các thành phần công nghệ phổ biến:

  • Nền tảng Backend: Sử dụng Spring Boot 2.7 cùng MyBatis Plus để xử lý truy xuất dữ liệu hiệu quả.
  • Giao diện Người Dùng: Vue.js phiên bản 2.x đi kèm Element UI giúp xây dựng giao diện tương tác mượt mà.
  • Core Engine: Flowable 6.8.0 tuân thủ chuẩn BPMN 2.0 cho các mô hình quy trình.
  • Xác thực: Framework Sa-Token quản lý quyền truy cập nhẹ nhàng và bảo mật.
  • Hạ tầng Cơ sở dữ liệu: Tương thích đa dạng với MySQL, Oracle, PostgreSQL và SQL Server.

Hướng Dẫn Thiết Lập Môi Trường

Để bắt đầu triển khai, hãy đảm bảo máy chủ phát triển đã đáp ứng các yêu cầu sau đây trước khi tiến hành clone kho lưu trữ:

Chuẩn bị Môi Trường

Các tiện ích bắt buộc bao gồm JDK 1.8+, Maven 3.6+, Node.js 14+, Redis 5.0+ và MySQL 5.7+. Sao chép mã nguồn từ kho Git chính thức về cục bộ:

git clone https://gitcode.com/gh_mirrors/ru/RuoYi-Flowable-Plus
cd RuoYi-Flowable-Plus

Tổng Dữ Liệu Ban Đầu

Thao tác tiếp theo là thiết lập không gian làm việc cho cơ sở dữ liệu. Tạo một database mới và nạp các tệp SQL cấu hình hệ thống cũng như quy trình:

CREATE DATABASE ruoyi_flowable DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE ruoyi_flowable;
SOURCE script/sql/mysql/mysql_ry_v0.8.X.sql;
SOURCE script/sql/mysql/flowable_6.7.2_mysql.sql;

Lưu ý: Nếu bảng chưa được tạo tự động sau lần chạy đầu tiên, hãy thực thi thêm script quy trình.

Cấu Hình Kết Nối

Trong thư mục dự án, chỉnh sửa thông tin kết nối tại đường dẫn ruoyi-admin/src/main/resources/application-druid.yml. Đảm bảo URL, tên đăng nhập và mật khẩu khớp với cơ sở dữ liệu đã tạo ở bước trên.

Xây Dựng Và Khởi Động

Thực hiện biên dịch phần mềm phía máy chủ rồi kích hoạt dịch vụ:

# Terminal 1 (Backend)
mvn clean install -Dmaven.test.skip=true
cd ruoyi-admin
mvn spring-boot:run

# Terminal 2 (Frontend)
cd ruoyi-ui
npm install --registry=https://registry.npmmirror.com
npm run dev

Truy cập địa chỉ http://localhost:80. Đăng nhập bằng tài khoản mặc định để kiểm tra hệ thống đã hoạt động chính xác hay chưa:

  • Tên người dùng: admin
  • Mật khẩu: admin123

Tính Năng Nổi Bật Của Hệ Thống

Dự án tập trung vào trải nghiệm người dùng thông qua giao diện kéo thả và khả năng quản lý vòng đời toàn diện.

Thiết Kế Quy Trình Trực Quan

Công cụ vẽ biểu đồ hỗ trợ chuẩn BPMN 2.0 cho phép bạn thiết lập luồng công việc mà không cần nhúng mã cứng. Các chức năng chính bao gồm:

  • Kéo thả các khối từ thanh công cụ sang canvas.
  • Mô phỏng chạy thử quy trình ngay lập tức.
  • Định nghĩa các điều kiện rẽ nhánh linh hoạt thông qua biểu thức.
  • Liên kết liền mạch giữa sơ đồ quy trình và mẫu biểu mẫu điện tử.

Hệ Thống Biểu Mẫu Thông Minh

Không còn phụ thuộc vào lập trình viên để tạo form nhập liệu. Bạn có thể tùy chỉnh các thành phần giao diện như ô văn bản, ngày tháng, danh sách chọn, hoặc tải lên tập tin thông qua trình soạn thảo web.

Quản Lý Vòng Đời Quy Trình

Cơ chế vận hành bao phủ từ lúc thiết kế đến khi lưu trữ hồ sơ:

Giai ĐoạnNhiệm VụĐặc Điểm Chính
Khởi TạoTạo Mô HìnhLưu phiên bản, nhập/xuất dữ liệu
Triển KhaiKích Hoạt Định NghĩaBấm nút deploy duy nhất
Vận HànhXử Lý Tác VụNhận xét, ủy quyền, tìm kiếm trạng thái
Giám SátPhân Tích Hiệu SuấtBiểu đồ thời gian chờ, điểm nghẽn
Lưu TrữQuản Lý Lịch SửXuất báo cáo thống kê

Trường Hợp Thực Tế: Quy Trình Phê Duyệt Đơn Xin Nghỉ Việc

Để minh họa cách sử dụng, ta sẽ thiết lập một chuỗi phê duyệt cho nhân viên xin nghỉ phép.

  1. Khởi Tạo Mô Hình: Truy cập mục Quản lý quy trình và chọn tạo mới. Đặt tên là "Quy Trình Nghỉ Phép Nhân Viên".
  2. Định Hình Nodes: Thêm sự kiện bắt đầu, nhiệm vụ người dùng cho người nộp đơn, nhiệm vụ phê duyệt cho quản lý, và cổng logic để quyết định đi tiếp hay từ chối.
  3. Thiết Lập Dữ Liệu: Trong phần quản lý biểu mẫu, tạo các trường cần thiết như loại nghỉ, ngày bắt đầu, ngày kết thúc và lý do. Gán quyền truy cập sao cho chỉ quản lý mới có thể nhìn thấy nút phê duyệt.
  4. Triển Khai & Thử Nghiệm: Lưu mô hình và nhấn Deploy. Kiểm tra bằng cách đăng nhập bằng tài khoản nhân viên để khởi tạo đơn và sau đó dùng tài khoản quản lý để xem và ký duyệt.

Cấu Trúc Mã Nguồn

Hiểu rõ phân lớp giúp việc bảo trì và nâng cấp dễ dàng hơn.

Module Phía Máy Chủ

Logic nghiệp vụ nằm chủ yếu trong ruoyi-flowable. Cụ thể:

  • listener: Chứa các handler để phản hồi sự kiện.
  • flow: Thư viện utility cho việc xử lý quy trình.
  • controller: API nhận request HTTP để quản lý quy trình và nhiệm vụ.

Module Phía Client

Giao diện người dùng được đóng gói tại ruoyi-ui/src/views/workflow. Mỗi module con đại diện cho một trang chức năng riêng biệt như quản lý mô hình hoặc hộp thư đến.

Mở Rộng Chức Năng Nâng Cao

Trong các tình huống nghiệp vụ phức tạp, hệ thống hỗ trợ ghi đè hành vi mặc định bằng Listener tùy chỉnh.

Tạo Listener Tùy Biến

Bạn có thể định nghĩa logic chạy song song khi một nhiệm vụ được tạo hoặc hoàn thành. Ví dụ dưới đây sử dụng Spring Component để ghi nhật sự thay đổi trạng thái nhiệm vụ:

@Component
public class CustomStatusLogger implements TaskListener {
    @Override
    public void notify(DelegateTask delegateTask) {
        String id = delegateTask.getId();
        String user = delegateTask.getAssignee();
        
        // Ghi log chi tiết thay vì xử lý cố định
        System.out.println("Task [" + id + "] được giao cho user: " + user);
        
        // Logic gửi thông báo webhook hoặc email tại đây
    }
}

Tích Hợp Ngoài

Khả năng mở rộng không giới hạn trong nội bộ hệ thống. Bạn có thể gọi API REST của bên thứ ba hoặc sử dụng RabbitMQ/Kafka để xử lý bất đồng bộ các tác vụ nặng nề, đảm bảo giải耦 giữa quy trình kinh doanh và hạ tầng ngoại vi.

Xử Lý Sự Cố Thường Gặp

  • Lỗi Kết Nối Cơ Sở Dữ Liệu: Kiểm tra port 3306 đã mở chưa và mật khẩu trong file YAML có đúng không.
  • Màn Hình Trắng Khi Load Designer: Thường do thiếu thư viện npm hoặc cache trình duyệt. Hãy xóa cache và rebuild lại frontend.
  • Quy Trình Bị Treo: Xem lại điều kiện boolean trong cổng rẽ nhánh (Gateway) hoặc vai trò của người được giao task.
  • Mất Dữ Liệu Biểu Mẫu: So sánh cấu hình JSON của form với tên cột trong database, đảm bảo không bị trùng tên.

Khuyến Nghị Bảo Mật & Vận Hành

Đối với môi trường Production, cần đặc biệt chú trọng đến cấu hình hạ tầng và an ninh mạng.

Thông Số Phần Cứng

Hệ thống khuyến nghị sử dụng CPU 4 nhân trở lên và RAM tối thiểu 8GB để đảm bảo độ trễ thấp khi xử lý hàng loạt yêu cầu.

Biện Pháp An Toàn

  1. Luôn thay đổi mật khẩu admin mặc định sau khi cài đặt.
  2. Sử dụng SSL/TLS để mã hóa đường truyền HTTPS.
  3. Cấu hình tường lửa chặn các cổng không cần thiết.
  4. Tập hợp backup tự động cho cơ sở dữ liệu mỗi ngày.

Quản Lý Phiên Bản

Sử dụng Git Flow để phân nhánh mã nguồn, tránh xung đột khi phát triển các tính năng lớn cùng lúc với giai đoạn bảo trì dự án.

Thẻ: ruoyi Flowable SpringBoot Vue.js bpmn

Đăng vào ngày 5 tháng 6 lúc 16:45