Bỏ qua, đến nội dung

@digiforce-nc/plugin-workflow-approval-process

Plugin đăng ký node phê duyệt nhiều bước (approval process) trong workflow, mở rộng plugin-workflow. Hỗ trợ cấu hình assignees, ngưỡng phê duyệt, form phê duyệt, và quy trình nhiều cấp.

Plugin này làm gì?

Node Approval Process tạm dừng workflow để chờ một hoặc nhiều người phê duyệt xác nhận. Mỗi bước phê duyệt có thể cấu hình danh sách assignees, ngưỡng (threshold) đồng ý, và form nhập lý do. Workflow chỉ tiếp tục khi đạt đủ điều kiện phê duyệt.

Approval Process xây dựng trên nền Manual node, bổ sung thêm:

  • Logic tính threshold (đủ số người approve)
  • Chuỗi nhiều cấp phê duyệt (multi-level)
  • Timeout và escalation tự động

Cấu hình

Tham sốKiểuMô tả
assigneesarrayDanh sách user/role được phân công phê duyệt
thresholdnumberSố lượng hoặc tỷ lệ approve cần đạt (ví dụ: 2 hoặc 100%)
modestringChế độ: all (tất cả), any (bất kỳ), percentage
formobjectCấu hình form nhập lý do khi approve/reject
timeoutnumberThời gian tối đa chờ phê duyệt (ms), 0 = không giới hạn
onTimeoutstringHành vi khi hết thời gian: approve, reject, escalate
escalateToarrayDanh sách user nhận escalation khi timeout

Input / Output

HướngDữ liệuMô tả
InputdataDữ liệu bản ghi cần phê duyệt
InputassigneesDanh sách người phê duyệt (có thể động từ biến)
Outputstatusapproved / rejected / timed_out
OutputapprovalsDanh sách chi tiết ai đã approve/reject
OutputcommentLý do từ form phê duyệt

Tính năng chính

#Tính năngChi tiết
1Nhiều cấp phê duyệtChuỗi nhiều node approval nối tiếp nhau
2Threshold linh hoạtCấu hình số người / tỷ lệ cần approve
3Form phê duyệtNgười phê duyệt nhập lý do, ghi chú qua form
4Timeout & EscalationTự động xử lý khi quá thời gian chờ
5Dynamic assigneesDanh sách phê duyệt từ biến workflow

Trường hợp sử dụng

#Kịch bảnMô tả
1Duyệt đơn mua hàngManager, Director, CFO theo giá trị đơn hàng
2Duyệt nghỉ phépTrưởng phòng duyệt, HR xác nhận
3Duyệt nội dungEditor review, Chief Editor approve trước khi publish
4Duyệt chi phíTheo threshold: dưới 10M tự động, trên 10M cần giám đốc

Lưu ý quan trọng

  • Node Approval kế thừa từ Manual node - cần cài plugin-workflow-manual
  • Khi mode = percentage, threshold là số phần trăm (ví dụ: 60 = 60%)
  • Nếu một approver reject, workflow có thể dừng ngay tùy cấu hình
  • Timeout chỉ hoạt động khi server đang chạy - restart server sẽ reschedule
  • Sử dụng node Condition sau Approval để phân nhánh theo kết quả approve/reject

Dependencies

PackageVai trò
@digiforce-nc/plugin-workflowWorkflow engine (peer)
@digiforce-nc/plugin-workflow-manualManual node base (peer)
@digiforce-nc/serverServer framework (peer)
@digiforce-nc/clientClient - UI phê duyệt (peer)
@digiforce-nc/databaseDatabase ORM (peer)

Mục lục chi tiết