📖 1. Ngôn Ngữ Chung (Ubiquitous Language)
Chuẩn hóa các thuật ngữ điều hành phân xưởng và thực thi sản xuất sử dụng thống nhất trong codebase.
📐 2. Sơ Đồ Thiết Kế Domain Model
Sơ đồ biểu diễn ProductionTask Bounded Context và ranh giới Vé việc sản xuất.
📂 3. Các Aggregates & Ranh Giới Nghiệp Vụ
Bản đặc tả chi tiết quy tắc nghiệp vụ tĩnh và ranh giới giao dịch của phân hệ Điều hành xưởng.
ProductionTask Aggregate (Giao dịch vé việc tại xưởng)
Ranh giới quản lý tiến độ chạy thực tế và các nhật trình của công nhân. Ranh giới này bảo đảm các phiếu giao việc được điều phối đúng tổ đội và ghi nhận sản lượng chính xác.
- Quy tắc 1: Không cho phép bắt đầu (IN_PROGRESS) vé việc con khi vé việc cha trong `TicketParent` vẫn ở trạng thái chưa hoàn thành (`stillDependent = true`).
- Quy tắc 2: Số lượng sản phẩm giao trong các Ticket không được vượt quá số lượng của Lệnh sản xuất gốc.
- Quy tắc 3: Trạng thái của ProductionTask cha tự động cập nhật đồng bộ dựa trên tiến độ check-in thực tế của các Ticket con bên dưới.
🔌 4. Domain Events & Domain Services
Các sự kiện và dịch vụ nghiệp vụ liên vùng được tích hợp trong phân hệ.
Domain Events (Sự kiện nghiệp vụ)
- `TicketAssignedEvent`: Phát ra khi vé việc được chỉ định cho công nhân/tổ sản xuất. Hệ thống đẩy tin báo mobile cho công nhân vào xưởng nhận việc.
- `CheckInSubmittedEvent`: Phát ra khi công nhân gửi lượng hoàn thành. Kích hoạt cập nhật lũy kế sản lượng của trạm, và tự động kiểm tra giải phóng các mối quan hệ phụ thuộc công đoạn.
Domain Services (Dịch vụ nghiệp vụ)
`TicketDispatchService` (Phân rã lệnh xưởng)
Đảm nhiệm bóc tách Lệnh sản xuất tổng thể thành các nhiệm vụ chi tiết cho từng công đoạn công nghệ:
- Đọc cấu hình công đoạn trong `BomWorkStep`.
- Tạo các Ticket giao việc cho từng phân xưởng tương ứng.
- Phân tích `dependsOnStepIds` để lập mối quan hệ `TicketParent` chặn chạy lệnh sai thứ tự công nghệ.
🏁 5. Luồng Nghiệp Vụ Chính (Happy Path Flow)
Quy trình dòng chảy công việc chuẩn từ khi tạo vé việc đến khi hoàn thành đóng gói xuất xưởng.
Phân rã vé việc
Hệ thống tự động bóc tách Lệnh sản xuất thành các Ticket theo công đoạn.
Tổ trưởng phân việc
Tổ trưởng nhận vé việc trên bảng điều khiển, chia nhỏ cho công nhân trong tổ.
Check-in tiến độ
Công nhân quét mã nhận việc, gửi báo cáo sản lượng qua mobile app sinh ra TicketLog.
Giải phóng công đoạn
Hoàn thành 100% công đoạn trước, hệ thống tự động gỡ chặn công đoạn tiếp theo.