Business Logic Layer: "Bộ Não" Của Hệ Thống ERP
Trong kiến trúc Level 7 của VinhPhatERP, tầng Business Logic (Core Domain) đóng vai trò trung tâm, quản lý toàn bộ quy trình và quy tắc nghiệp vụ của doanh nghiệp.
1. Đặc tính "Pure TypeScript"
Nằm tại thư mục src/domain/, lớp này được viết bằng TypeScript thuần túy. Đặc điểm quan trọng nhất là nó không phụ thuộc vào bất kỳ thư viện bên ngoài nào (React, Supabase). Điều này giúp logic nghiệp vụ luôn nhất quán và dễ dàng bảo trì.
2. 4 Nhiệm vụ cốt lõi
- 🔹 Data Mapping: Chuyển đổi dữ liệu từ Form người dùng sang định dạng API chuẩn (Payload).
- 🔹 Calculations: Xử lý các phép tính phức tạp (tính khối lượng, phí vận chuyển, chiết khấu).
- 🔹 Status Guards: "Vệ binh" kiểm soát quyền thực hiện hành động dựa trên trạng thái (vd: Chỉ cho phép sửa đơn khi đang chuẩn bị).
- 🔹 Domain Validation: Đảm bảo các ràng buộc đặc thù của ngành dệt may luôn được tuân thủ.
💡 Key Takeaway: Tách biệt Core Domain giúp việc kiểm thử (Testing) trở nên cực kỳ đơn giản và đảm bảo hệ thống không bị lỗi dây chuyền khi thay đổi giao diện.