Inventory & Supply Chain Domain / HTML Specification
Bounded Context 5

Inventory & Supply Chain Domain

Tài liệu đặc tả nghiệp vụ chi tiết về quản lý xuất nhập tồn bán thành phẩm (WIP) tại trạm máy phân xưởng, xử lý phiếu bàn giao nội bộ và bóc tách nhu cầu vật tư cung ứng.

📖 1. Ngôn Ngữ Chung (Ubiquitous Language)

Chuẩn hóa các thuật ngữ quản lý kho trạm xưởng và cung ứng vật tư sử dụng thống nhất trong codebase.

Thuật ngữ (Việt - Anh) Mã nguồn (Model) Định nghĩa nghiệp vụ & Ranh giới
Kho Trạm Máy
Workstation Inventory
WorkstationInventory Lượng tồn kho bán thành phẩm đang lưu trữ thực tế tại trạm máy phân xưởng, liên kết với một lệnh sản xuất cụ thể.
Phiếu Bàn Giao Xưởng
Goods Receipt
GoodsReceipt Chứng từ số hóa ghi nhận việc chuyển dịch bán thành phẩm giữa trạm nguồn và trạm đích để tiếp quản sản lượng.
Nhật Trình Kho Trạm
Workstation Inventory Log
WorkstationInventoryLog Ghi nhận chi tiết nhật ký xuất/nhập/điều chỉnh thực tế của các dòng vật tư dở dang tại trạm máy.
Nhà Cung Cấp
Vendor
Vendor Đối tác cung ứng các nguyên vật liệu thô (sắt cây, bột sơn, bu lông, bao bì) đầu vào cho nhà máy.

📐 2. Sơ Đồ Thiết Kế Domain Model

Sơ đồ mối quan hệ giữa các Aggregates, Entities, và Value Objects trong phân hệ Kho & Vật tư.

1 - N Bàn giao WorkstationInventory Aggregate WorkstationInventory Aggregate Root InventoryLog Entity GoodsReceipt Aggregate Root

📂 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ệ Quản lý kho xưởng.

Inventory Core

WorkstationInventory Aggregate (Giao dịch tồn kho trạm xưởng)

Ranh giới quản lý toàn bộ các biến động bán thành phẩm và vật tư dở dang tại trạm máy. Ranh giới này bảo vệ tính đúng đắn của lượng tồn kho xưởng thực tế.

  • Quy tắc 1: Không cho phép lượng tồn kho thực tế âm. Hành vi xuất kho chỉ được thực hiện khi lượng tồn khả dụng (quantity - reservedQuantity) lớn hơn hoặc bằng lượng xuất.
  • Quy tắc 2: Mỗi dòng tồn kho được ràng buộc duy nhất bởi tổ hợp: Trạm máy, Cấu phần BOM, Lệnh sản xuất, Chi tiết lệnh sản xuất và Công đoạn.
  • Quy tắc 3: Các biến động xuất nhập bắt buộc phải tạo nhật trình ghi nhận vào bảng `WorkstationInventoryLog`.

🔌 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ụ)

  • `InventoryUpdatedEvent`: Phát ra khi tồn kho trạm máy thay đổi, kích hoạt đồng bộ hóa bảng báo cáo sản lượng tồn kho xưởng.
  • `GoodsReceiptConfirmedEvent`: Phát ra khi xác nhận bàn giao thành công, tự động trừ kho trạm nguồn, cộng kho trạm đích tương ứng và ghi nhận lịch sử biến động.

Domain Services (Dịch vụ nghiệp vụ)

`InventoryMetricService` (Đồng bộ tồn kho trạm)

Thực hiện tổng hợp số lượng xuất/nhập/tồn tại trạm máy và quy đổi đơn vị đo theo 3 nhóm vật liệu:

  • Sắt/Nhôm: Trọng lượng (kg) = component.weightKg × Q.
  • Gỗ: Thể tích (m³) = (lengthOfBoxCm × widthOfBoxCm × thicknessCm / 1,000,000) × Q.
  • Cần nhập: = Kế hoạch plannedQuantity - Đã nhập thực tế (WIP_IN).

🏁 5. Luồng Nghiệp Vụ Chính (Happy Path Flow)

Quy trình dòng chảy bàn giao bán thành phẩm và cập nhật số lượng tồn kho trạm máy xưởng.

1

Tạo phiếu bàn giao

Tạo GoodsReceipt khi trạm nguồn hoàn thành một lượng sản lượng nhất định.

2

Vận chuyển nội bộ

Bán thành phẩm được vận chuyển vật lý sang khu vực trạm máy đích tiếp quản.

3

Xác nhận tiếp nhận

Trạm đích kiểm đếm số lượng và bấm xác nhận, chuyển trạng thái phiếu sang CONFIRMED.

4

Cập nhật báo cáo

Hệ thống tự động trừ kho trạm nguồn, cộng kho trạm đích và cập nhật metrics (Sắt/Nhôm/Gỗ).