Outsourcing Result — nhận hàng Spray Out từ nhà cung cấp sơn theo plan: A + A- vào Spray In List, C ghi Defect Records, Pending repair sang Repair / Rework

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

Process Flow (swimlane)

MES · Outsourcing Result — mở Spray Out Plan, chọn LOT, nhận hàng theo LOT: A + A- vào Spray In List, C ghi Defect Records, PR sang Repair / ReworkPhaseInputWarehouse StaffOutputNgoại lệ — xem plan đã nhận đủCóKhôngKhôngCóCóKhôngKhôngCóSpray Out Plan SENT — LOTở NCC sơn (OutsourcingPlanning)Start▣ Outsourcing ResultMở Waiting to ReturnWeb▣ Outsourcing ResultMở Spray Out Plan(Open Plan)Web▣ Outsourcing ResultChọn LOT cần nhận(Enter Output)Web▣ Outsourcing ResultNhập A / A- / C / PRtheo sizeWebCó nhập C?▣ Outsourcing ResultChia C theo lý do lỗiWebSố nhập hợp lệ?▣ Outsourcing ResultGhi nhận kết quả nhậnhàngWeb▣ Outsourcing ResultSinh phiếu OSR · cộngReceived của planSystem (auto)▣ Outsourcing ResultChuyển A + A- vàoSpray In ListSystem (auto)▣ Outsourcing ResultGhi C vào DefectRecords theo lý doSystem (auto)Có Pendingrepair?▣ Outsourcing ResultMở phiếu Repair /Rework theo sizeSystem (auto)Mọi LOT hếtRemaining?▣ Outsourcing ResultChuyển plan RECEIVEDSystem (auto)EndXem plan đã nhận▣ Outsourcing ResultXem Output Entries(View)WebEndChặn Record Result — chưanhập, vượt Remaining, lệchtổng lý do CSpray In List (A + A-) →Packing Planning SprayDefect Records — C SprayOut theo lý do (hàng hỏng)Phiếu Repair / Rework mới→ sửa xong vào PackingPlanning Spray Step 2Plan giữ SENT — chờ lầnnhận sau, không đóng thiếuPlan RECEIVED — "Allquantity received"Chỉ xem — không nhậpthêm khi Remaining = 0Warehouse Staff mở danh sách các Spray Out Plan đang có hàng ở NCC sơn để chọn plan cần nhận. Thao tác: Outsourcing Result › bảng "Waiting to Return · by Spray Out plan"; ô lọc "All vendors" / tên Vendor, công tắc "Open only", ô tìm "Search plan, P.O, LOT, model or color". Hệ thống: bốn thẻ "PLANS AT VENDOR" · "REMAIN AT VENDOR" · "A + A- RECEIVED" · "C + PENDING REPAIR"; mỗi dòng một plan SENT với cột Action · Spray Out Plan · P.O · Out Date · LOTs · Model / Base Color · Vendor · Sent Qty · Received · Remaining · A + A- · C · Pending repair · Status; cột "LOTs" hiện số dòng LOT của plan ("3 LOT(s)"). Hệ thống: "Remaining" của plan = "Sent Qty" − "Received", cộng từ mọi dòng LOT; Status hiện "At vendor" (chưa nhận), "Partially received" (đã nhận một phần) hoặc "Received" (đủ). Kiểm thử: - Bật "Open only" → plan đã nhận đủ không còn trong danh sách - Plan SENT 3 LOT, 1.350 đôi, chưa nhận → "LOTs" 3 LOT(s), "Remaining" 1.350, Status "At vendor" Nguồn: Q-20260929-01 · Q-20260929-03 · Q-20261006-05 · prototype v0.78Warehouse Staff mở một Spray Out Plan để xem các dòng LOT của plan. Khi nào: plan SENT còn "Remaining" > 0. Thao tác: dòng plan › nút "Open Plan" hoặc bấm số plan / ô "LOTs" (plan đã nhận đủ hiện nút "View"). Hệ thống: trang "Outsourcing Result — <Plan No.>" có khối "Spray Out Plan" (SPRAY OUT PLAN NO. · P.O · LOTS · MODEL · BASE COLOR · VENDOR · OUT DATE · SENT QTY · RECEIVED · REMAINING), khối "LOTs in plan <Plan No.> (n)" và khối "Output Entries" của cả plan có cột "LOT No.". Hệ thống: "LOTS" hiện "<n> (<m> fully received)", m = số dòng LOT đã hết Remaining. Kết quả: trang plan mở, chưa ghi gì; nút mũi tên quay về danh sách "Waiting to Return". Kiểm thử: - Plan 3 LOT → khối "LOTs in plan" có 3 dòng, "LOTS" 3 (0 fully received) Nguồn: Q-20260929-12 · Q-20261006-05 · prototype v0.78Warehouse Staff chọn dòng LOT của plan để ghi hàng nhận về cho đúng LOT đó. Khi nào: dòng LOT còn "Remaining" > 0. Thao tác: khối "LOTs in plan <Plan No.> (n)" › nút "Enter Output" của dòng, hoặc bấm "LOT No."; dòng đã hết Remaining hiện nút "View". Hệ thống: mỗi dòng của plan (một LOT, hoặc một dòng Repair) là một dòng bảng với cột Action · LOT No. · WO No. · Grade · số gửi theo size · Sent Qty · Received · Remaining · Status. Hệ thống: "Remaining" của dòng = "Sent Qty" của dòng − "Received" của dòng; Status của dòng "At vendor" / "Partially received" / "Received". Kết quả: trang nhập của LOT mở; nút mũi tên trên trang nhập quay về danh sách LOT của plan. Kiểm thử: - Plan 3 LOT, ghi 405 đôi cho LOT-20260807-AB → chỉ dòng đó có "Received" 405, hai LOT kia giữ "Received" 0 Nguồn: Q-20261006-05 · prototype v0.78Warehouse Staff nhập số hàng nhận về của lần này cho LOT đã chọn, theo grade và size. Thao tác: khối "Spray Out Plan · LOT" (SPRAY OUT PLAN NO. · P.O · LOT NO. · WO NO. · GRADE · …) › "Output Matrix (Item / Size)" › ô số các hàng "A" ("First grade → Spray In"), "A-" ("First grade, minor → Spray In"), "C" ("Reject → Defect Records"), "PR" ("Pending repair"); ô "Receipt Date"; nút "Fill A = Remaining", "Clear". Hệ thống: "This Entry" = A + A- + C + Pending repair; "Remaining" = "Sent Qty" của LOT − "Already Received" của LOT − "This Entry", tính lại theo từng size khi gõ; ô của size LOT không gửi bị khoá. Kiểm thử: - LOT gửi 80 ở M5/W7, nhập A 70, PR 5 → "This Entry" 75, "Remaining" 5 - Bấm "Fill A = Remaining" khi "Already Received" của LOT 30 → A mỗi size bằng phần còn lại của LOT, "Remaining" 0 Nguồn: Q-20261001-10 (OQ-93) · Q-20261006-05 · prototype v0.78Lần nhận này có hàng C không? Có: tổng hàng "C" > 0 → phải chia số C theo lý do lỗi trước khi ghi. Không: C = 0 → kiểm số nhập. Nguồn: Q-20261005-01 (4)Warehouse Staff chia toàn bộ số hàng C theo lý do lỗi, vì hàng C nhận từ NCC sơn là hàng hỏng. Khi nào: lần nhận có C > 0. Thao tác: khối "Defect Reason Breakdown (grade C)" hiện trong "Output Matrix (Item / Size)", ngay trên nút "Record Result", khi ô C có số › mỗi lý do một dòng "Defect Reason" · "Qty" · "Defect Detail"; nút "Add Defect Line" (cùng cách nhập như Trimming Result). Hệ thống: danh sách "Defect Reason" = "Color mismatch" · "Peeling" · "Spray overflow" · "Stain / dirt" · "Other"; dòng tóm tắt "Grade C" · "Mapped" · "Balanced" / "Unmapped: n"; tổng "Qty" các dòng phải bằng tổng C của lần nhận. Chặn khi: "Grade C quantity recorded — map the defect quantity to a defect reason." · "A defect line has a quantity but no defect reason." · "A defect reason has no quantity." · "Defect reason breakdown (n) must equal the grade C quantity (m)." Kiểm thử: - C = 5, chưa có dòng nào, bấm "Record Result" → "Grade C quantity recorded — map the defect quantity to a defect reason." - C = 5, dòng Peeling 3 → "Defect reason breakdown (3) must equal the grade C quantity (5)." - Thêm dòng Stain / dirt 2 → "Balanced", mở được hộp xác nhận Nguồn: Q-20261005-01 (4) · Q-20261002-02 (3) · Q-20260929-11 · Q-20261007-01 · prototype v0.81Hệ thống kiểm số nhập trước khi mở hộp xác nhận. Có: "This Entry" > 0, không size nào có "This Entry" vượt "Remaining", C đã chia đủ lý do → mở hộp xác nhận. Không: báo lỗi trên trang, không mở hộp: "Enter A / A- / C / Pending repair before recording the result." · "This Entry is more than Remaining at <size>." · lỗi chia lý do C (bước T4). Kiểm thử: - Remaining M3/W5 = 60, nhập A 61 → "This Entry is more than Remaining at M3/W5." - Nhập A 60 → được Nguồn: prototype v0.81 · Q-20261005-01 (4)Warehouse Staff xác nhận ghi kết quả nhận hàng của lần này cho LOT đã chọn. Thao tác: nút "Record Result" → hộp "Record Spray Out result for <LOT> · <plan>?" (SPRAY OUT PLAN · P.O · LOT NO. · RECEIPT DATE · THIS ENTRY · A + A- → SPRAY IN LIST · C → DEFECT RECORDS (số + lý do) · PENDING REPAIR → REPAIR / REWORK · REMAINING AFTER ENTRY, bảng theo size) › "Record Result"; "Cancel" đóng hộp, không ghi. Hệ thống: số thứ tự "entry #n" trong hộp đếm theo LOT, không theo plan. Kết quả: hệ thống sinh phiếu nhận và chuyển hàng theo grade ở các bước sau. Kiểm thử: - Bấm "Cancel" trong hộp → không sinh phiếu, số nhập giữ trên trang - LOT đã có 1 lần nhận, plan đã có 3 lần nhận → hộp hiện "entry #2" Nguồn: Q-20261001-10 (OQ-93) · Q-20261006-05 · prototype v0.81Hệ thống tạo một phiếu nhận cho lần nhận của LOT và cộng số nhận vào đúng dòng LOT đó. Hệ thống: phiếu số OSR-YYYYMMDD-NN chỉ có dòng của LOT đã chọn; "Received" của LOT += "This Entry"; "Received" của plan = tổng "Received" các dòng LOT. Kết quả: "Output Entries" trên trang nhập của LOT thêm một dòng (#, Receipt No., Receipt Date, A, A-, C, Pending repair, Total, By); "Output Entries" trên trang plan hiện cùng phiếu kèm "LOT No."; "Receipt history" ở Outsourcing Planning cũng hiện phiếu. Kiểm thử: - Plan 3 LOT, ghi 405 cho LOT-20260807-AB → OSR-20260811-01 một dòng LOT-20260807-AB; plan "Received" 405, "Remaining" 945 - LOT nhận 30 rồi 380 → hai phiếu, "Received" của LOT 410 Chưa chốt: một chuyến giao gồm nhiều LOT thành nhiều phiếu OSR (mỗi LOT một phiếu) — cần xác nhận với kho (OQ-103); phiếu OSR đã ghi chưa có thao tác sửa / huỷ. Nguồn: Q-20261006-05 · prototype v0.78Hệ thống đưa hàng A và A- của lần nhận vào Spray In List để đóng gói. Khi nào: A + A- của lần nhận > 0. Hệ thống: dòng A và dòng A- tách riêng để giữ Grade; mỗi dòng mang LOT No., P.O và số phiếu OSR. Kết quả: dòng mới hiện ở "Step 1 · Select Spray IN" của Packing Planning Spray. Kiểm thử: - Nhận A 20, A- 5 → Packing Planning Spray Step 1 có hai dòng OSR-… (20 grade A, 5 grade A-) Nguồn: Q-20261001-10 (OQ-93) · prototype v0.69Hệ thống ghi hàng C của lần nhận vào Defect Records theo từng lý do lỗi; hàng C không quay lại luồng sản xuất. Khi nào: C của lần nhận > 0. Hệ thống: mỗi lý do một dòng Defect Records, Process "Spray Out", mang LOT No., WO, P.O (cột SO), số lượng, lý do; cột Detail ghi chi tiết đã nhập + Vendor + số phiếu OSR + số Spray Out Plan. Số C theo size nằm trên phiếu OSR, không tách theo lý do. Kết quả: hàng C không vào Repair Spray In List, không sơn lại, không sang Packing Spray (không hiện ở Step 2 Packing Planning Spray); bộ lọc "Process" của Defect Records có "Spray Out". Kiểm thử: - Nhận C 2 lý do Peeling → Defect Records có một dòng Spray Out 2 đôi Peeling - Nhận C 5 = Peeling 3 + Stain / dirt 2 → lọc Process "Spray Out" thấy 2 dòng cùng số OSR Nguồn: Q-20261002-02 (3) · Q-20261005-01 (4) · Q-20261007-01 · Q-20261013-01 · prototype v0.91Lần nhận này có hàng Pending repair không? Có: tổng "PR" > 0 → mở phiếu Repair / Rework. Không: PR = 0 → xét Remaining của plan. Nguồn: Q-20261001-11 (OQ-96) · Q-20261013-01Hệ thống mở phiếu Repair / Rework cho hàng Pending repair để sửa; sửa xong hàng đi thẳng Packing Planning Spray. Hệ thống: mỗi size có PR > 0 một phiếu RW-…, trạng thái Pending, nguồn "Spray Out · Pending repair", lý do "Pending repair", mang LOT No. của dòng LOT đã chọn, WO, P.O; PR không vào Defect Records. Kết quả: sửa xong ở màn Repair / Rework (Repaired), hàng hiện ở Packing Planning Spray › "Step 2 · Select Repair Inventory" (next process = Packing Spray), không hiện ở Step 2 của Outsourcing Planning; thông báo "Result recorded · C n pairs → Defect Records · Pending repair n pairs → n Repair / Rework record(s)". Kiểm thử: - Nhận PR 10 ở W5 cho LOT-20260806-AB → một phiếu RW-… 10 đôi Pending, LOT No. LOT-20260806-AB - Ghi Repaired phiếu đó → Packing Planning Spray Step 2 có dòng 10 đôi chọn được, Outsourcing Planning Step 2 không có Chưa chốt: lệch Q-20261001-11 (OQ-96) "lập lại plan Spray Out mới" — prototype cho đi thẳng Packing Spray. Nguồn: Q-20261001-11 (OQ-96) · Q-20261012-04 (đích Packing Planning Spray) · Q-20261013-01 · prototype v0.91Mọi dòng LOT của plan đã nhận hết chưa? Có: mọi dòng LOT có "Remaining" = 0 ở mọi size → plan RECEIVED. Không: còn dòng LOT có "Remaining" > 0 → plan giữ SENT, Status "Partially received"; Warehouse Staff quay về danh sách LOT để nhận LOT khác hoặc chờ lần nhận sau. Kiểm thử: - Plan 3 LOT, LOT-20260807-AB còn 5, hai LOT kia chưa nhận → plan giữ SENT, "Remaining" 945 - LOT cuối cùng hết Remaining → plan RECEIVED Nguồn: Q-20261006-05 · prototype v0.78Hệ thống chuyển plan sang RECEIVED khi mọi dòng LOT đã nhận hết. Kết quả: plan → RECEIVED ở cả Outsourcing Result và SPRAY OUT List; mọi dòng LOT hiện nút "View"; trên trang nhập của LOT, nút ghi đổi thành "All quantity received" và bị khoá, "Fill A = Remaining", "Clear" bị khoá. Kiểm thử: - Lần nhận cuối làm LOT cuối cùng hết Remaining → SPRAY OUT List hiện RECEIVED Nguồn: Q-20261006-05 · prototype v0.78Warehouse Staff mở lại plan đã nhận đủ để xem các lần nhận. Khi nào: plan RECEIVED (tắt "Open only" để thấy dòng). Thao tác: dòng plan › nút "View" → trang plan; dòng LOT › nút "View" để xem riêng LOT. Kết quả: trang plan hiện "Output Entries" của mọi LOT (có cột "LOT No."); trang LOT hiện "Output Entries" của LOT và tổng "First quality (A + A-) … · C … · Pending repair … · entries …"; không nhập thêm được. Chưa chốt: hàng NCC không trả đủ không có thao tác đóng plan thiếu — plan chờ tới khi mọi LOT hết Remaining, phần chênh xử lý ngoài hệ thống. Nguồn: Q-20261005-01 (3) · Q-20261006-05 · prototype v0.78
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ộpWebSystem (auto)

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

Spray Out Plan (nhận hàng ở Outsourcing Result)SENTRECEIVEDRecord Result · mọi LOT hết RemainingCòn LOT Remaining > 0 → plan giữ SENT
◻ SENT ◻ RECEIVED

Input

#InputLoạiĐi vào bước
I-1Spray Out Plan SENT — LOT đã gửi sang NCC sơn, có Sent Qty theo size (Outsourcing Planning)Chứng từ — flow spray-outMở Waiting to Return

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

BướcVai tròMàn hình · nút trên UI
Mở Waiting to Return · Mở plan cần nhậnWarehouse StaffOutsourcing Result · Waiting to Return · by Spray Out plan (Open only, Record Result, View)
Nhập A / A- / C / PR theo size · Chia C theo lý do lỗi · Ghi nhận kết quả nhận hàngWarehouse StaffOutsourcing Result · Output Matrix (Item / Size) (Fill A = Remaining, Clear, Receipt Date, Defect Reason Breakdown, Record Result)
Sinh phiếu OSR · Chuyển A + A- vào Spray In List · Ghi C vào Defect Records · Mở phiếu Repair / Rework · Chuyển plan RECEIVEDSystem (auto)Outsourcing Result · khi Record Result; bảng Output Entries
Xem Output EntriesWarehouse StaffOutsourcing Result · View

Output

#OutputĐiều kiện sinh ra
O-1Chặn Record Result — chưa nhập, vượt Remaining, lệch tổng lý do CThis Entry = 0, This Entry > Remaining ở một size, hoặc tổng theo lý do ≠ C
O-2Spray In List (A + A-) — nguồn Step 1 của Packing Planning SprayLần nhận có A + A- > 0
O-3Defect Records — C Spray Out theo lý do (hàng hỏng, không quay lại luồng)Lần nhận có C > 0
O-4Phiếu Repair / Rework mới (Pending) mỗi size, Source Spray Out · Pending repair — sửa xong vào Packing Planning Spray, Step 2 · Select Repair InventoryLần nhận có Pending repair > 0
O-5Plan giữ SENT — chờ lần nhận sau, không có thao tác đóng thiếuSau lần nhận, còn size có Remaining > 0
O-6Plan RECEIVED — nút "All quantity received"Sau lần nhận, Remaining = 0 ở mọi size
O-7Chỉ xem — không nhập thêm khi Remaining = 0Mở plan RECEIVED bằng View

Thuật ngữ

Thuật ngữNghĩa trong flow này
Spray Out PlanPlan gửi hàng SPRAY sang NCC sơn, lập ở Outsourcing Planning; số SPO-…
Sent QtySố đôi đã gửi sang NCC theo size (phiếu Stock Out của plan đã duyệt)
Received / Already ReceivedTổng số đã nhận về của plan qua các lần nhận trước
This EntrySố nhận của lần này = A + A- + C + Pending repair
RemainingSố còn ở NCC = Sent Qty − Already Received − This Entry
A / A-Grade hàng đạt (A) và đạt có lỗi nhẹ (A-); vào Spray In List
CHàng hỏng nhận từ NCC sơn; ghi Defect Records theo lý do, không sửa, không sơn lại
PRPending repair — hàng sửa được; mở phiếu Repair / Rework, sửa xong vào Packing Planning Spray Step 2
OSRPhiếu nhận hàng Spray Out, số OSR-YYYYMMDD-NN, một phiếu mỗi lần Record Result
Spray In ListHàng A + A- đã sơn về, nguồn Step 1 của Packing Planning Spray
Repair InventoryKho hàng đã sửa xong (Repaired), nguồn Step 2 của Outsourcing Planning, Packing Planning Logo và Packing Planning Spray tuỳ Source của phiếu