# Master Plan — lập plan theo Plan Month, gom dòng SO thành Big Plan (Style + Model + Base Color + SPRAY/Logo + Area), mỗi Big Plan một Work Order, tự phát hành Work Order sang I/J Plan

> Fine Chemical (FC) · Module MES · v0.7 · 01/10/2026 · Flow chuẩn — dùng để triển khai, kiểm thử và phát triển
>
> File sinh tự động từ sơ đồ bởi `sync.js` — đừng sửa tay. Hình là chuẩn: thấy mâu thuẫn với trang hình thì báo lại.
>
> Trang hình: /mes/master-plan

## Cách đọc

- Mỗi hộp trên sơ đồ có một mã `Bxx`, đánh theo thứ tự đi của luồng (từ điểm bắt đầu, theo mũi tên).
- "Đi tới" liệt kê mọi mũi tên ra khỏi hộp; chữ trong ngoặc vuông là nhãn điều kiện của mũi tên đó.
- "Nhánh tuỳ chọn" = mũi tên nét đứt trên sơ đồ: làm cũng được, bỏ qua cũng được.
- Hộp loại "Dữ liệu" ở lane Input là dữ liệu đi vào, ở lane Output là kết quả / điểm kết thúc của luồng.

## Process Flow (swimlane)

### Vai trò (lane)

- Input
- Planner
- Output

### Các bước

| Mã | Vai trò | Loại | Nội dung | Nền tảng · Màn hình | Đi tới |
| --- | --- | --- | --- | --- | --- |
| B01 | Input | Dữ liệu | Sales Order (dòng theo size, Country giao hàng) |  | B06 |
| B02 | Input | Dữ liệu | Internal Production Request |  | B08 |
| B03 | Input | Dữ liệu | Master data: Country (Area) | Master data | B11 |
| B04 | Input | Dữ liệu | Master data: Item · Routing · Routing Mapping | Master data | B13 |
| B05 | Input | Dữ liệu | Master data: Machine · Capacity Calendar | Master data | B14 |
| B06 | Planner | Bắt đầu | Start |  | B07 |
| B07 | Planner | Bước | Mở wizard Create Plan | Web · Master Plan | B08 |
| B08 | Planner | Bước | Chọn dòng size của SO | Web · Master Plan | B09 |
| B09 | Planner | Bước | Nhập Plan Qty từng dòng | Web · Master Plan | B10 |
| B10 | Planner | Bước | Chọn Plan Month | Web · Master Plan | B11 |
| B11 | Planner | Bước | Gom dòng SO thành Big Plan | System (auto) · Master Plan | B12 |
| B12 | Planner | Bước | Tính Common Stock | System (auto) · Master Plan | B13 |
| B13 | Planner | Bước | Chọn Routing cho từng Work Order | Web · Master Plan | B14 |
| B14 | Planner | Bước | Tính Plan From / To theo lead time | System (auto) · Master Plan | B15 |
| B15 | Planner | Điểm quyết định | Có công đoạn vượt Capacity? |  | B16 [Có]; B17 [Không] |
| B16 | Planner | Bước | Đánh dấu Over capacity | System (auto) · Master Plan | B17 |
| B17 | Planner | Bước | Tạo Master Plan | Web · Master Plan | B18 |
| B18 | Planner | Bước | Sinh Work Order theo Big Plan | System (auto) · Master Plan | B19 |
| B19 | Planner | Bước | Phát hành Work Order | Web · Master Plan | B20 |
| B20 | Planner | Bước | Chuyển WO sang I/J Plan | System (auto) · Master Plan | B21 |
| B21 | Planner | Bước | Sinh plan NEW cho công đoạn có Plan | System (auto) · Master Plan | B22; B23 |
| B22 | Output | Dữ liệu | Plan RELEASED · Work Order RELEASED → I/J Plan (mỗi WO một Detail Plan, gom vào Big Plan I/J) + plan NEW Trimming / Spray Out / Packing + Common Stock (phần dư) |  | (kết thúc) |
| B23 | Planner | Kết thúc | End |  |  |
| B24 | Planner | Bắt đầu | Bỏ plan |  | B25 |
| B25 | Planner | Điểm quyết định | Plan đang ở trạng thái nào? |  | B26 [DRAFT]; B27 [RELEASED] |
| B26 | Planner | Bước | Xoá Master Plan | Web · Master Plan | B28 |
| B27 | Output | Dữ liệu | Không xoá ở Master Plan — xử lý ở Work Order |  | (kết thúc) |
| B28 | Planner | Bước | Hoàn Remaining dòng SO | System (auto) · Master Plan | B29; B30 |
| B29 | Output | Dữ liệu | Remaining SO hoàn lại |  | (kết thúc) |
| B30 | Planner | Kết thúc | End |  |  |
| B31 | Planner | Bắt đầu | Cần đổi ETD |  | B32 |
| B32 | Planner | Bước | Nhập Current ETD mới | Web · Master Plan | B33 |
| B33 | Planner | Bước | Dựng Reschedule Preview | System (auto) · Master Plan | B34 |
| B34 | Planner | Điểm quyết định | Planner chọn thao tác nào? |  | B35 [Apply Reschedule]; B36 [Save as Simulation]; B37 [Cancel] |
| B35 | Planner | Bước | Áp lịch mới | System (auto) · Master Plan | B38 |
| B36 | Planner | Bước | Lưu bản Simulation | System (auto) · Master Plan | B39; B40 |
| B37 | Output | Dữ liệu | Giữ nguyên ETD và lịch công đoạn |  | (kết thúc) |
| B38 | Output | Dữ liệu | Current ETD mới + lịch công đoạn đã dời |  | (kết thúc) |
| B39 | Output | Dữ liệu | Bản Simulation · lịch thật giữ nguyên |  | (kết thúc) |
| B40 | Planner | Kết thúc | End |  |  |

### Chi tiết từng bước (nội dung hover trên sơ đồ)

#### B07 · Mở wizard Create Plan

- Planner · Web · Master Plan
- Đến từ: B06
- Đi tới: B08 · Chọn dòng size của SO

> Planner mở wizard tạo Master Plan từ danh sách plan.  
> Thao tác: Master Plan › Plan List › nút "Create Plan".  
> Hệ thống: Plan List có ô "Area" ngoài grid (All / Europe / Asia / America) để lọc plan — plan hiện khi có ít nhất một dòng SO giao tới Country thuộc Area đó; cột "Area" liệt kê Area của các SO trong plan.  
> Kết quả: mở wizard 3 bước "Sales Orders" · "Items" · "Review".  
> Kiểm thử:  
> - Lọc "Area" = Asia → chỉ còn các plan có dòng SO giao tới Country thuộc Asia  
> Chưa chốt: danh mục Area thật trong Master Data Country — prototype v0.56 dùng dữ liệu mẫu theo châu lục.  
> Nguồn: Q-20261001-04 · prototype v0.12 · v0.22 · v0.56  

#### B08 · Chọn dòng size của SO

- Planner · Web · Master Plan
- Đến từ: B02, B07
- Đi tới: B09 · Nhập Plan Qty từng dòng

> Planner chọn các dòng Sales Order theo từng size cần đưa vào plan.  
> Thao tác: Step 1 "Select SO Lines" › tick dòng; mỗi size (W5–W11) là một dòng ("Each shoe size (W5–W11) is its own item line").  
> Hệ thống: mỗi dòng hiện "ORDERED" · "REMAINING" · "PLAN QTY" và Country giao hàng · Area (Area tra theo Country trong Master Data Country); chọn được cả Internal Production Request.  
> Nguồn: BRD §6.1 · Q-20260918-29 · Q-20261001-04 · prototype v0.22 · v0.56  

#### B09 · Nhập Plan Qty từng dòng

- Planner · Web · Master Plan
- Đến từ: B08
- Đi tới: B10 · Chọn Plan Month

> Planner nhập số lượng sản xuất cho từng dòng đã chọn.  
> Thao tác: ô "PLAN QTY" của từng dòng.  
> Hệ thống: mặc định = "REMAINING" của dòng; được nhập vượt Remaining, phần dư thành Common Stock.  
> Kiểm thử:  
> - Remaining 100, nhập 120 → lưu được, Common Stock = 20  
> Nguồn: BRD §6.1 · Q-20260923-03  

#### B10 · Chọn Plan Month

- Planner · Web · Master Plan
- Đến từ: B09
- Đi tới: B11 · Gom dòng SO thành Big Plan

> Planner chọn tháng sản xuất (Plan Month) cho cả Master Plan.  
> Thao tác: Step 2 "Item Lines" › ô "Plan Month" ("Master plan is built for production month <yyyy.mm>").  
> Hệ thống: một Master Plan có đúng một Plan Month; lúc Release mọi WO của plan nhận "P.O (Month)" = Plan Month; đổi Plan Month khi plan còn DRAFT thì P.O Month đổi theo, sau Release không đổi.  
> Chặn khi: chưa chọn Plan Month → không tạo được plan.  
> Kiểm thử:  
> - Plan Month 2026.10 → mọi WO của plan có "P.O (Month)" 2026.10  
> - Cần dòng SO cho tháng 2026.11 → lập một Master Plan khác  
> Chưa chốt: câu thông báo khi chưa chọn Plan Month chưa có; prototype v0.56 chưa lưu Plan Month xuống plan / WO.  
> Nguồn: Q-20261001-03 · prototype v0.51 · v0.56  

#### B11 · Gom dòng SO thành Big Plan

- Planner · System (auto) · Master Plan
- Đến từ: B03, B10
- Đi tới: B12 · Tính Common Stock

> Hệ thống gom các dòng size đã chọn thành Big Plan của Master Plan; mỗi Big Plan sẽ thành một Work Order.  
> Hệ thống: khoá gom = Style + Model + Base Color + SPRAY/Logo + Area. Style, Model, Base Color, SPRAY/Logo là thuộc tính Item của dòng; Area là Area của Country giao hàng trên dòng SO, tra trong Master Data Country. Plan Month chung cho cả plan nên mọi Big Plan cùng tháng.  
> Kết quả: Step 2 "Item Lines" hiện mỗi Big Plan một hàng, mỗi size một cột, chip Style · Color · SPRAY/Logo · Area (Country); câu "Selected SO lines are consolidated into n Big Plan(s) by Style + Model + Base Color + SPRAY/Logo + Area".  
> Kiểm thử:  
> - Cùng Sandal Black, một SO giao DE (Europe), một SO giao JP (Asia) → 2 Big Plan  
> - Cùng Style, Model, Base Color, SPRAY/Logo, Area; khác SO hoặc khác Country trong cùng Area → 1 Big Plan  
> - Cùng Style, Model, Base Color, Area; một dòng SPRAY, một dòng Logo → 2 Big Plan  
> Chưa chốt: Country chưa gán Area thì chặn tick dòng SO — đề xuất, chưa được xác nhận; trong cùng Area, WO ghi Destination "Mixed" hay tách theo Country (OQ-12).  
> Nguồn: Q-20261001-04 · Q-20261001-02 (D1) · prototype v0.56  

#### B12 · Tính Common Stock

- Planner · System (auto) · Master Plan
- Đến từ: B11
- Đi tới: B13 · Chọn Routing cho từng Work Order

> Hệ thống tính phần sản xuất dư không gắn vào đơn nào.  
> Hệ thống: Common Stock = Plan qty − tổng số phân bổ cho các dòng SO.  
> Kết quả: phần dư đi theo Work Order sinh khi tạo plan.  
> Kiểm thử:  
> - Plan qty 500, phân bổ SO 480 → Common Stock = 20  
> Nguồn: BRD §6.1 · BRD §9  

#### B13 · Chọn Routing cho từng Work Order

- Planner · Web · Master Plan
- Đến từ: B04, B12
- Đi tới: B14 · Tính Plan From / To theo lead time

> Planner chọn Routing (chuỗi công đoạn) cho từng Work Order sẽ sinh ra.  
> Thao tác: Step 3 "Review & Create" › thẻ Work Order (WO-NEW-nn) › ô "Routing".  
> Hệ thống: mặc định = routing default của item theo Routing Mapping; đổi được sang routing khác. Bảng công đoạn: "Seq" · "Code" · "Process" · "Lead" · "Plan From" · "Plan To" · "Source".  
> Chưa chốt: routing chọn ở Step 3 chưa được lưu sang màn Work Order trên prototype (OQ-49).  
> Nguồn: prototype v0.16  

#### B14 · Tính Plan From / To theo lead time

- Planner · System (auto) · Master Plan
- Đến từ: B05, B13
- Đi tới: B15 · Có công đoạn vượt Capacity?

> Hệ thống tính ngày bắt đầu / kết thúc của từng công đoạn theo lead time.  
> Hệ thống: Plan To = Plan From + Lead Time − 1; Plan From của công đoạn kế = Plan To + Buffer Days. Đổi Routing thì bảng công đoạn dựng lại và tính lại.  
> Kiểm thử:  
> - Plan From 01/10, Lead Time 3 → Plan To 03/10  
> Nguồn: BRD §6.1 · prototype v0.16  

#### B15 · Có công đoạn vượt Capacity?

- Planner
- Đến từ: B14
- Đi tới [Có]: B16 · Đánh dấu Over capacity
- Đi tới [Không]: B17 · Tạo Master Plan

> Hệ thống so tải của từng công đoạn với năng lực máy / work center.  
> Có: tải vượt Capacity Calendar → đánh dấu Over capacity.  
> Không: tạo plan bình thường.  
> Hệ thống: Plan List có cột "Capacity" và bộ lọc nhanh "Over Capacity".  
> Nguồn: BRD §6 bước 4 · BRD §9  

#### B16 · Đánh dấu Over capacity

- Planner · System (auto) · Master Plan
- Đến từ: B15
- Đi tới: B17 · Tạo Master Plan

> Hệ thống gắn cảnh báo Over capacity lên plan.  
> Kết quả: chỉ cảnh báo, không chặn tạo plan hay Release; Planner tự quyết giảm tải hoặc vẫn phát hành.  
> Kiểm thử:  
> - Plan vượt capacity → vẫn "Create Plan" và "Release Work Order" được, có cảnh báo  
> Nguồn: Q-20260923-02 · Q-20260924-04  

#### B17 · Tạo Master Plan

- Planner · Web · Master Plan
- Đến từ: B15, B16
- Đi tới: B18 · Sinh Work Order theo Big Plan

> Planner tạo Master Plan ở trạng thái nháp.  
> Thao tác: Step 3 › nút "Create Plan".  
> Kết quả: plan → DRAFT, sửa được cho tới khi Release; hệ sinh ngay mỗi Big Plan một Work Order ở bước kế.  
> Hệ thống: Master Plan không kiểm vật tư — việc này làm ở I/J Plan · Compound Calculate.  
> Kiểm thử:  
> - Bấm "Create Plan" → plan DRAFT, toast "created as Draft — review it, then Release Work Order (no approval step)"  
> Nguồn: prototype v0.22 · v0.28 · Q-20260923-19 (E) · Q-20260924-04 · Q-20261001-04  

#### B18 · Sinh Work Order theo Big Plan

- Planner · System (auto) · Master Plan
- Đến từ: B17
- Đi tới: B19 · Phát hành Work Order

> Hệ thống sinh một Work Order cho mỗi Big Plan ngay khi Master Plan được tạo.  
> Kết quả: mỗi Big Plan một WO (số WO nối tiếp), trạng thái NOT RELEASED, mang Routing và lịch công đoạn chọn ở Step 3; Common Stock đi theo WO.  
> Hệ thống: WO mang khoá của Big Plan ("Style", "Model", "Base Color", SPRAY/Logo, Area) nên mỗi trường chỉ có một giá trị; "P.O (Month)" = Plan Month của Master Plan; "Destination" lấy Country của dòng SO, nhiều Country trong cùng Area thì ghi "Mixed"; "Start I/J Date" / "I/J ETC" = Plan From / Plan To của công đoạn Injection.  
> Kết quả: WO NOT RELEASED chưa hiện ở I/J Plan; xem được ở Plan List (icon sổ ra cột "WO") và Plan Details › tab "Work Orders".  
> Kiểm thử:  
> - Dòng SO đã chọn gom ra 7 Big Plan → "Create Plan" → Plan List sổ ra 7 WO NOT RELEASED; I/J Plan chưa có dòng nào  
> Chưa chốt: sửa plan DRAFT thì WO sinh lại hay cập nhật — chưa có nguồn; prototype v0.56 chưa ghi Plan Month xuống WO.  
> Nguồn: Q-20260924-08 · Q-20261001-03 · Q-20261001-04 · prototype v0.30 · v0.56  

#### B19 · Phát hành Work Order

- Planner · Web · Master Plan
- Đến từ: B18
- Đi tới: B20 · Chuyển WO sang I/J Plan

> Planner tự phát hành Work Order của plan — không có bước duyệt.  
> Khi nào: plan DRAFT.  
> Thao tác: nút "Release Work Order".  
> Kết quả: plan → RELEASED; mọi WO của plan NOT RELEASED → RELEASED; "P.O (Month)" của WO chốt theo Plan Month, không đổi sau Release; từ đây plan không sửa, không xoá ở Master Plan.  
> Chưa chốt: BRD §7 ghi Production Supervisor "Approve" cho "Create / revise Work Order" và "Release WO / Generate WI" — cần chốt với khách hoặc sửa BRD.  
> Kiểm thử:  
> - Plan DRAFT → bấm "Release Work Order" được ngay, không qua trạng thái chờ duyệt  
> - Plan RELEASED → không còn nút "Release Work Order"  
> Nguồn: Q-20260924-04 · Q-20261001-03 · BRD §6.1 Step 5  

#### B20 · Chuyển WO sang I/J Plan

- Planner · System (auto) · Master Plan
- Đến từ: B19
- Đi tới: B21 · Sinh plan NEW cho công đoạn có Plan

> Hệ thống đưa các Work Order vừa phát hành sang I/J Plan để lập kế hoạch ép.  
> Kết quả: mỗi WO thành một Detail Plan ở I/J Plan, kèm số Master Plan (Injection là công đoạn đầu của Routing); toast "n Work Order(s) sent to I/J Plan".  
> Hệ thống: I/J Plan gom Detail Plan vào Big Plan của I/J theo Style + Model + Base Color + Plan Month + Area, không theo SPRAY/Logo — WO SPRAY và WO Logo cùng khoá nằm chung một Big Plan I/J; Order Q'ty của Detail Plan = Q'ty theo size của WO, gồm phân bổ SO và Common Stock.  
> Kiểm thử:  
> - 2 WO cùng Style, Model, Base Color, Plan Month, Area, một SPRAY một Logo → I/J Plan có 2 Detail Plan trong cùng một Big Plan  
> - WO 1.100 đôi (phân bổ SO 1.000 + Common Stock 100) → Order Q'ty của Detail Plan 1.100  
> Nguồn: BRD §6.1 Step 5 · Q-20260924-04 · Q-20261001-02 (D3) · Q-20261001-04 · prototype v0.30  

#### B21 · Sinh plan NEW cho công đoạn có Plan

- Planner · System (auto) · Master Plan
- Đến từ: B20
- Đi tới: B22 · Plan RELEASED · Work Order RELEASED → I/J Plan (mỗi WO một Detail Plan, gom vào Big Plan I/J) + plan NEW Trimming / Spray Out / Packing + Common Stock (phần dư)
- Đi tới: B23 · End

> Hệ thống sinh sẵn plan NEW cho các công đoạn có màn Plan trong Routing của WO.  
> Kết quả: mỗi công đoạn Trimming · Spray Out · Packing có trong Routing sinh một plan NEW ("cái này tự sinh theo WO, theo routing").  
> Hệ thống: không sinh WI Injection ở bước này — WI Injection chỉ sinh khi xếp lịch ở Injection Schedule.  
> Kiểm thử:  
> - Routing không có Spray → không có plan Spray Out NEW  
> Nguồn: OQ-46 · Q-20260923-19 (G) · Q-20260924-04  

#### B25 · Plan đang ở trạng thái nào?

- Planner
- Đến từ: B24
- Đi tới [DRAFT]: B26 · Xoá Master Plan
- Đi tới [RELEASED]: B27 · Không xoá ở Master Plan — xử lý ở Work Order

> Chỉ xoá được plan chưa phát hành.  
> DRAFT: xoá plan.  
> RELEASED: không xoá ở Master Plan — xử lý ở Work Order.  
> Nguồn: Q-20260923-03 · Q-20260924-04  

#### B26 · Xoá Master Plan

- Planner · Web · Master Plan
- Đến từ: B25
- Đi tới: B28 · Hoàn Remaining dòng SO

> Planner xoá plan nháp không dùng nữa.  
> Khi nào: plan DRAFT.  
> Thao tác: Delete.  
> Kết quả: plan bị xoá.  
> Kiểm thử:  
> - Plan RELEASED → không có Delete  
> Chưa chốt: WO NOT RELEASED của plan bị xoá theo plan — đề xuất, chưa được xác nhận.  
> Nguồn: Q-20260923-03 · Q-20260924-04  

#### B28 · Hoàn Remaining dòng SO

- Planner · System (auto) · Master Plan
- Đến từ: B26
- Đi tới: B29 · Remaining SO hoàn lại
- Đi tới: B30 · End

> Hệ thống trả lại số lượng còn phải sản xuất cho các dòng SO của plan bị xoá.  
> Kết quả: "REMAINING" của từng dòng SO cộng lại đúng Plan qty đã lấy; dòng SO chọn lại được ở plan khác.  
> Kiểm thử:  
> - Dòng SO Remaining 0 (plan lấy 100) → xoá plan → Remaining 100  
> Nguồn: Q-20260923-03  

#### B32 · Nhập Current ETD mới

- Planner · Web · Master Plan
- Đến từ: B31
- Đi tới: B33 · Dựng Reschedule Preview

> Planner nhập ngày giao dự kiến mới (Current ETD) cho plan.  
> Khi nào: plan RELEASED.  
> Thao tác: Plan Details › nút "Update ETD" › "NEW CURRENT ETD *" · "RESCHEDULE SOURCE *" › "Preview Reschedule".  
> Chưa chốt: plan DRAFT dùng "Update ETD" hay sửa thẳng trên Plan Details; giữ nguyên công đoạn Frozen là đề xuất, chưa được xác nhận.  
> Nguồn: Q-20260923-05 · prototype v0.22  

#### B33 · Dựng Reschedule Preview

- Planner · System (auto) · Master Plan
- Đến từ: B32
- Đi tới: B34 · Planner chọn thao tác nào?

> Hệ thống dựng bản xem trước lịch công đoạn sau khi dời ETD.  
> Hệ thống: bảng công đoạn gồm "Has Qty?" · "Frozen" · Old / New From–To · "Change Status"; công đoạn Frozen giữ số thực tế, không tự dời ("Frozen processes keep their actuals and are never auto-rescheduled.").  
> Kiểm thử:  
> - Công đoạn đã có số lượng (Frozen) → From–To mới = From–To cũ  
> Nguồn: prototype v0.22  

#### B34 · Planner chọn thao tác nào?

- Planner
- Đến từ: B33
- Đi tới [Apply Reschedule]: B35 · Áp lịch mới
- Đi tới [Save as Simulation]: B36 · Lưu bản Simulation
- Đi tới [Cancel]: B37 · Giữ nguyên ETD và lịch công đoạn

> Planner chọn áp lịch mới, lưu thử hay huỷ.  
> Apply Reschedule: dời ETD và lịch thật.  
> Save as Simulation: chỉ lưu phương án, lịch thật giữ nguyên.  
> Cancel: bỏ, ETD và lịch giữ nguyên.  
> Nguồn: prototype v0.22  

#### B35 · Áp lịch mới

- Planner · System (auto) · Master Plan
- Đến từ: B34
- Đi tới: B38 · Current ETD mới + lịch công đoạn đã dời

> Hệ thống áp lịch mới cho plan.  
> Thao tác: nút "Apply Reschedule".  
> Kết quả: Current ETD đổi; Plan From / To của các công đoạn chưa Frozen dời theo.  
> Chưa chốt: chưa có bước Supervisor duyệt việc dời lịch — lệch BRD §7.  
> Nguồn: Q-20260923-05 · BRD §7  

#### B36 · Lưu bản Simulation

- Planner · System (auto) · Master Plan
- Đến từ: B34
- Đi tới: B39 · Bản Simulation · lịch thật giữ nguyên
- Đi tới: B40 · End

> Hệ thống lưu phương án dời lịch để xem lại, không đổi lịch thật.  
> Thao tác: nút "Save as Simulation".  
> Kết quả: có bản Simulation; Current ETD và lịch công đoạn thật giữ nguyên.  
> Nguồn: prototype v0.22  

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

#### Master Plan

`DRAFT` → `RELEASED`

Bước chuyển:

- `DRAFT` -- Release Work Order --> `RELEASED`
- `DRAFT` -- Delete --> `Đã xoá`

## Input

| # | Input | Loại | Đi vào bước |
| --- | --- | --- | --- |
| I-1 | Sales Order (dòng theo size, mang Country giao hàng) — Plan qty được vượt Remaining, phần dư thành Common Stock | Chứng từ — module Sales | Start → Create Plan: chọn dòng SO |
| I-2 | Internal Production Request | Chứng từ nội bộ | Create Plan: chọn dòng SO |
| I-5 | Country — trường Area (Area của Country giao hàng trên dòng SO) | Master data | Step 2: gom dòng SO thành Big Plan (Area nằm trong khoá gom) |
| I-3 | Item · Routing · Routing Mapping (routing default + routing thay thế của item) | Master data | Step 3 Review: chọn Routing cho từng Work Order |
| I-4 | Machine · Capacity Calendar | Master data | Tính Plan From / To theo lead time, kiểm Capacity |

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

| Bước | Vai trò | Màn hình · nút trên UI |
| --- | --- | --- |
| Mở wizard Create Plan | Planner | Master Plan · Plan List · `Create Plan` |
| Lọc plan theo Area (chỉ xem, không phải bước nghiệp vụ) | Planner | Master Plan · Plan List · ô `Area` ngoài grid (All / Europe / Asia / America) · cột `Area` |
| Chọn dòng size của SO · Nhập Plan Qty từng dòng | Planner | Master Plan · Step 1 · Select SO Lines |
| Chọn Plan Month | Planner | Master Plan · Step 2 · Item Lines · ô `Plan Month` |
| Gom dòng SO thành Big Plan · Tính Common Stock | System (auto) | Master Plan · Step 2 · Item Lines (mỗi Big Plan một hàng) |
| Chọn Routing cho từng Work Order | Planner | Master Plan · Step 3 · Review & Create (ô `Routing` của từng WO) |
| Tính Plan From / To theo lead time · Đánh dấu Over capacity (chỉ cảnh báo) | System (auto) | Master Plan · Step 3 · Review & Create |
| Tạo Master Plan | Planner | Master Plan · Step 3 · `Create Plan` |
| Xem Work Order của plan (chỉ xem, không phải bước nghiệp vụ) | Planner | Master Plan · Plan List · cột `WO` với icon sổ ra (1 plan → n WO, kèm `Process` · `Progress` · `Status`); Plan Details › tab `Work Orders` › `Process view` (cây WO → công đoạn, trạng thái và số lượng từng công đoạn) |
| Phát hành Work Order · Xoá Master Plan · Nhập Current ETD mới | Planner | Master Plan · Plan Details (`Release Work Order`, `Update ETD`) |
| Sinh Work Order theo Big Plan · Chuyển WO sang I/J Plan · Sinh plan NEW cho công đoạn có Plan · Hoàn Remaining dòng SO · Dựng Reschedule Preview · Áp lịch mới · Lưu bản Simulation | System (auto) | Master Plan (`Preview Reschedule`, `Apply Reschedule`, `Save as Simulation`) |

## Output

| # | Output | Điều kiện sinh ra |
| --- | --- | --- |
| O-2 | Plan = `RELEASED`; Work Order (mỗi Big Plan một WO, sinh lúc `Create Plan`, `NOT RELEASED`; P.O Month = Plan Month) mang Routing đã chọn chuyển `RELEASED` → I/J Plan, mỗi WO một Detail Plan kèm số Master Plan, I/J gom vào Big Plan I/J theo Style + Model + Base Color + Plan Month + Area; Order Q'ty = Q'ty WO gồm Common Stock — + plan `NEW` cho Trimming / Spray Out / Packing (theo Routing của WO) + Common Stock (phần dư). WI Injection không sinh ở đây — sinh khi xếp lịch ở Injection Schedule | Plan `DRAFT`, Planner bấm Release Work Order (không có bước duyệt) |
| O-3 | Remaining dòng SO hoàn lại | Delete plan `DRAFT` |
| O-4 | Không xoá ở Master Plan — xử lý ở Work Order | Plan đã `RELEASED` |
| O-5 | Current ETD mới + lịch công đoạn đã dời (công đoạn Frozen giữ nguyên) | Planner bấm Apply Reschedule |
| O-6 | Bản Simulation, lịch thật giữ nguyên | Planner bấm Save as Simulation |
| O-7 | Giữ nguyên ETD và lịch công đoạn | Planner bấm Cancel ở Reschedule Preview |

## Thuật ngữ

| Thuật ngữ | Nghĩa trong flow này |
| --- | --- |
| `SO` | Sales Order — đơn bán hàng, mỗi size là một dòng |
| `Internal Production Request` | Yêu cầu sản xuất nội bộ, không gắn đơn khách |
| `Plan qty` | Số lượng Planner quyết định sản xuất cho một dòng |
| `REMAINING` | Số còn phải lên plan của dòng SO |
| `Big Plan (Master Plan)` | Nhóm dòng SO cùng Style + Model + Base Color + SPRAY/Logo + Area trong một Master Plan; mỗi Big Plan thành một Work Order |
| `Area` | Trường của Master Data Country; dòng SO mang Country giao hàng, hệ suy ra Area |
| `Plan Month · P.O Month` | Tháng sản xuất Planner chọn cho cả Master Plan · tháng ghi trên WO, bằng Plan Month, không đổi sau Release |
| `SPRAY / Logo` | Thuộc tính Item cho biết hàng đi Spray hay in Logo — hai Routing khác nhau nên nằm trong khoá gom Master Plan |
| `Master Plan` | Kế hoạch tổng của một Plan Month; một Master Plan → n Big Plan → n Work Order |
| `Work Order (WO)` | Lệnh sản xuất, sinh cho mỗi Big Plan khi tạo Master Plan (NOT RELEASED), phát hành khi Release Master Plan; trạng thái xem ở Master Plan tính theo cả Routing: NOT RELEASED → RELEASED → IN PROGRESS → COMPLETED |
| `Routing` | Chuỗi công đoạn sản xuất của item; mặc định theo Routing Mapping |
| `Lead Time · Buffer Days` | Số ngày của một công đoạn · số ngày đệm trước công đoạn kế |
| `Common Stock` | Phần sản xuất dư không gắn dòng SO nào = Plan qty − tổng phân bổ SO |
| `Capacity Calendar` | Năng lực máy / work center theo ngày, dùng để cảnh báo Over capacity |
| `Current ETD` | Ngày giao dự kiến hiện hành của plan |
| `Frozen` | Công đoạn đã có số thực tế, không tự dời lịch |
| `Simulation` | Bản lưu thử phương án dời lịch, không đổi lịch thật |
