🛡️ Luật Nghiệp Vụ & Ràng Buộc Toàn Vẹn (Invariants)
Các điều kiện ràng buộc mà Aggregate Root luôn phải duy trì ở mọi trạng thái:
🛡️
Liên kết BOM Snapshot bất biến
Một khi Lệnh sản xuất đã được duyệt và chuyển xuống tổ máy (`APPROVED` / `RELEASED`), bản BOM Snapshot đính kèm của nó không được phép chỉnh sửa để đảm bảo tính lịch sử và cơ sở dữ liệu đối soát khi có sự cố WIP.
🛡️
Ràng buộc thời gian (Due Date Constraint)
Ngày bắt đầu dự kiến (`scheduledStartDate`) cộng tổng thời gian gia công (`leadTime`) tại các trạm không được phép lớn hơn ngày đến hạn giao hàng của đơn hàng (`dueDate`) trừ đi biên độ đệm an toàn.
🔄 Vòng Đời & Máy Trạng Thái Của WorkOrder
Các trạng thái hợp lệ và đường chuyển dịch trạng thái của Lệnh sản xuất: