Packing Planning Logo — Planner lập Packing Plan 3 bước (chọn LOT Trimming Result → chọn Repair Inventory → phân bổ vào Customer P.O), mỗi P.O một plan, Release Plan → RELEASED và tự tạo MOR vật tư đóng gói; plan RELEASED sang Packing Result Logo

Fine Chemical (FC) · Module MES · v0.5 · 14/10/2026 · Flow chuẩn — dùng để triển khai, kiểm thử và phát triển

Process Flow (swimlane)

MES · Packing Planning Logo — Planner lập plan 3 bước, mỗi P.O một plan, Release tự tạo MOR vật tư đóng góiPhaseInputPlannerOutputNgoại lệ — Revision plan đã ReleaseKhông — sửa sốCóCóChưaWaiting Packing (TrimmingResult) — LOT Logo · OOMGRepair Inventory — hàng Repaired(Trimming · Pending repair)Remaining chưa nhậptrả về — Packing Result LogoCustomer P.O · ETD · P.OMonth (Sales Order)Remaining P.O nguồn hoàntrả — Exchange Customer POMaster data: Packing BOM(Model · Size · Destination)Master dataStart▣ Packing Planning LogoTạo Packing PlanWeb▣ Packing Planning LogoStep 1 · Chọn LOTTrimming ResultWeb▣ Packing Planning LogoStep 2 · ChọnRepair InventoryWeb▣ Packing Planning LogoStep 3 · Phân bổvào Detail P.OWebPhân bổ hợp lệ?▣ Packing Planning LogoPhát hành Packing PlanWeb▣ Packing Planning LogoTách plan theo P.O· giữ nguồnSystem (auto)▣ Packing Planning LogoTạo MOR vật tưđóng gói (một / plan)System (auto)EndCần RevisionPlan đã cóRecord Output?▣ Packing Planning LogoTạo RevisionPacking PlanWeb▣ Packing Planning LogoPhát hành lạiPacking PlanWebEndPlan RELEASED (Waiting) →Packing Result Logo ·nguồn Exchange Customer POMOR vật tư đóng gói (tựtạo khi Release) → WMSRevision bị khoá — planđã có sản lượngPlan NEW · mở thẳng Step 3để sửa sốPlan RELEASED lại · giữMOR cũPlanner mở trang lập Packing Plan cho hàng Logo (gồm OOMG) đang chờ đóng gói. Khi nào: bất kỳ lúc nào có hàng chờ đóng gói; Release WO không sinh sẵn Packing Plan. Thao tác: Packing Planning Logo › nút "Create Logo Plan" → trang "Add Packing Logo Plan". Hệ thống: chỉ hàng có Model attribute của WO là Logo hoặc OOMG; hàng Spray lập plan ở Packing Planning Spray. Hệ thống: khung "Plan Details" gồm "Plan No." (Auto-generated), "P.O (Month) *" mặc định tháng đầu, "Plan Date"; thanh 3 bước, chân trang "Reset" · "Back" · "Next". Kết quả: mở Step 1, chưa lưu gì. Chặn khi: "P.O (Month) *" trống mà bấm "Next" ở Step 1 → "Select P.O (Month) first." Kiểm thử: - Bỏ trống "P.O (Month) *" rồi bấm "Next" → hiện "Select P.O (Month) first.", vẫn ở Step 1 Nguồn: Q-20261001-06 · Q-20260929-12 · Q-20260929-13 · CHANGELOG v0.58 · prototype v0.70Planner tick các LOT Logo · OOMG chờ đóng gói làm nguồn của plan. Thao tác: Step 1 · "Select Trimming Result" › tick ô chọn từng LOT. Hệ thống: bảng là A + A- đã ghi ở Trimming Result của plan Logo / OOMG, mỗi dòng một LOT; Step 1 chỉ chọn, không phân bổ. Kết quả: LOT đã tick cộng vào "Selected Stock (by size)" của Step 3; bấm "Next" sang Step 2. Chặn khi: dòng có lý do chặn thì không tick được, vd "Recorded source conflicts with the current WO model attribute". Kiểm thử: - Tick 3 LOT rồi sang Step 3 → "Selected" theo size bằng tổng 3 LOT, chưa P.O nào có "Allocated" Nguồn: Q-20261001-06 · Q-20260929-04 (OQ-04) · MOM 28/09 dòng 9 · prototype v0.70Planner chọn thêm hàng đã sửa xong trong Repair Inventory để bù cho plan; bước này không bắt buộc. Thao tác: Step 2 · "Select Repair Inventory" › tick dòng đã sửa; "Back" về Step 1, "Next" sang Step 3. Hệ thống: chỉ dòng đã Repaired tick được, lấy từ phiếu Repair / Rework có Source "Trimming · Pending repair" của hàng Logo; Step 2 chỉ chọn, không phân bổ. Hệ thống: hàng "Spray Out · Pending repair" và "Packing Spray · Pending repair" sửa xong không vào Step 2 này mà sang Packing Planning Spray. Kết quả: dòng đã tick cộng vào "Selected Stock (by size)"; khi phân bổ, hàng Repair được dùng trước. Kiểm thử: - Không tick dòng nào, bấm "Next" → vào Step 3 với nguồn chỉ từ Step 1 - Phiếu RW "Trimming · Pending repair" của hàng Logo ghi Repaired 20 đôi → Step 2 có dòng 20 đôi chọn được Chưa chốt: "Stitching · Pending repair" và "Packing Logo · Pending repair" sửa xong chưa có Repair Inv List đích, nên chưa rõ có vào Step 2 này không (OQ-122, OQ-126). Nguồn: Q-20261013-01 · Q-20261001-06 · Q-20260929-06 · prototype v0.91Planner chia hàng đã chọn cho từng Customer P.O theo size; đây là bước duy nhất phân bổ. Thao tác: Step 3 · "Allocate to Detail P.O" › nút "Allocate" / "Remove" ở cột "Action" từng P.O · nút "Auto Allocate" · gõ số dòng "Allocated". Hệ thống: P.O khớp Model, Base Color, AL / INT và cùng "P.O (Month)"; "Remaining" = số đặt của P.O − số các Packing Plan khác đang giữ, cộng phần Remaining chưa nhập trả về từ Packing Result Logo (Pending repair không trả về, đi Repair / Rework) và balance hoàn trả từ Exchange Customer PO. Hệ thống: "Auto Allocate" lấp P.O có ETD sớm trước, hàng Repair trước; "Selected Stock (by size)" cập nhật "Allocated to P.O" và "Not Allocated". Kết quả: dưới bảng hiện "Packing Plan summary" theo P.O; chân trang có nút "Release Plan". Kiểm thử: - Chọn 2,308 đôi rồi "Auto Allocate" → 2 P.O nhận 1,628 đôi, "Not Allocated" 680 - P.O vừa được Exchange Customer PO hoàn trả 30 đôi W5 → "Remaining" W5 của P.O đó tăng 30 - Packing Result Logo ghi Pending repair 30, Remaining 605 → chỉ 605 đôi trả về balance P.O của plan; 30 đôi sang Repair / Rework Nguồn: Q-20261013-01 · Q-20261001-06 · Q-20261002-03 · Q-20260929-06, -08 · CHANGELOG v0.58 · prototype v0.91Hệ thống kiểm số phân bổ trước khi lưu hoặc Release. Có: mỗi P.O có "Allocated" theo size ≤ hàng đã chọn và ≤ "Remaining" của P.O, tổng > 0, có "Plan Date" → cho "Release Plan". Không: báo lỗi và sửa số — "P.O … / <size>: n pairs more than the selected stock" · "<size>: total Packing quantity exceeds the current P.O balance." · "Allocate at least one pair to a Detail P.O." · "Enter a Plan Date." Kiểm thử: - Gõ "Allocated" W5 lớn hơn "Remaining" W5 một đôi → báo vượt balance của P.O, không Release được Nguồn: prototype v0.70Planner phát hành các plan vừa phân bổ; không có bước lưu nháp và không có người duyệt. Khi nào: Step 3 của trang lập plan, khi phân bổ đã hợp lệ. Thao tác: Step 3 › nút "Release Plan" → popup "Release n Packing Plan(s)?" liệt kê "PKP-… → P.O …" và bảng "P.O · Source" theo size → nút "Confirm & Release". Kết quả: plan → RELEASED, hiện ở "Packing List" với trạng thái "Released". Kiểm thử: - Bấm "Cancel" trong popup → không sinh plan - Step 3 không có nút "Save Draft" Nguồn: Q-20261012-06 · Q-20261007-03 · prototype v0.90Hệ thống tạo plan cho từng P.O đã phân bổ và giữ nguồn cho plan. Hệ thống: mỗi P.O một Packing Plan, số "PKP-<YYYYMMDD>-NN" theo ngày plan; dòng plan ghi LOT / Repair No., WO, Grade theo size. Kết quả: plan RELEASED hiện ở Packing Result Logo với trạng thái "Waiting"; nguồn đã phân bổ bị giữ, phần dùng hết không còn hiện ở trang lập plan khác. Kiểm thử: - Release plan dùng hết một dòng nguồn → trang "Create Logo Plan" mới không còn dòng đó ở Step 1 Nguồn: Q-20261012-06 · Q-20261007-03 · prototype v0.90Hệ thống tạo một MOR vật tư đóng gói cho plan vừa Release; Planner không tạo MOR tay. Hệ thống: vật tư lấy từ Packing BOM theo Model + Size + Destination; nhu cầu từng vật tư theo size = ⌈số đôi của plan × Qty dòng ÷ Quantity (đôi / thùng)⌉; Issue From "WH-PK-01 / Packing Store". Kết quả: MOR "MOR-PK-…" trạng thái "Requested", By "System (on Release)" → WMS xuất vật tư; cột "MOR" của "Packing List" hiện số MOR, plan chưa có MOR hiện "—". Không áp: plan sinh từ Exchange Customer PO không tạo MOR mới — plan đó mang số MOR của plan nguồn. Kiểm thử: - Size W5 360 đôi, Quantity 12 đôi / thùng, "F2 Carton box" Qty 1 → 30 thùng - Cột "MOR" và trang chi tiết plan không có nút "Create MOR" Nguồn: Q-20261012-06 · Q-20261007-03 · Q-20261001-08 · BRD §6.2 · prototype v0.90 · Q-20261014-02Hệ thống xét plan đã Release còn sửa được không. Chưa: plan RELEASED chưa có Record Output ở Packing Result Logo → có nút "Revision". Có: plan đã có Record Output → không có nút "Revision"; gọi lệnh vẫn bị chặn bằng "Packing has started or this plan is not Released. Revision is unavailable." Nguồn: Q-20261012-06 · Q-20261007-03 · prototype v0.90Planner mở lại plan đã Release để sửa số khi chưa đóng gói. Khi nào: plan RELEASED, chưa có Record Output. Thao tác: trang chi tiết plan › nút "Revision". Kết quả: plan → NEW, lưu lịch sử bản trước; mở plan NEW thì vào thẳng Step 3 của trang sửa plan. Kiểm thử: - Plan NEW không có nút "Reject", "Delete" hay "Save Draft" Nguồn: Q-20261012-06 · Q-20261007-03 · prototype v0.90Planner sửa số rồi phát hành lại plan NEW. Thao tác: Step 3 của trang sửa plan › sửa "Allocated" → nút "Release Plan" → "Confirm & Release"; hoặc trang chi tiết › "Edit quantities" → "Release Packing Plan". Kết quả: plan → RELEASED; MOR đã tạo được giữ, không tạo MOR mới. Kiểm thử: - Revision plan có MOR-PK-2602 rồi Release lại → cột "MOR" vẫn MOR-PK-2602 Chưa chốt: số lượng MOR có cập nhật theo plan đã sửa không (OQ-90). Nguồn: Q-20261012-06 · Q-20261007-03 · prototype v0.90
Bắt đầuđiểm khởi động của luồng
Kết thúcmỗi Bắt đầu đi tới ít nhất một Kết thúc
Bước xử lýdải trên = màn hình thực hiện, ô màu = nền tảng
Điểm quyết địnhmỗi nhánh đi ra đều có nhãn điều kiện
Dữ liệu / chứng từđầu vào ở lane Input, kết quả ở lane Output
Luồng chínhthứ tự bắt buộc của các bước
Nhãn trên hộpMaster dataWebSystem (auto)

Vòng đời trạng thái

Packing PlanNEWRELEASEDCOMPLETEDRelease Packing PlanPlan mới: Release Plan ở Step 3 vào thẳng RELEASEDPacking Result Logo đủ ORDERRevision — chưa Record Output
◻ NEW ◻ RELEASED ◻ COMPLETED

Input

#InputLoạiĐi vào bước
I-1Waiting Packing (Trimming Result) — A + A- đã ghi ở Trimming Result của plan Logo / OOMG, theo LOT, chưa có Customer P.OBể tồn công đoạn — flow TrimmingStep 1 · Chọn LOT Trimming Result
I-2Repair Inventory — hàng đã sửa xong (Repaired) ở Repair / Rework, mỗi dòng mang LOT No. nơi phát sinh lỗiBể tồn công đoạn — flow Repair / ReworkStep 2 · Chọn Repair Inventory
I-3Remaining chưa nhập của plan ở Packing Result Logo, trả về balance P.O (Pending repair không trả về — đi Repair / Rework)Chứng từ — flow Packing Result LogoStep 3 · Phân bổ vào Detail P.O
I-4Customer P.O theo size — Model, Base Color, Upper Color, AL / INT, Destination, ETD, P.O MonthChứng từ — Sales OrderStep 3 · Phân bổ vào Detail P.O
I-5Remaining (balance) của P.O nguồn được hoàn trả khi phiếu Exchange Customer PO CONFIRMEDChứng từ — flow Exchange Customer POStep 3 · Phân bổ vào Detail P.O
I-6Packing BOM — khoá Model + Size + Destination; header Quantity = số đôi / thùng; Qty dòng tính cho 1 thùngMaster dataTạo MOR vật tư đóng gói (một / plan)

Bước ↔ màn hình thực hiện

BướcVai tròMàn hình · nút trên UI
Tạo Packing Plan · Step 1 · Chọn LOT Trimming Result · Step 2 · Chọn Repair Inventory · Step 3 · Phân bổ vào Detail P.OPlannerPacking Planning Logo · Create Logo Plan → Add Packing Logo Plan (Select Trimming Result · Select Repair Inventory · Allocate to Detail P.O)
Phát hành Packing PlanPlannerPacking Planning Logo · Step 3 · Release Plan → Confirm & Release
Tạo Revision Packing Plan · Phát hành lại Packing PlanPlannerPacking Planning Logo · trang chi tiết plan · Revision; plan NEW · Step 3 · Release Plan → Confirm & Release, hoặc Edit quantities → Release Packing Plan
Tách plan theo P.O · giữ nguồn · Tạo MOR vật tư đóng gói (một / plan)System (auto)Packing Planning Logo

Output

#OutputĐiều kiện sinh ra
O-1Plan RELEASED trạng thái Waiting → Packing Result Logo để Packing Operator nhập kết quả đóng gói; plan chưa đóng gói hết là nguồn của Exchange Customer POPlanner bấm Release Plan → Confirm & Release ở Step 3
O-2MOR vật tư đóng gói (MOR-PK-…, Requested, Issue From WH-PK-01) — một MOR / plan, tự tạo khi Release → WMS xuất kho. Plan sinh từ Exchange Customer PO không tạo MOR mới, dùng MOR của plan nguồnRelease plan chưa có MOR
O-3Revision bị khoá — plan đã có sản lượngPlanner xem plan đã có Record Output
O-4Plan về NEW, mở thẳng Step 3 để sửa sốPlanner bấm Revision trên plan RELEASED chưa có Record Output
O-5Plan RELEASED lại — MOR đã tạo được giữ, không tạo thêmPlanner phát hành lại plan NEW

Thuật ngữ

Thuật ngữNghĩa trong flow này
P.OCustomer P.O — đơn hàng của khách; mỗi Packing Plan thuộc đúng một P.O
P.O MonthTháng của P.O; bắt buộc chọn ở Plan Details; LOT từ Trimming Result chỉ phân bổ được cho P.O cùng P.O Month
ETDNgày dự kiến xuất hàng của P.O — Auto Allocate lấp P.O có ETD sớm trước
LOTLô sản xuất theo ca (mã đuôi AB ca ngày, CD ca đêm), mang theo từ Curing qua Trimming
Logo / SPRAY · OOMGLoại hàng theo Model attribute của WO; Logo và SPRAY loại trừ nhau, hàng OOMG đi theo luồng Logo
AL / INTThị trường của P.O (nguyên văn cột trên prototype) — một điều kiện khớp nguồn với P.O
Waiting PackingBể A + A- đã ghi ở Trimming Result của plan Logo / OOMG, chờ đóng gói
Repair InventoryHàng đã sửa xong (Repaired) ở Repair / Rework, chờ dùng lại
Selected Stock (by size)Tổng hàng đã chọn ở Step 1 và Step 2 theo size: Selected · Allocated to P.O · Not Allocated
Detail P.O · Remaining · AllocatedBảng P.O khớp nguồn ở Step 3: Remaining = số đặt của P.O − số các Packing Plan khác đang giữ; Allocated là số phân bổ cho P.O trong plan đang lập
Plan QtyTổng Allocated của plan theo size (Daily Packing Q'ty) — căn cứ tính Remaining ở Packing Result và vật tư của MOR
Packing BOMĐịnh mức vật tư đóng gói theo Model + Size + Destination; Quantity = số đôi / thùng; Qty dòng tính cho 1 thùng
MORMaterial Out Request — yêu cầu kho WH-PK-01 xuất vật tư đóng gói; một MOR / plan, tự tạo khi Release; plan sinh từ Exchange Customer PO mang số MOR của plan nguồn
Exchange Customer PO (EXC)Chức năng riêng đổi hàng giữa các Customer P.O — xem flow Exchange Customer PO