Đánh Giá Tác Động / Phân Hệ Định Tuyến Động
Phân tích blast radius

Đánh Giá Tác Động Hệ Thống

Phân tích phạm vi ảnh hưởng (Blast Radius) khi refactor luồng BOM & Định tuyến xưởng sang mô hình tự động điền mẫu và thêm bớt công việc động tại phân xưởng MES.

💾 1. Tác Động Cấu Trúc Cơ Sở Dữ Liệu (Database Schema)

Bổ sung cấu hình công đoạn mẫu cho Loại chi tiết và giải phóng liên kết bắt buộc ở bảng Task/Ticket để hỗ trợ thêm công đoạn ngoài kế hoạch.

A. Bảng Mới: Cấu hình công đoạn mẫu (ComponentTypeStep)

model ComponentTypeStep { id Int @id @default(autoincrement()) componentTypeId String // Loại chi tiết (ví dụ: STEEL_SUBASSEMBLY, STEEL_PART, WOOD_SUBASSEMBLY, WOOD_PART) stepName String // Tên công đoạn (ví dụ: Cắt Phôi, Uốn Ống) sequenceOrder Int // Thứ tự thực hiện (1, 2, 3...) defaultEstimateTime Int // Thì giờ ước tính mặc định (giây) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([componentTypeId]) }

B. Các bảng hiện tại chịu tác động

Tên Bảng Nội Dung Thay Đổi Tác Động Ý Nghĩa Nghiệp Vụ
ProductionTask Cho phép `bomWorkStepId` chấp nhận giá trị Nullable (`Int?`) MODIFY Giúp tạo các Task đột xuất (Ad-hoc) tại xưởng mà không cần thuộc một BOM gốc.
Ticket Cho phép `bomWorkStepId` chấp nhận giá trị Nullable (`Int?`) MODIFY Hỗ trợ quét check-in/check-out cho công việc tự phát sinh dưới trạm máy.
BomWorkStep Bổ sung quan hệ `workOrderId` và `isAdhoc` RELATION Khi chèn/xóa công đoạn động ở xưởng, backend tự sinh bản ghi `BomWorkStep` đi kèm Lệnh sản xuất.

⚙️ 2. Tác Động Logic Nghiệp Vụ (Backend Usecases)

Tạo BOM nháp
Usecase `CreateDraftBomFromStructure` đọc cây cấu trúc sản phẩm. Dựa trên phân loại `ComponentType` của từng linh kiện, truy vấn `ComponentTypeStep` để tự động điền các bước công đoạn và ghi nhận BOM ở trạng thái `DRAFT` nháp.
Chèn Task inline
Usecase `AddProductionTaskDynamicUsecase` sinh ra một `ProductionTask` mới và `Ticket` đi kèm. Đồng thời chèn 1 bản ghi `BomWorkStep` (gắn cờ `isAdhoc: true`) liên kết vào BOM của Lệnh sản xuất tương ứng để đồng bộ ngược dữ liệu.
Xóa Task xưởng
Usecase `DeleteProductionTaskDynamicUsecase` thực hiện đánh dấu xóa `isDeleted: true` với Task và Ticket của bước bị loại bỏ, đồng thời ngắt liên kết và xóa `BomWorkStep` tương ứng trong BOM.

📈 3. Cơ Chế Validate BOM & Tác Động Dữ Liệu bomroutingconfig

Phân tích luồng dữ liệu khi thực hiện Validate định tuyến BOM dưới nhà xưởng độc lập với Lệnh sản xuất:

Luồng Xử Lý Validate BOM & Sinh Đường Đi Phân Xưởng

R&D Phác thảo Draft BOM
Chạy Validate công đoạn tại trạm máy
Duyệt OK ➔ Chốt bomroutingconfig
Tự động vẽ Sơ đồ đường đi thiết bị nhà máy
  • Độc lập với Kế hoạch Sản xuất (Order-Independent): Việc validate BOM tại các trạm máy dưới xưởng là quy trình kiểm chứng độc lập trước khi có kế hoạch sản xuất chính thức, tránh làm ô nhiễm dữ liệu của PMC hay Gantt scheduling.
  • Sinh bomroutingconfig chuẩn: Chỉ khi các công đoạn đã được thử nghiệm vật lý thực tế, chỉnh sửa chèn/xóa và chốt "Xác nhận Validate OK", hệ thống mới sinh ra tệp bomroutingconfig chính thức.
  • Vẽ đường đi của BOM trong nhà máy (Hierarchy Path): Tệp bomroutingconfig được phê duyệt là nguồn dữ liệu duy nhất dùng để ánh xạ các bước sang cơ cấu phân xưởng thực tế: Nhà máy ➔ Phân xưởng (Workshop) ➔ Tổ sản xuất (Team) ➔ Trạm máy công đoạn (Operation/Station), giúp mô phỏng chính xác đường đi cơ học của cấu phần qua các khu vực vật lý.
  • Tác động Báo cáo Số liệu (Report Progress): Tiến độ hoàn thành của ca Validate, số lượng vé tạm thời (`ticketCount`), và tổng thời gian định mức tiêu hao được đồng bộ liên tục để hỗ trợ kỹ thuật viên đánh giá độ khả thi trước khi đóng băng định tuyến.

⚠️ Lưu ý đối với Bản đồ Đường đi:

Không vẽ sơ đồ đường đi phân xưởng trên các bản BOM nháp chưa được duyệt. Sơ đồ này chỉ được tạo lập dựa trên cấu hình định tuyến đã validate thành công (tệp bomroutingconfig chuẩn) theo đúng cấp bậc phân xưởng, tổ và trạm máy công đoạn vận hành để đảm bảo tính an toàn cho luồng di chuyển vật lý của xe nâng và bán thành phẩm dưới xưởng.

💻 4. Tác Động Giao Diện Người Dùng (Frontend UI/UX)

  • Màn hình Quản lý danh mục: Thêm phân hệ thiết lập công đoạn mẫu gắn với `ComponentType` (Loại chi tiết) dạng lưới kéo thả hoặc bảng thứ tự đơn giản.
  • Màn hình Quản lý BOM: Bổ sung chế độ chỉnh sửa nháp trực quan dạng danh sách nhóm, cho phép click đúp sửa trực tiếp số giây định mức chạy máy (Estimate Time) và dồn thứ tự.
  • Giao diện Timeline MES xưởng (Tablet):
    • Ẩn/hiện timeline chi tiết theo chế độ đóng/mở mặc định (Default Collapse) để tối ưu không gian hiển thị trên màn hình iPad/Tablet công nhân.
    • Tích hợp thanh tiến độ động (animated striped progress bar) tính toán độ phủ hoàn thành theo số công đoạn đã báo cáo.
    • Tích hợp các nút chèn inline `+` giữa các trạm máy để Tổ trưởng thêm nhanh các bước phát sinh ngoài dự kiến (như mài bavia, xử lý lỗi gỗ) ngay tại hiện trường máy đứng.