Bỏ qua, đến nội dung

@digiforce-nc/plugin-workflow-date-calculation

Plugin đăng ký node tính toán ngày tháng trong workflow, mở rộng plugin-workflow. Hỗ trợ cộng/trừ thời gian, tính khoảng cách giữa hai ngày, và định dạng ngày tháng.

Plugin này làm gì?

Node Date Calculation thực hiện các phép tính trên dữ liệu ngày tháng: cộng/trừ khoảng thời gian, tính hiệu hai ngày, chuyển đổi định dạng. Kết quả được lưu vào biến workflow để sử dụng trong các node tiếp theo.

Hỗ trợ 3 chế độ chính:

  • Add/Subtract: Cộng hoặc trừ một khoảng thời gian vào ngày gốc
  • Diff: Tính khoảng cách giữa hai ngày (theo đơn vị mong muốn)
  • Format: Chuyển đổi ngày sang chuỗi theo format tùy chỉnh

Cấu hình

Tham sốKiểuMô tả
enginestringLoại phép tính: add, subtract, diff, format
sourceDatestringBiến chứa ngày gốc (hoặc now cho thời điểm hiện tại)
durationnumberGiá trị cộng/trừ
unitstringĐơn vị: years, months, weeks, days, hours, minutes, seconds
targetDatestringBiến chứa ngày đích (cho phép tính diff)
formatstringPattern định dạng kết quả (ví dụ: YYYY-MM-DD HH:mm)

Input / Output

HướngDữ liệuMô tả
InputsourceDateNgày gốc (Date, string ISO, hoặc timestamp)
InputtargetDateNgày đích (cho phép tính diff)
InputdurationGiá trị thời gian cộng/trừ
OutputresultKết quả: Date mới (add/subtract), number (diff), string (format)

Tính năng chính

#Tính năngChi tiết
1Cộng/trừ thời gianThêm hoặc bớt khoảng thời gian từ ngày gốc
2Tính khoảng cáchTính hiệu giữa hai ngày theo đơn vị mong muốn
3Định dạngChuyển đổi ngày sang chuỗi theo format tùy chỉnh
4Nhiều đơn vịHỗ trợ từ giây đến năm
5Biến độngSử dụng biến workflow làm input (không chỉ giá trị cố định)

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

#Kịch bảnMô tả
1Hạn thanh toánTính ngày đáo hạn = ngày tạo đơn + 30 ngày
2Nhắc nhở trước hạnTính ngày nhắc = deadline - 3 ngày, gửi notification
3Tính tuổidiff(ngày sinh, now) theo năm
4SLA trackingTính thời gian xử lý = diff(created, resolved) theo giờ
5Format hiển thịChuyển ISO date sang "dd/MM/yyyy" cho email tiếng Việt

Lưu ý quan trọng

  • Kết quả diff luôn trả về giá trị dương (absolute difference)
  • Định dạng now sử dụng timezone của server, không phải client
  • Duration hỗ trợ số thập phân: 1.5 hours = 1 giờ 30 phút
  • Khi add/subtract tháng, ngày cuối tháng được xử lý thông minh (31/1 + 1 tháng = 28/2)
  • Kết quả format trả về string, không thể dùng tiếp cho phép tính ngày khác

Dependencies

PackageVai trò
@digiforce-nc/plugin-workflowWorkflow engine (peer)
@digiforce-nc/serverServer framework (peer)

Mục lục chi tiết